Help
RSS
API
Feed
Maltego
Contact
Domain > woundexpert.tissue-analytics.io
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-07-05
44.208.13.1
(
ClassC
)
2025-09-21
54.89.111.158
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: awselb/2.0Date: Sun, 21 Sep 2025 14:01:46 GMTContent-Type: text/htmlContent-Length: 134Connection: keep-aliveLocation: https://woundexpert.tissue-analytics.io:443/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sun, 21 Sep 2025 14:01:46 GMTContent-Type: text/htmlContent-Length: 991612Connection: keep-aliveServer: ApacheALLOW-FROM: https://apporchard.epic.comALLOW-FROM: https://apporchard.epic.comLast-Modified: Thu, 18 Sep 2025 20:32:35 GMTETag: f217c-63f1940d99ec0Accept-Ranges: bytesVary: Accept-Encoding !DOCTYPE HTML>html>head> meta charsetutf-8> meta http-equivX-UA-Compatible contentIEedge> meta nameapplication-name contentTissue Analytics Clinician Portal> meta namedescription contentTissue Analytics Clinician Portal> meta nameauthor contentDarren Smith> meta nameviewport contentwidthdevice-width, initial-scale1> link relstylesheet typetext/css hrefapp/css/reset.css /> link relstylesheet typetext/css hrefapp/css/fonts/open_sans/open_sans.css?vTAD-7407-2519.04 /> link relstylesheet typetext/css hrefapp/css/main.css?vTAD-7407-2519.04 /> link relstylesheet typetext/css hrefapp/css/embedded.css?vTAD-7407-2519.04 /> !-- pre --> script typetext/javascript srcapp/preprocess.js?vTAD-7407-2519.04>/script> !-- lib --> script typetext/javascript srcapp/lib/_compiled_lib.min.js?vTAD-7407-2519.04>/script> !-- lib setup --> script typetext/javascript srcapp/lib_setup.js?vTAD-7407-2519.04>/script> !-- TA prep --> script typetext/javascript srcapp/TA.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/content/en.js?vTAD-7407-2519.04>/script> !-- TA base models --> script typetext/javascript srcapp/models/base_models/base.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/websocket.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/request.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/fhir.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/dbdata.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/collection.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/view.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/page.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/base_models/chart.js?vTAD-7407-2519.04>/script> !-- TA data models --> script typetext/javascript srcapp/models/data_models/user.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/org.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/patient.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/patient_documentation.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/wound.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/evaluation.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/visit.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/encounter.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/note.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/formulary.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/observation.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/etiology.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/device_registration.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/facility.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/report_loader.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/admin_tool.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/language_tool.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/audit_event.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/meta_property.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/setting.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/dashboard.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/data_center_report.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/cds_alias.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/functional_property.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/functional_property_group.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/functional_property_content.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/functional_property_reference.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/cds_rule_operator.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/cds_rule.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/data_models/cds_rule_group.js?vTAD-7407-2519.04>/script> !-- TA component view models --> script typetext/javascript srcapp/models/components/modal.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/table.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/gatekeeper.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/pie_chart.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/line_graph.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/push_line_graph.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/analysis_canvas.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/analysis_layers.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/dot_tool.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/trace_tool.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/region_trace_tool.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/formulary_timeline.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/calendar_input.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/time_input.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/image_converter.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/signature_creator.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/mesh_viewer.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/camera.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/cookie_policy.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/dynamic_components.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/nav.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/patient_search.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/components/unsigned_evaluation_tab.js?vTAD-7407-2519.04>/script> !-- TA report models --> script typetext/javascript srcapp/models/report_models/pressure_injury_risk.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/report_models/data_extract_tool.js?vTAD-7407-2519.04>/script> !-- TA page view models --> script typetext/javascript srcapp/models/view_models/patient_detail.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/no_patient_detail.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/wound_detail.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/evaluation_detail.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/evaluation_report.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/tracy.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/settings.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/event_audit_log.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/user_detail.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/home.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/patient_records.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/documentation.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/admin.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/all_settings.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/reports.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/reporting.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/dashboard.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/usage_dashboard.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/clinical_dashboard.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/tools.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/settings_manager.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/language_admin.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/translations.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/error.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/cds_config.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/sanifit_qr.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/beta.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/data_center.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/view_models/data_center_report.js?vTAD-7407-2519.04>/script> !-- TA special models --> script typetext/javascript srcapp/models/special_models/helpers.js?vTAD-7407-2519.04>/script> script typetext/javascript srcapp/models/special_models/oauth.js?vTAD-7407-2519.04>/script> !-- TA main view model --> script typetext/javascript srcapp/app.js?vTAD-7407-2519.04>/script> !-- TA static data --> script typetext/javascript srcapp/static_data.js?vTAD-7407-2519.04>/script> !--if IE 9> style> .page,.spinner{transform:translateZ(0)} /style> !endif-->/head>body data-bind click: body_click, css: { shell_mode: shell_mode, desktop_view: desktop_view, tablet_view: tablet_view, mobile_view: mobile_view, is_embedded: is_embedded, is_nhwc: is_nhwc, gatekeeper_satisfied: gatekeeper().is_satisfied(), redesign: settings.enable_portal_redesign() }> div classload_status data-bindcss: {active:load_status}, text:load_status>/div> !-- ko if: !$root.is_embedded() && !$root.shell_mode() --> header data-bindcss: {debug_easteregg: debug_easteregg}> a classdebug_easteregg data-bindclick: function(){debug_easteregg_click()}>/a> !-- ko if: debug_easteregg --> a classdebug_easteregg_send data-bindclick: function(){send_page_log()}>/a> !-- /ko --> !-- ko if: !gatekeeper().is_satisfied() --> !-- ko template:{name: template_language_selector} -->!-- /ko --> !-- /ko --> !-- ko with: $root.user() --> !-- ko if: $root.is_authenticated() && selected_sub_installation() && available_installations().length > 1 --> !-- ko if: !$root.page() || !$root.page().show_installation_switcher || $root.page().show_installation_switcher() --> div classinstallation_menu data-bind css: {active: $root.installation_menu_active}, click: function(){$root.installation_menu_active(false)} > a data-bind html: selected_sub_installation().orgName + », click: function(){$root.installation_menu_active(!$root.installation_menu_active())}, clickBubble: false >/a> div classoptions> !-- ko foreach: available_installations() --> !-- ko if: $data.installationIdent ! $root.user().selected_sub_installation().installationIdent --> a data-bind html: » + $data.orgName, click: function(){$root.user().selected_sub_installation($data)} >/a> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> Main navigation -- if gatekeeper is satisfied ------------------------------------------------------------> !-- ko if: gatekeeper().is_satisfied() && nav.pages().length --> nav idmain_navigation data-bind css: { ready: nav.ready(), active: nav.active(), hamburger_mode: nav.hamburger_mode(), active_children: nav.active_children() }, style: { maxHeight: nav.active() ? Math.min($element.scrollHeight, $root.window_height() - 5) + px : 0px } > a classhamburger data-bindclick:function(){nav.active(!nav.active())}>/a> span classhamburger_card data-bindstyle: {maxHeight: ($root.window_height() - 50) + px}> !-- ko foreach: nav.pages() --> span> a data-bind text: label, css: {active: $root.active_page() $data.page}, attr: { href: $root.nav.format_href($data), target: $data.target }, click: function(d,e){ if($data.click && typeof $data.click function) $data.click(); if(!$data.children) $parent.nav.active(false); return true; }, clickBubble: false >/a> !-- ko if: $data.children && $data.children.length --> div classchildren data-bind css: {active: $root.nav.active_children() $data.label}, style: {maxHeight: $root.nav.active_children() $data.label ? $element.scrollHeight + px : 0px}, > !-- ko foreach: $data.children --> a data-bind text: label, css: {active: $root.active_page() $data.page}, attr: { href: $root.nav.format_href($data), target: $data.target }, click: function(d,e){ if($data.click && typeof $data.click function) $data.click(); $parents1.nav.active(false); $root.nav.active_children(null); return true; }, clickBubble: false >/a> !-- /ko --> /div> !-- /ko --> /span> !-- /ko --> /span> /nav> !-- /ko --> /header> !-- /ko --> !-- ko if: $root.verify_info() --> div classverify_info> !-- ko template:{name: toast_message, data: { class: $root.verify_info() ! 0 etologies found ? success : error, can_dismiss: false, message: $root.verify_info() }} -->!-- /ko --> /div> !-- /ko --> div classmain data-bindcss: {hide_page_overflow: hide_page_overflow}> !--------------------------------------------------------- -> gatekeepers -- if gatekeeper is not satisfied ------------------------------------------------------------> !-- ko if: !$root.is_embedded() || gatekeeper().step() coming_soon --> !-- ko if: !gatekeeper().is_satisfied() --> div classpage gatekeeper data-bindcss: {active:ready}, with:gatekeeper> div classsmallbox_bg>/div> !--------------------------------------------------------- -> GDPR cookie policy ------------------------------------------------------------> !-- ko if: !$root.user().cookie_policy.cookie_policy_accepted() --> div classcookie_policy data-bindwith: $root.user().cookie_policy> !-- ko if: !more_info() --> div data-bindtext: get_content(cookie_policy_basic)> This site uses cookies for functional and analytical purposes. /div> a classpolicy data-bind text: get_content(more_information_and_options), click: function(){more_info(true)} >More information and options/a> !-- /ko --> !-- ko if: more_info() --> !-- ko template:{name: template_cookie_policy} -->!-- /ko --> !-- /ko --> a classbtn data-bind css: {dodge_intercom: !more_info() && $root.intercom_available()}, text: get_content(accept_button), click: function(){cookie_policy_accepted(true)} >✓ Accept/a> /div> !-- /ko --> !--------------------------------------------------------- -> gatekeeper -- coming soon message ------------------------------------------------------------> div classsmallbox nobox sb_w500 coming_soon data-bindcss: {active:step() coming_soon}> div classlogo stylebackground-image: url(app/img/logo_white.png)>/div> h1 data-bindtext: $root.get_content(coming_soon)>Coming soon!/h1> /div> !--------------------------------------------------------- -> gatekeeper -- download mwd app ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() mwd_app}> !-- prevent get_content from complaining when not mwd --> !-- ko if: step() mwd_app --> p data-bindtext: $root.get_content(download_mwd_app)>/p> !-- /ko --> /div> !--------------------------------------------------------- -> gatekeeper -- require_necessary_cookies ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() require_necessary_cookies}> h1 data-bindtext: $root.get_content(please_enter_your_username)>Please enter your username/h1> /div> !--------------------------------------------------------- -> gatekeeper -- federated log in - username ------------------------------------------------------------> div classsmallbox nobox sb_w500 login_username data-bind css: {active: login_username,select_installation.indexOf(step()) > -1}, with: $root.user > div classlogin data-bindcss: {select_installation: $root.gatekeeper().step() select_installation}> h1 data-bindtext: $root.get_content(please_enter_your_username)>Please enter your username/h1> form data-bindsubmit:function(){login_init()} autocompleteoff> div> input typetext nameusername placeholderUsername data-bind attr: {placeholder: $root.get_content(username)}, textInput: username /> input classhoneypot tabindex-1 typetext nameemail placeholderemail data-bind attr: {placeholder: $root.get_content(email)}, textInput: honeypot /> /div> div classbutton_row> !-- ko if: $root.user().cookie_policy.allow_first_party_cookies() --> input typecheckbox data-bindchecked: remember_username /> label data-bind text: $root.get_content(remember_my_username), click: function(){remember_username(!remember_username())} > remember my username /label> !-- /ko --> button data-bind text: $root.get_content(submit), click: function(){login_init()} >Submit/button> /div> div classhide_inactive data-bindcss: {active: $root.settings.use_new_auth_module() && $root.user_api_map()$root.auth_map_key(username())}> br />br />br /> !-- ko if: $root.settings.use_new_auth_module() && $root.user_api_map() && $root.user_api_map()$root.auth_map_key(username()) --> h4 classright> span classhint data-bindtext: $root.get_content(organization_code) + :>organization code:/span> span data-bindtext: $root.user_api_map()$root.auth_map_key(username()).organization_code>/span> /h4> !-- /ko --> a classhint right data-bind text: $root.get_content(enter_a_new_organization_code), click: function(){login_init(true)} > enter a new organization code /a> /div> div classhide_inactive data-bindcss: {active: $root.gatekeeper().step() select_installation}> br />br /> select data-bind options: available_installations, optionsText: orgName, optionsValue: $data, optionsCaption: $root.get_content(please_select_an_org), value: selected_installation >/select> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> !-- a hrefhttps://www.nethealth.com/lp/wound-care-tissue-analytics-the-state-of-wound-care/ target_blank> img classbanner src/app/img/banners/next_2025.png altNEXT 2025 /> /a> --> /div> !-- ko if: login_username,select_installation.indexOf(step()) > -1 --> div classmedical_device_label data-bindcss: {lower: $root.user().cookie_policy.cookie_policy_accepted()}> a classhint data-bind text: $root.get_content(medical_device_label), click: function(){$root.gatekeeper().show_medical_device_label()} > Medical Device Label /a> /div> !-- /ko --> !--------------------------------------------------------- -> gatekeeper -- federated log in - organization code ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bind css: {active: step() login_organization_code}, with: $root.user > div classlogin> h1 data-bindtext: $root.get_content(please_enter_your_organization_code)>Please enter your organization code/h1> form data-bindsubmit:function(){login_submit_organization_code(true)} autocompleteoff> div> input typetext nameorganization_code placeholderOrganization Code data-bind attr: {placeholder: $root.get_content(organization_code)}, textInput: organization_code /> /div> a classhint left data-bind text: $root.get_content(back), click: function(){ $root.gatekeeper().additional_organization_code(false); logout(); } > back /a> div classforgot_password> a data-bind text: $root.get_content(forgot_registration_code), click: function(){ error_msg(null); forgot_registration_code(true); } > forgot registration code /a> /div> div classbutton_row> button data-bind text: $root.get_content(submit), click: function(){ login_submit_organization_code(true); } >Submit/button> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> /div> !--------------------------------------------------------- -> gatekeeper -- federated log in - password ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active: step() login_password}, with: $root.user> !-- ko if: installationLogo --> div classlogo data-bindstyle: {backgroundImage: url( + installationLogo() + )}>/div> !-- /ko --> !-- ko if: !installationLogo() && installationOrgName() --> h1 classorg_name data-bindtext: installationOrgName>/h1> !-- /ko --> h1 data-bindtext: $root.get_content(please_enter_your_password)>Please enter your password/h1> form data-bindsubmit:function(){login()} autocompleteoff> div> input typepassword namepassword placeholderPassword data-bind attr: {placeholder: $root.get_content(password)}, textInput: password /> /div> a classhint left data-bind text: $root.get_content(back), click: function(){logout()} > back /a> div classforgot_password> a data-bind text: $root.get_content(forgot_password), click: function(){ error_msg(null); forgot_password(true); } > forgot password /a> /div> div classbutton_row> button data-bind text: $root.get_content(submit), click: function(){login()} >Submit/button> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- select installation ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bind css: {active: step() select_sub_installation}, with: $root.user > div classlogin> h1 data-bindtext: $root.get_content(please_select_an_org)>Please select an organization/h1> form autocompleteoff> !-- ko if: !selected_sub_installation() --> select data-bind options: available_installations, optionsText: orgName, optionsValue: $data, optionsCaption: $root.get_content(please_select_an_org), value: selected_sub_installation >/select> !-- /ko --> a classhint left data-bind text: $root.get_content(back), click: function(){logout()} > back /a> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> /div> !--------------------------------------------------------- -> gatekeeper -- log in ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() login}, with: $root.user> h1>/h1> form data-bindsubmit:function(){login()} autocompleteoff> div> input typetext nameusername placeholderUsername data-bind attr: {placeholder: $root.get_content(username)}, textInput: username /> /div> div> input typepassword namepassword placeholderPassword data-bind attr: {placeholder: $root.get_content(password)}, textInput: password /> /div> div classforgot_password> a data-bind text: $root.get_content(forgot_password), click: function(){ error_msg(null); forgot_password(true); } > forgot password /a> /div> div classbutton_row> input typecheckbox data-bindchecked: remember_username /> label data-bind text: $root.get_content(remember_my_username), click: function(){remember_username(!remember_username())} > remember my username /label> button data-bind text: $root.get_content(log_in), click: function(){login()} >Log In/button> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- forgot registration code ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() forgot_registration_code}, with: $root.user> h1 data-bindtext: $root.get_content(forgot_registration_code)>Forgot Registration Code/h1> form data-bindsubmit: forgot_registration_code_submit autocompleteoff> p data-bindtext: $root.get_content(please_enter_your_username)>Please enter your username/p> div> input typetext placeholderUsername data-bind attr: {placeholder: $root.get_content(username)}, textInput: username /> /div> p data-bindtext: $root.get_content(please_enter_your_organization_name)>Please enter your organization_name/p> div> input typetext placeholderOrganization_name data-bind attr: {placeholder: $root.get_content(organization_name)}, textInput: organization_name /> /div> a classhint left data-bind text: $root.get_content(back), click: function(){forgot_registration_code(false)} > back /a> div classbutton_row> button data-bind text: $root.get_content(submit), click: forgot_registration_code_submit >Submit/button> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- forgot password ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() forgot_password}, with: $root.user> h1 data-bindtext: $root.get_content(forgot_password)>Forgot Password/h1> form data-bindsubmit:forgot_password_submit autocompleteoff> p data-bindtext: $root.get_content(please_enter_your_email_address)>Please enter your email address/p> div> input typetext placeholderEmail data-bind attr: {placeholder: $root.get_content(email)}, textInput: email /> /div> a classhint left data-bind text: $root.get_content(back), click: function(){forgot_password(false)} > back /a> div classbutton_row> button data-bind text: $root.get_content(submit), click:forgot_password_submit >Submit/button> /div> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- forgot password email submit success message ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() forgot_password_success}, with: $root.user> h1 data-bindtext: $root.get_content(success)>Success/h1> p data-bindtext: $root.get_content(password_reset_instructions)> Password reset instructions have been sent to your email address /p> div classbutton_row> button data-bind text: $root.get_content(okay), click: function(){forgot_password_success(false)} >Okay/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- access policy ------------------------------------------------------------> div classsmallbox nobox data-bindcss: {active:step() access_policy}> h1 data-bindtext: $root.get_content(access_policy)>Access Policy/h1> div classpre data-bindtext: $root.org().portalAccessPolicy()>/div> div classbutton_row> button data-bind text: $root.get_content(i_accept), click:function(){agree_to_access_policy(true)} >I accept/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- create password ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() create_password}, with: $root.user> h1 data-bindtext: $root.get_content(welcome_to)>Welcome to Tissue Analytics!/h1> form data-bindsubmit:update_password> p data-bindtext: $root.get_content(please_create_a_password)> Please create a password to activate your account /p> div> input typepassword placeholderNew Password data-bind attr: {placeholder: $root.get_content(new_password)}, textInput: new_password /> /div> div> input typepassword placeholderConfirm New Password data-bind attr: {placeholder: $root.get_content(confirm_new_password)}, textInput: new_password_confirm /> /div> div classhint data-bindtext:$root.org().pw_policy_description()>/div> div classbutton_row> button data-bind text: $root.get_content(save), click: update_password >Save/button> /div> div classerror_msg data-bindhtml:change_password_error_msg,css: {active:change_password_error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- passthough to portal create password success message ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bind css: { active: step() password_create_success_portal || step() password_create_success_ }, with: $root.user > h1 data-bindtext: $root.get_content(success)>Success/h1> p data-bindtext: $root.get_content(your_password_has_been_set)>Your password has been set/p> div classbutton_row> button data-bind text: $root.get_content(okay), click:function(){ logout(); password_create_success(null); $root.hash({page:home}, null, true); }>Okay/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- create password success message with no further action ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bind css: { active: step() password_create_success_pickle }, with: $root.user > h1 data-bindtext: $root.get_content(password_saved)>Password Saved/h1> p data-bindtext: $root.get_content(account_active_msg)> Your account is now active and you may begin using the app immediately /p> /div> !--------------------------------------------------------- -> gatekeeper -- create password success message with app links ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bind css: { active: step() password_create_success_create || step() password_create_success_download }, with: $root.user > h1 data-bindtext: $root.get_content(password_saved)>Password Saved/h1> p data-bindtext: $root.get_content(account_active_msg) + :> Your account is now active and you may begin using the app immediately: /p> div classapp_links> !-- ko if: $root.user().play_store_link() --> a classicon play_store data-bindattr:{href:$root.user().play_store_link()}>/a> !-- /ko --> !-- ko if: $root.user().app_store_link() --> a classicon app_store data-bindattr:{href:$root.user().app_store_link()}>/a> !-- /ko --> /div> div classbutton_row center> span data-bindtext: $root.get_content(or_check_out_portal)>Or check out our web portal:/span> button data-bind text: $root.get_content(launch_web_portal), click:function(){ logout(); password_create_success(null); $root.hash({page:home}, null, true); } >Launch Web Portal/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- reset password ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() reset_password}, with: $root.user> h1 data-bindtext: $root.get_content(reset_password)>Reset Password/h1> form data-bindsubmit:update_password> p data-bindtext: $root.get_content(please_create_new_password)>Please create a new password/p> div> input typepassword placeholderNew Password data-bind attr: {placeholder: $root.get_content(new_password)}, textInput: new_password /> /div> div> input typepassword placeholderConfirm New Password data-bind attr: {placeholder: $root.get_content(confirm_new_password)}, textInput: new_password_confirm /> /div> div classhint data-bindtext: $root.org().pw_policy_description()>/div> div classbutton_row> button data-bind text: $root.get_content(save), click: update_password >Save/button> /div> div classerror_msg data-bindhtml: change_password_error_msg, css: {active:change_password_error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- require password change ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() change_password}, with: $root.user> h1 data-bindtext: $root.get_content(password_expired)>Password Expired/h1> form data-bindsubmit:update_password> p data-bindtext: $root.get_content(please_create_new_password)>Please create a new password/p> div> input typepassword placeholderCurrent Password data-bind attr: {placeholder: $root.get_content(current_password)}, textInput: password /> /div> div> input typepassword placeholderNew Password data-bind attr: {placeholder: $root.get_content(new_password)}, textInput: new_password /> /div> div> input typepassword placeholderConfirm New Password data-bind attr: {placeholder: $root.get_content(confirm_new_password)}, textInput: new_password_confirm /> /div> div classhint data-bindtext: $root.org().pw_policy_description()>/div> div classbutton_row> button data-bind text: $root.get_content(save), click: update_password >Save/button> /div> div classerror_msg data-bindhtml: error_msg, css: {active:error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- require password change success message ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() password_reset_success}, with: $root.user> h1 data-bindtext: $root.get_content(success)>Success/h1> p data-bindtext: $root.get_content(your_password_has_been_changed)>Your password has been changed/p> div classbutton_row> button data-bind text: $root.get_content(okay), click:function(){ logout(); password_reset_success(null); $root.hash({page:home}, null, true); }>Okay/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- require username change ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() change_username}, with: $root.user> form data-bindsubmit:update_username> p data-bindtext: $root.get_content(please_create_new_username) + :>Our login requirements have recently changed. Please create a new username:/p> div> input typetext placeholderNew Username data-bind attr: {placeholder: $root.get_content(new_username)}, textInput: new_username /> /div> div classbutton_row> button data-bind text: $root.get_content(save), click: update_username >Save/button> /div> div classerror_msg data-bindhtml: change_username_error_msg, css: {active:change_username_error_msg}>/div> /form> /div> !--------------------------------------------------------- -> gatekeeper -- require username change success message ------------------------------------------------------------> div classsmallbox nobox sb_w500 data-bindcss: {active:step() username_reset_success}, with: $root.user> h1 data-bindtext: $root.get_content(success)>Success/h1> p data-bindtext: $root.get_content(your_username_has_been_changed)>Your username has been changed/p> div classbutton_row> button data-bind text: $root.get_content(okay), click:function(){ username_reset_success(null); }>Okay/button> /div> /div> !--------------------------------------------------------- -> gatekeeper -- intro -- optional, may be turned off in settings ------------------------------------------------------------> div classsmallbox data-bindcss: {active:step() intro}> h1 data-bindtext: $root.get_content(welcome)>Welcome/h1> p> This is the introduction page. It can be shown as one of the gatekeepers. It may be permanently dismissed by the user. This page may easily be turned off. /p> div classbutton_row> input typecheckbox data-bindchecked: always_skip_intro /> label data-bind text: $root.get_content(dont_show_this_again), click: function(){always_skip_intro(!always_skip_intro())} >dont show this again/label> a classbtn data-bind text: $root.get_content(got_it), click:function(){hide_intro(true)} >got it/a> /div> /div> /div> !-- /ko --> !-- /ko --> !-- ko if: is_embedded() && show_embedded_launch_log() && !gatekeeper().is_satisfied() --> div classembedded_launch_log data-bindcss: {active: show_embedded_launch_log()}> a data-bindclick: function(){show_embedded_launch_log(false)}>X/a> div data-bindhtml: ul>li> + $root.embedded_launch_log().join(/li>li>) + /li>/ul>>/div> !-- ko if: show_embedded_launch_log_dismiss() --> a classbtn data-bindclick: function(){show_embedded_launch_log_dismiss_fuction()}>continue/a> !-- /ko --> /div> !-- /ko --> !--------------------------------------------------------- -> Main content area -- if gatekeeper is satisfied ------------------------------------------------------------> div classpage_wrapper data-bindcss: {active: gatekeeper().is_satisfied()}> !-- ko if: gatekeeper().is_satisfied() --> !-- ko if: $root.shell_mode() --> div classpage active> div idct_app classdynamic_component ct_app dynamic_component_typect_app dynamic_component_payload%7B%22id%22%3A%22dynamic_component_ct_app%22%7D match_idct_app> /div> /div> !-- /ko --> !-- ko if: !$root.shell_mode() --> !--------------------------------------------------------- -> beta -- test page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() beta && page()}> !-- ko if: active_page() beta && page() --> !-- ko with: page --> div classpage_content> div idbeta classbeta> a classbtn screen_only data-bindclick: function(){mode(tracy_widget)}>tracy widget/a> a classbtn screen_only data-bindclick: function(){mode(multiframes)}>multiframes/a> !-- ko if: mode() tracy_widget --> div idtracy_widget>/div> !-- /ko --> !-- ko if: mode() multiframes --> style> #multiframes iframe { width: 100%; } @media print { #screen_frame { display: none; } } #multiframes .print_frame { height: 0; overflow: hidden; break-inside: avoid-page; } @media print { #multiframes .print_frame { height: auto; } } /style> div idmultiframes> div idfilmstrip_frame_container classprint_frame>/div> div idthreecard_frame_container classprint_frame>/div> div idhistory_frame_container classprint_frame>/div> /div> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> sanifit_qr -- sanifit qr page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() sanifit_qr && page()}> !-- ko if: active_page() sanifit_qr && page() --> !-- ko with: page --> div classpage_content> div idct_sanifit_qr classct_sanifit_qr dynamic_component dynamic_component_typesanifit_qr_page dynamic_component_payload%7B%22id%22%3A%22dynamic_component_sanifit_qr_page%22%7D match_idsanifit_qr> Sanifit QR /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> home -- default page -- functionality for landing page ------------------------------------------------------------> !--------------------------------------------------------- -> template_patient_list_paging: global data: view_model_patient_search ------------------------------------------------------------> script typetext/html idtemplate_patient_list_paging> div classpaging> !-- ko if: patient_list().length --> a classarrow first titlego to first page data-bind attr: {title: $root.get_content(go_to_first_page)}, css: {active: page() > 0}, click: function(){page(0)} >/a> a classarrow previous titlego to previous page data-bind attr: {title: $root.get_content(go_to_previous_page)}, css: {active: page() > 0}, click: function(){page(Math.max(0, page() - 1))} >/a> span data-bindtext: $root.get_content(page_n_of_n).replace(page number, page() + 1).replace(page count, page_count()) >/span> a classarrow next titlego to next page data-bind attr: {title: $root.get_content(go_to_next_page)}, css: {active: page() page_count() - 1}, click: function(){page(Math.min(page_count() - 1, page() + 1))} >/a> a classarrow last titlego to last page data-bind attr: {title: $root.get_content(go_to_last_page)}, css: {active: page() page_count() - 1}, click: function(){page(page_count() - 1)} >/a> !-- /ko --> /div> /script> div classpage data-bindcss: {active: active_page() home && page()}> !-- ko if: active_page() home && page() && page().ta_model view_model_home --> !-- ko with: page --> div classpage_content> div classhome> nav classtabs> !-- ko if: !$root.user().is_search_only() --> h1 classtab data-bind text: $root.get_content(patients_by_date), css: {active: active_list() calendar}, click: function(){active_list(calendar)} >Patients by Date/h1> !-- /ko --> !-- ko if: $root.settings.unsigned_evaluations_page() --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> h1 classtab data-bind text: $root.get_content(unsigned_evaluations), css: {active: active_list() unsigned_evaluations}, click: function(){active_list(unsigned_evaluations)} >Unsigned Evaluations/h1> !-- /ko --> !-- /ko --> !-- /ko --> h1 classtab data-bind text: $root.get_content(all_patients), css: {active: active_list() search}, click: function(){active_list(search)} >All Patients/h1> !-- ko if: !$root.settings.disable_patient_creation() && !$root.user().is_read_only() --> !-- ko if: !$root.settings.enable_portal_redesign() --> h1 classtab data-bind text: $root.get_content(add_new_patient), click: function(){hash({page:patient_detail})} >Add New Patient/h1> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> a classlink data-bind text: $root.get_content(add_new_patient), click: function(){hash({page:patient_detail})} >Add New Patient/a> !-- /ko --> !-- /ko --> /nav> div classtab_content patient_search_tab data-bindcss: {active: active_list() search}> header classshadowbox patient_search data-bind click: function(){active_list(search)}, with: patient_search > form data-bind click: function(){ $root.page().active_list(search); facility_filter_active(false); }, clickBubble:false > span classcore_form> !-- ko template:{name: template_facility_filter, data: {user: $root.user(), parent: $data}} -->!-- /ko --> !-- ko if: !$root.settings.global_hide_name() --> input typetext data-bind textInput: searchTerm, attr:{placeholder: $root.get_content(patient_search_placeholder)} /> !-- /ko --> button data-bind click:function(){search()}, text: search_button_text >/button> /span> span classtoggles> !-- ko if: $root.settings.patient_accounts() --> label classcb_label only_patient_users data-bindclick: function(){only_patient_users(!only_patient_users())}> input typecheckbox data-bindchecked: only_patient_users /> span data-bindtext: $root.get_content(patient_app_users_only)>Patient app users only/span> /label> !-- /ko --> !-- ko if: !$root.user().has_role(blinded_reviewer) --> label classcb_label include_discharged data-bindclick: function(){include_discharged(!include_discharged())}> input typecheckbox data-bindchecked: include_discharged /> span data-bindtext: $root.get_content(include_discharged_patients)>Include discharged patients/span> /label> !-- /ko --> label classcb_label include_inactive data-bindclick: function(){include_inactive(!include_inactive())}> input typecheckbox data-bindchecked: include_inactive /> span data-bindtext: $root.get_content(include_inactive_patients)>Include inactive patients/span> /label> /span> /form> /header> !-- search results --> !-- ko if: !$root.settings.enable_portal_redesign() --> div idsearch_patient_list_wrapper classpatient_list_wrapper search_patient_list_wrapper data-bind css: {active: active_list() search && ready()} > div classpatient_search_feedback_wrapper data-bind click: function(){active_list(search)}, css: {working: !patient_search.ready()} > div classbreadcrumbs data-bindwith: patient_search> !-- ko if: has_search_terms() && ready() --> a data-bindclick: function(){reset()}> span data-bindtext: $root.get_content(reset)>reset/span> /a> !-- /ko --> span data-bindhtml: breadcrumbs>/span> /div> !-- ko if: !patient_search.ready() --> strong classtally> span data-bindtext: $root.get_content(loading_patients)>Loading patients/span>... /strong> !-- /ko --> !-- ko if: patient_search.have_searched() && patient_search.ready() --> strong classtally> span data-bindtext: patient_search.result_count_text>/span> select data-bindvalue: $root.page().patient_search.page_size> option value10 data-bindtext: $root.get_content(number_per_page).replace(number, 10)>10 per page/option> option value25 data-bindtext: $root.get_content(number_per_page).replace(number, 25)>25 per page/option> option value50 data-bindtext: $root.get_content(number_per_page).replace(number, 50)>50 per page/option> option value100 data-bindtext: $root.get_content(number_per_page).replace(number, 100)>100 per page/option> /select> /strong> !-- ko template:{name: template_patient_list_paging, data: patient_search} -->!-- /ko --> !-- ko if: !$root.desktop_view() && !$root.settings.disable_phi() --> div classsorting> span data-bindtext: $root.get_content(sort)>Sort/span> select data-bindvalue: patient_search.sort_by> !-- ko if: !$root.settings.global_hide_name() --> option valuename_asc data-bindtext: $root.get_content(name) + \u02C4>name ˄/option> option valuename_desc data-bindtext: $root.get_content(name) + \u02C5>name ˅/option> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> option valuedob_asc data-bindtext: $root.get_content(dob) + \u02C4>DOB ˄/option> option valuedob_desc data-bindtext: $root.get_content(dob) + \u02C5>DOB ˅/option> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> option valuemrn_asc data-bindtext: $root.get_content(mrn) + \u02C4>MRN ˄/option> option valuemrn_desc data-bindtext: $root.get_content(mrn) + \u02C5>MRN ˅/option> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> option valuelast_seen_asc data-bindtext: $root.get_content(last_seen) + \u02C4>last seen ˄/option> option valuelast_seen_asc data-bindtext: $root.get_content(last_seen) + \u02C5>last seen ˅/option> !-- /ko --> /select> /div> !-- /ko --> !-- /ko --> /div> section classlist data-bindwith: patient_search> !-- ko if: patient_list().length --> table classdisplay clickable selectable accordion_table patient_list data-bind descendantsComplete: function(){ setTimeout(function(){ var page $root.page(); if(page.resize_all_accordions) page.resize_all_accordions(); if(page.set_patient_list_max_height) page.set_patient_list_max_height(); },100); }, css: {mobile_view: $root.mobile_view} > thead> tr> th> span classsortlink data-bind text: $root.get_content(patient), click: function(){ $data.sort_by($data.sort_by() name_asc ? name_desc : name_asc) }, css: { asc: $data.sort_by() name_asc, desc: $data.sort_by() name_desc } >Patient/span> /th> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.hide_dob() --> th classsortlink data-bind visible: $root.desktop_view(), text: $root.get_content(dob), click: function(){ $data.sort_by($data.sort_by() dob_asc ? dob_desc : dob_asc) }, css: { asc: $data.sort_by() dob_asc, desc: $data.sort_by() dob_desc } >DOB/th> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> th classsortlink data-bind visible: $root.desktop_view(), click: function(){ $data.sort_by($data.sort_by() mrn_asc ? mrn_desc : mrn_asc) }, css: { asc: $data.sort_by() mrn_asc, desc: $data.sort_by() mrn_desc } > span data-bindtext: $root.get_content(mrn)>MRN/span> /th> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> th classrotating_column data-bindcss: {active: $data.sort_by_date_type() last_seen}> span classsortlink data-bind text: $root.get_content(last_seen), click: function(){ $data.sort_by( $data.sort_by() last_seen_desc ? last_seen_asc : last_seen_desc ) }, css: { asc: $data.sort_by() last_seen_asc, desc: $data.sort_by() last_seen_desc } >Last Seen/span> !-- ko if: $root.settings.sort_patient_list_by_note_date() || $root.settings.sort_patient_list_by_created() --> a classarrow titlemore date options data-bind attr: {title: $root.get_content(more_date_options)}, click: function(){ if($root.settings.sort_patient_list_by_note_date()){ $data.sort_by_date_type(last_note); } else { $data.sort_by_date_type(created); } } >»/a> !-- /ko --> /th> !-- ko if: $root.settings.sort_patient_list_by_note_date() --> th classrotating_column data-bindcss: {active: $data.sort_by_date_type() last_note}> span classsortlink data-bind text: $root.get_content(last_note), click: function(){ $data.sort_by( $data.sort_by() last_note_desc ? last_note_asc : last_note_desc ) }, css: { asc: $data.sort_by() last_note_asc, desc: $data.sort_by() last_note_desc } >Last Note/span> a classarrow titlemore date options data-bind attr: {title: $root.get_content(more_date_options)},, click: function(){ if($root.settings.sort_patient_list_by_created()){ $data.sort_by_date_type(created); } else { $data.sort_by_date_type(last_seen); } } >»/a> /th> !-- /ko --> !-- ko if: $root.settings.sort_patient_list_by_created() --> th classrotating_column data-bindcss: {active: $data.sort_by_date_type() created}> span classsortlink data-bind click: function(){ $data.sort_by( $data.sort_by() created_literal_desc ? created_literal_asc : created_literal_desc ) }, css: { asc: $data.sort_by() created_literal_asc, desc: $data.sort_by() created_literal_desc } >Created/span> a classarrow titlemore date options data-bind attr: {title: $root.get_content(more_date_options)},, click: function(){$data.sort_by_date_type(last_seen)} >»/a> /th> !-- /ko --> !-- ko if: $root.settings.patient_accounts() --> th classpatient_user>/th> !-- /ko --> !-- /ko --> /tr> /thead> tbody data-bindforeach: patient_list()> tr classparent patient> td> a classcelllink data-bindattr: {href: $root.page().patient_detail_link($data)}>/a> a classicon_folder data-bindattr: {href: $root.page().patient_detail_link($data)}>/a> !-- ko if: $root.settings.disable_phi() --> span data-bindtext: $data.patientId>/span> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> span data-bind css: {inactive: !$data.active}, html: $root.page().fullname($data, true) + ($data.active ? : span>( + $root.get_content(inactive) + )/span>) >/span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() -->!-- if name is hidden, this is where MRN takes its place --> span data-bindtext: $data.medicalRecordNumber>/span> !-- /ko --> div classhint patient_secondary departments data-bindtext: $data.departments.join(, )>/div> div classhint patient_secondary data-bindvisible: !$root.desktop_view()> !-- ko if: !$root.settings.hide_dob() --> span> strong data-bindtext: $root.get_content(dob)>DOB/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date($data.dateOfBirth)>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: $data.dateOfBirth ? $data.dateOfBirth.split(-)0 : >/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> span> strong data-bindtext: $root.get_content(mrn)>MRN/strong> span data-bindtext: $data.medicalRecordNumber>/span> /span> !-- /ko --> /div> !-- /ko --> /td> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.hide_dob() --> td data-bindvisible: $root.desktop_view()> a classcelllink data-bindattr:{href: $root.page().patient_detail_link($data)}>/a> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date($data.dateOfBirth)>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: $data.dateOfBirth ? $data.dateOfBirth.split(-)0 : >/span> !-- /ko --> /td> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> td data-bindvisible: $root.desktop_view()> a classcelllink data-bindattr:{href: $root.page().patient_detail_link($data)}>/a> span data-bindtext: $data.medicalRecordNumber>/span> /td> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> td classrotating_column data-bindcss: {active: $parent.sort_by_date_type() last_seen}> a classcelllink data-bindattr:{href: $root.page().patient_detail_link($data)}>/a> span classdate_primary data-bindhtml: $root.page().formatted_date_and_time($data.mostRecentEvaluationDate)>/span> !-- ko if: !$root.settings.hide_most_recent_evaluator_name() --> div classhint date_secondary data-bindtext: $data.mostRecentEvaluatorName>/div> !-- /ko --> /td> !-- ko if: $root.settings.sort_patient_list_by_note_date() --> td classrotating_column data-bindcss: {active: $parent.sort_by_date_type() last_note}> a classcelllink data-bindattr:{href: $root.page().patient_detail_link($data)}>/a> span data-bindhtml: $root.page().formatted_date_and_time($data.lastNote)>/span> /td> !-- /ko --> !-- ko if: $root.settings.sort_patient_list_by_created() --> td classrotating_column data-bindcss: {active: $parent.sort_by_date_type() created}> a classcelllink data-bindattr:{href: $root.page().patient_detail_link($data)}>/a> span data-bindhtml: $root.page().formatted_date_and_time($data.evalCreatedLiteral)>/span> /td> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.patient_accounts() --> td classpatient_user> a classcelllink data-bind attr:{ href: $root.page().patient_detail_link($data), title: $data.userId ? $root.get_content(patient_app_access) : }>/a> !-- ko if: $data.userId --> span classicon_phone>/span> !-- /ko --> /td> !-- /ko --> /tr> /tbody> /table> !-- /ko --> /section> !-- ko if: patient_search.patient_list().length --> footer classpatient_search_feedback_wrapper> !-- ko template:{name: template_patient_list_paging, data: patient_search} -->!-- /ko --> /footer> !-- /ko --> /div> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: patient_search.patient_table() --> !-- ko template:{name: template_nhsg_table, data: patient_search.patient_table()} -->!-- /ko --> !-- ko template:{name: template_nhsg_pagination, data: { page_size: patient_search.page_size, page: patient_search.page, allow_all: false, total_count: patient_search.result_count } } -->!-- /ko --> !-- /ko --> !-- /ko --> /div> !-- ko if: !$root.user().is_search_only() --> div classtab_content unsigned_evaluations_tab data-bindcss: {active: active_list() unsigned_evaluations}> header classshadowbox unsigned_evaluations data-bind click: function(){active_list(unsigned_evaluations)}, with: unsigned_evaluation_tab > form data-bind click: function(){ $root.page().active_list(unsigned_evaluations); facility_filter_active(false); multiselect_menu_active(null); }, clickBubble:false > span classcore_form> label> !-- ko template:{ name: template_facility_filter, data: {user: $root.user(), parent: $data} } -->!-- /ko --> /label> !-- ko if: $data.users() && $data.users().length --> div classaccordion_multiselect clinician_selector hot_search data-bind css: {active: multiselect_menu_active() clinicians}, click: function(){ multiselect_menu_active() clinicians ? multiselect_menu_active(null) : multiselect_menu_active(clinicians) }, clickBubble: false > input classhot_search_input typetext data-bind textInput: clinician_filter, click: function(){multiselect_menu_active(clinicians)}, clickBubble: false /> !-- ko if: !clinician_filter() --> span classplaceholder data-bindtext: clinician_selector_text>All Clinicians/span> !-- /ko --> a classaccordion_arrow active data-bind click: function(){ multiselect_menu_active() clinicians ? multiselect_menu_active(null) : multiselect_menu_active(clinicians) }, clickBubble: false >/a> ul idclinicians_multiselect_menu_dropdown classaccordion data-bind descendantsComplete: function(){multiselect_menu_active.notifySubscribers(multiselect_menu_active())}, style: {maxHeight: multiselect_menu_active() clinicians ? Math.min($element.scrollHeight, $root.window_height() - 220) + px : 0px}, click: function(){}, clickBubble: false > !-- ko foreach: $data.filtered_users --> li> label classcb_label data-bindclick: function(){$parent.select_user_ids($data.userId)}> input typecheckbox data-bind checked: $parent.userIds().indexOf($data.userId) ! -1 > span data-bindtext: $data.lastName, $data.firstName.join(, )>/span> /label> /li> !-- /ko --> /ul> /div> !-- /ko --> /span> span classtoggles> !-- ko if: date_filter_type() single --> !-- ko template:{name: template_calendar_input, data: $data.calendar_input} -->!-- /ko --> !-- /ko --> !-- ko if: date_filter_type() range --> !-- ko template:{name: template_calendar_input, data: $data.start_calendar_input} -->!-- /ko --> – !-- ko template:{name: template_calendar_input, data: $data.end_calendar_input} -->!-- /ko --> !-- /ko --> label classcb_label data-bindclick: function(){date_filter_type(single)}> input typeradio valuesingle data-bindchecked: date_filter_type /> span data-bindtext: $root.get_content(single_date)>Single Date/span> /label> label classcb_label data-bindclick: function(){date_filter_type(range)}> input typeradio valuerange data-bindchecked: date_filter_type /> span data-bindtext: $root.get_content(date_range)>Date Range/span> /label> /span> /form> /header> !-- search results --> !-- ko if: patient_search.patient_table() --> !-- ko template:{name: template_nhsg_table, data: unsigned_evaluation_tab.evaluation_table()} -->!-- /ko --> !-- ko template:{name: template_nhsg_pagination, data: { page_size: unsigned_evaluation_tab.page_size, page: unsigned_evaluation_tab.page, allow_all: false, total_count: unsigned_evaluation_tab.result_count } } -->!-- /ko --> !-- /ko --> /div> div classtab_content patient_calendar_tab data-bindcss: {active:active_list() calendar}> !-- calendar header --> header classshadowbox data-bindclick: function(){active_list(calendar)}> !-- ko template:{name: template_facility_filter, data: {user: $root.user(), parent: $root.page()}} -->!-- /ko --> !-- ko if: !$root.settings.disable_sign_and_lock() --> label classcb_label unsigned_toggle data-bindclick: function(){$root.page().hide_signed_evals(!$root.page().hide_signed_evals())}> input typecheckbox data-bindchecked: $root.page().hide_signed_evals /> span data-bindtext: $root.get_content(hide_signed_evaluations)>Hide Signed Evaluations/span> /label> !-- /ko --> !-- ko if: $root.settings.patient_accounts() --> !-- adding comments to make this look different to GIT --> label classcb_label unsigned_toggle data-bindclick: function(){$root.page().patient_submitted(!$root.page().patient_submitted())}> !-- adding comments to make this look different to GIT --> input typecheckbox data-bindchecked: $root.page().patient_submitted /> !-- adding comments to make this look different to GIT --> span data-bindtext: $root.get_content(patient_submitted)>Patient Submitted/span> !-- adding comments to make this look different to GIT --> /label> !-- adding comments to make this look different to GIT --> !-- /ko --> !-- ko template:{name: template_calendar_input, data: $data.calendar_input} -->!-- /ko --> /header> !-- calendar results --> div idcalendar_patient_list_wrapper classpatient_list_wrapper data-bindcss: {active: active_list() calendar}> section classlist> !-- ko if: ready() --> !-- ko if: !calendar_input.limit_to_dates().length --> table classdisplay accordion_table patient_list data-bind descendantsComplete: function(){ setTimeout(function(){ var page $root.page(); if(page.resize_all_accordions) page.resize_all_accordions(); if(page.set_patient_list_max_height) page.set_patient_list_max_height(); },100); } > tr> td data-bindtext: $root.get_content(no_evaluations)>No Evaluations/td> /tr> /table> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: calendar_input.limit_to_dates().length && patient_list() --> !-- ko if: !patient_list() || !patient_list().length --> table classdisplay accordion_table patient_list data-bind descendantsComplete: function(){ setTimeout(function(){ var page $root.page(); if(page.resize_all_accordions) page.resize_all_accordions(); if(page.set_patient_list_max_height) page.set_patient_list_max_height(); },100); } > tr> td data-bindtext: $root.get_content(no_results_msg)>/td> /tr> /table> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !patient_list() || !patient_list().length --> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: $root.page().patient_table() --> !-- ko template:{name: template_nhsg_table, data: $root.page().patient_table()} -->!-- /ko --> !-- /ko --> !-- ko if: ready() --> !-- ko if: calendar_input.limit_to_dates().length && patient_list() --> !-- ko if: !patient_list() || !patient_list().length --> div classtable_nhsg_wrapper> table classnhsg reference> tr> td data-bindtext: $root.get_content(no_results_msg)>/td> /tr> /table> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: patient_list() && patient_list().length --> !-- ko if: !$root.settings.enable_portal_redesign() --> header classpatient_search_feedback_wrapper> strong classtally> span data-bindtext: result_count_text>/span> select data-bindvalue: page_size> option value0 data-bindtext: $root.get_content(show_all)>show all/option> option value5 data-bindtext: $root.get_content(number_per_page).replace(number, 5)>5 per page/option> option value10 data-bindtext: $root.get_content(number_per_page).replace(number, 10)>10 per page/option> option value25 data-bindtext: $root.get_content(number_per_page).replace(number, 25)>25 per page/option> option value50 data-bindtext: $root.get_content(number_per_page).replace(number, 50)>50 per page/option> option value100 data-bindtext: $root.get_content(number_per_page).replace(number, 100)>100 per page/option> /select> /strong> !-- ko template:{name: template_patient_list_paging, data: $root.page()} -->!-- /ko --> /header> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: $root.page().patient_table() --> !-- ko template:{name: template_nhsg_table, data: $root.page().patient_table()} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> table classdisplay clickable selectable accordion_table patient_list data-bind descendantsComplete: function(){ setTimeout(function(){ var page $root.page(); if(page.resize_all_accordions) page.resize_all_accordions(); if(page.set_patient_list_max_height) page.set_patient_list_max_height(); },100); }, css: {mobile_view: $root.mobile_view} > thead> tr> th> !-- ko if: !$root.settings.global_hide_name() --> span classsortlink data-bind text: $root.get_content(patient), click: function(){ $root.page().calendar_sort( $root.page().calendar_sort() name_asc ? name_desc : name_asc ) }, css: { asc: $root.page().calendar_sort() name_asc, desc: $root.page().calendar_sort() name_desc } >Patient/span> !-- /ko --> span data-bind visible: $root.desktop_view(), click:function(){$root.page().expand_all(!$root.page().expand_all())} > a data-bindtext: $root.get_content(expand_all)>Expand All/a> a classaccordion_arrow data-bindcss: {active: $root.page().expand_all()}>/a> /span> /th> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.hide_dob() --> th classsortlink data-bind visible: $root.desktop_view(), text: $root.get_content(dob), click: function(){ $root.page().calendar_sort( $root.page().calendar_sort() dob_asc ? dob_desc : dob_asc ) }, css: { asc: $root.page().calendar_sort() dob_asc, desc: $root.page().calendar_sort() dob_desc } >DOB/th> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> th classsortlink data-bind visible: $root.desktop_view(), click: function(){ $root.page().calendar_sort( $root.page().calendar_sort() mrn_asc ? mrn_desc : mrn_asc ) }, css: { asc: $root.page().calendar_sort() mrn_asc, desc: $root.page().calendar_sort() mrn_desc } > span data-bindtext: $root.get_content(mrn)>MRN/span> /th> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> th classsortlink data-bind text: $root.get_content(last_seen), click: function(){ $root.page().calendar_sort( $root.page().calendar_sort() last_seen_asc ? last_seen_desc : last_seen_asc ) }, css: { asc: $root.page().calendar_sort() last_seen_asc, desc: $root.page().calendar_sort() last_seen_desc } >Last Seen/th> !-- /ko --> th data-bindvisible: !$root.mobile_view()>/th> /tr> /thead> tbody data-bind foreach: patient_list(), css: {expand_all: $root.page().expand_all() && $root.desktop_view()} > tr classparent patient data-bindcss: {read: $parent.is_viewed($data)}> td> a classcelllink data-bind click: function(patient){$root.page().toggle_accordion(patient.patientId)} >/a> a classicon_folder titleview patient data-bind attr: {title: $root.get_content(view_patient)},, attr:{href: $root.page().patient_detail_link($data)} > /a> !-- ko if: $root.settings.disable_phi() --> span data-bindtext: $data.patientId>/span> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> span data-bind css: {inactive: !$data.active}, html: $root.page().fullname($data, true) + ($data.active ? : span>( + $root.get_content(inactive) + )/span>) >/span> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> !-- if name is hidden, this is where MRN takes place --> span data-bindtext: $data.medicalRecordNumber>/span> !-- /ko --> !-- /ko --> !-- ko if: $data.woundList --> (span data-bindtext: $data.woundList.length>/span>) !-- /ko --> !-- ko if: !$root.mobile_view() --> a classaccordion_arrow data-bind css: {active: $root.page().expanded_sections.indexOf($data.patientId) ! -1} >/a> !-- /ko --> div classhint patient_secondary departments data-bindtext: $data.departments.join(, )>/div> div classhint patient_secondary data-bindvisible: !$root.desktop_view()> !-- ko if: !$root.settings.hide_dob() --> span> strong data-bindtext: $root.get_content(dob)>DOB/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date($data.dateOfBirth)>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: $data.dateOfBirth ? $data.dateOfBirth.split(-)0 : >/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> span> strong data-bindtext: $root.get_content(mrn)>MRN/strong> span data-bindtext: $data.medicalRecordNumber>/span> /span> !-- /ko --> /div> /td> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.hide_dob() --> td data-bindvisible: $root.desktop_view()> a classcelllink data-bind click: function(patient){$root.page().toggle_accordion(patient.patientId)} >/a> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date($data.dateOfBirth)>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: $data.dateOfBirth ? $data.dateOfBirth.split(-)0 : >/span> !-- /ko --> /td> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> td data-bindvisible: $root.desktop_view()> a classcelllink data-bind click: function(patient){$root.page().toggle_accordion(patient.patientId)} >/a> span data-bindtext: $data.medicalRecordNumber>/span> /td> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> td> a classcelllink data-bind click: function(patient){$root.page().toggle_accordion(patient.patientId)} >/a> span classdate_primary data-bindhtml: $root.page().formatted_date_and_time($data.mostRecentEvaluationDate)>/span> !-- ko if: !$root.settings.hide_most_recent_evaluator_name() --> div classhint date_secondary data-bindtext: $data.mostRecentEvaluatorName>/div> !-- /ko --> /td> !-- /ko --> td classpdf data-bindvisible: !$root.mobile_view()> !-- ko if: $root.page().show_pdf_links() --> a classpdf data-bind text: $root.get_content(pdf), attr:{href: $root.page().patient_pdf_link($data)} >PDF/a> !-- /ko --> /td> /tr> tr classnot_selectable> td colspan5 classchild wounds> !-- ko if: !$data.woundList || !$data.woundList.length --> div classaccordion fixed_height data-bind text: $root.get_content(no_wounds_found), css: {active: $root.page().expanded_sections.indexOf($data.patientId) ! -1} >No wounds found/div> !-- /ko --> !-- ko foreach: $data.woundList --> div classaccordion fixed_height data-bindcss: { read: $data.is_viewed, active: $root.page().expanded_sections.indexOf($data.patientId) ! -1 }> a classcelllink data-bind attr:{href: #pagewound_detail&patientId + $data.patientId + &woundId + $data.woundId} >/a> !-- ko template: {name: template_round_thumb, data: $data} -->!-- /ko --> span classwound_and_summary> !-- ko if: !$root.settings.disable_sign_and_lock() --> !-- ko if: typeof $root.page().is_locked function && $root.page().is_locked($data) --> a classlock locked above_cellink titleAll evaluations for this wound are signed and locked data-bind attr: { title: $root.get_content(all_evals_locked_msg), href: #pagewound_detail&patientId + $data.patientId + &woundId + $data.woundId } > /a> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_custom_wound_number() --> !-- ko if: $data.customId --> span classwound data-bindtext: $data.customId>/span> !-- /ko --> !-- ko if: !$data.customId --> !-- ko if: $root.settings.patient_wound_number() --> span classwound data-bindtext: ($data.patientWoundNumber) ? $data.patientWoundNumber : >/span> !-- /ko --> !-- ko if: !$root.settings.patient_wound_number() --> !-- ko if: $root.settings.wound_number_scheme() wound_Id --> span classwound data-bindtext: TA- + $data.woundId>/span> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> span classwound_summary> !-- ko if: $root.settings.etiology_scheme() standard --> span classetiology data-bind text: $root.org().etiology_id_to_label($data.etiologyId, $data.etiologyChildren) >/span> !-- /ko --> !-- ko if: $root.settings.use_custom_etiology() --> span data-bind text: $root.helpers.formatted_woundEtiologySelected($data.woundEtiologySelected) >/span> !-- /ko --> !-- ko if: !$root.settings.use_custom_etiology() --> span data-bindtext: $root.page().text_location_representation($data)>/span> !-- ko if: $root.settings.location_representation_method() ! epic --> !-- ko if: !$root.settings.hide_custom_wound_location() --> !-- ko if: $data.customLocation --> span data-bindtext: $data.customLocation>/span> !-- /ko --> !-- ko if: !$data.customLocation --> span data-bind text: $root.org().model_id_to_description($data.modelId) >/span> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> span data-bindtext: $root.page().wound_summary($data)>/span> /span> /span> !-- ko if: $root.page().is_healed($data) --> span classhealed data-bindtext: $root.get_content(healed)>healed/span> !-- /ko --> !-- ko if: $root.page().show_pdf_links() --> a classpdf data-bind text: $root.get_content(pdf), attr:{href: $root.page().wound_pdf_link($data)} >PDF/a> !-- /ko --> /div> !-- /ko --> /td> /tr> /tbody> /table> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> footer classpatient_search_feedback_wrapper> !-- ko template:{name: template_patient_list_paging, data: $root.page()} -->!-- /ko --> /footer> !-- /ko --> !-- /ko --> /section> /div> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: patient_list() && patient_list().length --> !-- ko template:{name: template_nhsg_pagination, data: { page_size: $root.page().page_size, page: $root.page().page, allow_all: false, total_count: $root.page().result_count } } -->!-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> wound_detail --------- OLD design -- functionality for the wound page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() wound_detail && page() && !$root.settings.enable_wound_page_redesign()}> !-- ko if: active_page() wound_detail && page() --> !-- ko with: page --> div classpage_content data-iframe-height> !--------------------------------------------------------- -> wound_detail content ------------------------------------------------------------> div classwound_detail old_design data-bind css: {active: active_patient}, click: function(){show_settings(false); return true;} > !--------------------------------------------------------- -> user tracy ------------------------------------------------------------> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.user().serena_eval_shuffle() || ($root.is_nhwc() && ($root.session(nhwc_retrace) || $root.page().nhwc_wound_view())) --> !-- ko if: active_evaluation() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: $root.settings.new_retrace_feature_toggle() && !$root.mobile_view() --> div idnew_user_tracy classtracy user_tracy new_user_tracy hide_inactive data-bindcss: {active:trace_mode}, with: trace> header> h2 data-bindtext: $root.get_content(retrace_wound)>Retrace Wound/h2> /header> footer> a classbtn neutral cancel data-bind text: $root.get_content(cancel), click: function(){$root.page().trace_mode(false)} >Cancel/a> !-- ko if: $root.page().trace_mode() outline --> !-- ko if: !$root.page().nhwc_wound_view() && !$root.settings.wound_status_enabled() && !$root.settings.disable_mark_healed() && !$root.user().serena_eval_shuffle() --> a classbtn neutral data-bind text: $root.get_content(mark_as_healed), click: function(){$root.page().active_evaluation().mark_healed(function(){$root.page().trace_mode(null)})} >Mark As Healed/a> !-- /ko --> !-- /ko --> a classbtn inactive data-bind text: $root.get_content(submit), css: {active: has_changes}, click: function(){if(has_changes()){submit_retrace()}} >Submit/a> /footer> !-- div classpanel> --> section idtracy_workspace classimg_wrapper data-bind css: { out_of_bounds: active_evaluation() && $root.page().trace_mode() region && trace_tool.out_of_bounds(), active: active_evaluation() && dot_tool.ready, show_instructions: trace_tool.show_instructions }> !-- ko with: trace_tool --> div idtracy_trace_wrapper data-bind css: {hidden: $parent.zeroOutMeasurements()}, style: { transform-origin: zoom_origin_x() + px + zoom_origin_y() + px, transform: scale( + zoom_scale() + ), top: zoom_top_offset() + px, left: zoom_left_offset() + px } > !-- ko if: $root.page().trace_mode() outline --> div classtrace_origin data-bind css: {active: origin_coordinates}, style: { left: origin_coordinates() ? origin_coordinates()0 + px : -50px, top: origin_coordinates() ? origin_coordinates()1 + px : -50px } >/div> !-- /ko --> /div> !-- /ko --> div idtracy_analysis_wrapper classhide_inactive data-bind css: { hidden: zeroOutMeasurements, active: (!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) || $root.page().trace_mode() region || ($root.page().trace_mode() outline && trace_tool.show_original_outline()) }, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } > /div> div idtracy_analysis_img data-bind attr:{style: container_style}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } >/div> /section> div classtoolbar hide_inactive data-bind css: { active: active_evaluation() && dot_tool.ready(), zeroOutMeasurements: zeroOutMeasurements() } > a data-bind attr: {title: $root.get_content(trace)}, css: { active: !zeroOutMeasurements() && trace_tool.active_tool() trace, has_select: $root.page().trace_mode() region }, click: function(){if(!zeroOutMeasurements()) trace_tool.active_tool(trace)} > !-- ko template:{name: icon_pen} -->!-- /ko --> /a> !-- ko if: trace_region --> select data-bind css: { active: trace_tool.active_tool() trace, red: trace_region() red, black: trace_region() black, yellow: trace_region() yellow, other: trace_region() other, pink: trace_region() pink }, value: trace_region > option valuered data-bindtext: $root.get_content(red)>red/option> option valueblack data-bindtext: $root.get_content(black)>black/option> option valueyellow data-bindtext: $root.get_content(yellow)>yellow/option> option valueother data-bindtext: $root.get_content(other)>other/option> option valuepink data-bindtext: $root.get_content(pink)>pink/option> /select> !-- /ko --> a data-bind attr: {title: $root.get_content(zoom_in)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() zoom_in}, click: function(){if(!zeroOutMeasurements()) trace_tool.zoom_in()} > !-- ko template:{name: icon_zoom_in} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(zoom_out)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() zoom_out}, click: function(){if(!zeroOutMeasurements()) trace_tool.zoom_out()} > !-- ko template:{name: icon_zoom_out} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(pan)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() pan}, click: function(){if(!zeroOutMeasurements()) trace_tool.active_tool(pan)} > !-- ko template:{name: icon_arrows_move} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(undo)}, click: function(){if(!zeroOutMeasurements() && has_changes()){trace_tool.undo()}} > !-- ko template:{name: icon_arrow_left} -->!-- /ko --> /a> !-- a data-bind attr: {title: $root.get_content(redo)}, click: function(){if(!zeroOutMeasurements()) trace_tool.redo()} > !-- ko template:{name: icon_arrow_right} -- > !-- /ko -- > /a> --> !-- a classtoggle_btn data-bind css: {active: !zeroOutMeasurements()}, click: function(){zeroOutMeasurements(!zeroOutMeasurements())} >/a> label classtoggle_btn_label data-bindtext: $root.get_content(analyze_wound)>Analyze Wound/label> --> !-- ko if: $root.page().trace_mode() outline --> div classbordered> label classcb_label data-bindclick: function(){zeroOutMeasurements(!zeroOutMeasurements())}> input typecheckbox data-bindchecked: !zeroOutMeasurements() /> span data-bindtext: $root.get_content(analyze_wound)>Analyze Wound/span> /label> /div> !-- /ko --> !-- ko if: !submitting() --> !-- ko if: !zeroOutMeasurements() && !active_evaluation().zeroOutMeasurements() && $root.page().trace_mode() outline && !(!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) --> div classbordered> label classcb_label data-bindclick: function(){trace_tool.show_original_outline(!trace_tool.show_original_outline())}> input typecheckbox data-bindchecked: trace_tool.show_original_outline /> span data-bindtext: $root.get_content(show_previous_tracing)>Show Previous Tracing/span> /label> /div> !-- /ko --> !-- /ko --> a classhelp data-bind attr: {title: $root.get_content(help)}, css: {active: trace_tool.show_instructions}, click: function(){trace_tool.show_instructions(!trace_tool.show_instructions())} > !-- ko template:{name: icon_question_circle} -->!-- /ko --> /a> /div> div classinstructions data-bind css: { active: trace_tool.show_instructions, overlay: trace_tool.overlay_instructions }, html: (($root.page().trace_mode() region) ? $root.get_content(tissue_composition_retrace_instructions_tooltip) : $root.get_content(wound_retrace_instructions_tooltip)) >/div> !-- /div> --> /div> !-- /ko --> !-- ko if: !$root.settings.new_retrace_feature_toggle() || $root.mobile_view() --> div classtracy user_tracy old_user_tracy hide_inactive data-bindcss: {active:trace_mode}, with: trace> a classclose_popup data-bindclick:function(){$root.page().trace_mode(null)}>/a> section classinstructions hide_inactive data-bindcss: {active:$root.page().trace_instructions_visible}> h1 data-bindtext:$root.get_content(analysis_corrections)>Analysis Corrections/h1> div data-bindhtml:$root.get_content(analysis_correction_instructions)>/div> div classbtn_row> a classbtn data-bind text: $root.get_content(okay), click: function(){$root.page().trace_instructions_visible(false)} >/a> /div> /section> section idtracy_workspace classimg_wrapper data-bind css: { out_of_bounds: active_evaluation() && $root.page().trace_mode() region && trace_tool.out_of_bounds(), active: active_evaluation() && dot_tool.ready() }> !-- div data-bindtemplate:{name: template_dot_tool, data: dot_tool}>/div> --> !-- ko with: trace_tool --> div idtracy_trace_wrapper data-bind style: { transform-origin: zoom_origin_x() + px + zoom_origin_y() + px, transform: scale( + zoom_scale() + ), top: zoom_top_offset() + px, left: zoom_left_offset() + px } >/div> !-- /ko --> div idtracy_analysis_wrapper classhide_inactive data-bind css: { active: (!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) || $root.page().trace_mode() region }, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } > /div> !-- div idtracy_dot_wrapper classhide_inactive data-bind css: {active:!dot_tool.is_set() && !noDot()}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ) } >/div> --> div idtracy_analysis_img data-bind attr:{style: container_style}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } >/div> /section> section classactions> a classbtn reject active data-bind text: $root.get_content(cancel), click: function(){$root.page().trace_mode(false)} >/a> a classbtn warn data-bind text: $root.get_content(undo), css: {active: has_changes}, click: function(){if(has_changes()){trace_tool.undo()}} >/a> a classbtn data-bind text: $root.get_content(submit), css: {active: has_changes}, click: function(){if(has_changes()){submit_retrace()}} >/a> !-- ko if: $root.page().trace_mode() region --> section classregions data-bindwith: $root.page().trace()> div data-bindclick: function(){trace_region(red)}> a classview_toggle red data-bindcss: {active: trace_region() red}>/a> a data-bindtext: $root.get_content(red_area_label)>Red Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.red_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.red_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(black)}> a classview_toggle black data-bindcss: {active: trace_region() black}>/a> a data-bindtext: $root.get_content(black_area_label)>Black Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.black_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.black_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(yellow)}> a classview_toggle yellow data-bindcss: {active: trace_region() yellow}>/a> a data-bindtext: $root.get_content(yellow_area_label)>Yellow Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.yellow_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.yellow_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(other)}> a classview_toggle other data-bindcss: {active: trace_region() other}>/a> a data-bindtext: $root.get_content(other_area_label)>Other Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.other_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.other_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(pink)}> a classview_toggle pink data-bindcss: {active: trace_region() pink}>/a> a data-bindtext: $root.get_content(pink_area_label)>Pink Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.pink_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.pink_percentage()}} -->!-- /ko --> /div> /section> !-- /ko --> /section> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: ct_page_replacement() --> div idct_wound_detail classct_wound_detail dynamic_component data-bind attr: { dynamic_component_type: wound_detail_page, match_id: $root.page().active_wound().woundId(), dynamic_component_payload: $root.page().dynamic_component_payload( wound_detail_page, $root.hash().patientId, $root.hash().woundId, $root.hash().woundEvaluationId || null ) }>/div> !-- /ko --> !-- ko if: !ct_page_replacement() --> !-- ko if: active_patient --> !-- ko with: active_patient --> !--------------------------------------------------------- -> patient header ------------------------------------------------------------> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.is_embedded() && $root.settings.show_patient_identifiers_when_embedded() --> header> h1> !-- ko if: !$root.settings.global_hide_name() --> span data-bindhtml: fullname()>/span> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> span data-bindvisible:dateOfBirth> strong data-bindtext:$root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> span data-bindvisible:medicalRecordNumber> strong data-bindtext:$root.get_content(mrn) + :>MRN:/strong> span data-bindtext:medicalRecordNumber>/span> /span> !-- /ko --> /h1> /header> !-- /ko --> header classhide_inactive data-bind css: { first: !$root.is_embedded() || !$root.settings.show_patient_identifiers_when_embedded(), active: !$root.page().trace_mode(), higher: $root.page().show_settings(), expanded_patient_info: $root.settings.display_patient_info_on_wounds() }> !-- ko if: !$root.is_embedded() --> !-- ko if: $root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span data-bindtext: patientId>/span> /a> /h1> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> !-- ko if: !$root.settings.global_hide_name() --> span data-bind css: {inactive: !active()}, html: fullname() + (active() ? : span>( + $root.get_content(inactive) + )/span>) >/span> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> span data-bindtext: medicalRecordNumber>/span> !-- /ko --> /a> /h1> span classnowrap> !-- ko if: $root.settings.use_patient_account_number --> h4 data-bindvisible: emrFinId> strong data-bindtext: $root.get_content(emr_fin_id_title) + :>AccountID:/strong> span data-bindtext: emrFinId>/span> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> h4 data-bindvisible: dateOfBirth> strong data-bindtext: $root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> h4 data-bindvisible: medicalRecordNumber> strong data-bindtext: $root.get_content(mrn) + :>MRN:/strong> span data-bindtext: medicalRecordNumber>/span> /h4> !-- /ko --> /span> !-- /ko --> !-- /ko --> !-- ko if: !$root.is_nhwc() --> h4 classpatient_record> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span classicon_folder>/span> span data-bindtext: $root.get_content(patient_record)>patient record/span> /a> /h4> !-- /ko --> !-- ko if: !$root.is_nhwc() && !$root.user().hide_eval_dates() --> a classicon_settings data-bind click: function(){$root.page().show_settings(!$root.page().show_settings())}, clickBubble: false >/a> !-- /ko --> div classsections data-bindcss: {active:$root.page().show_settings()}> section classpage_options hide_inactive data-bind css: {active:$root.page().show_settings()}, click:function(){}, clickBubble: false, with: $root.page > h2 data-bindtext: $root.get_content(page_options)>Page Options/h2> !-- ko if: !require_filmstrip() --> label classcb_label data-bindclick: function(){show_filmstrip(show_filmstrip() on ? off : on)}> input typecheckbox data-bindchecked: show_filmstrip() on /> strong data-bindtext: $root.get_content(filmstrip)>Filmstrip/strong> /label> !-- /ko --> !-- ko if: !$root.user().hide_eval_dates() && !$root.settings.ct_components() --> div classeval_view> h3 data-bindtext: $root.get_content(evaluation_view) + :>Evaluation View:/h3> label classcb_label data-bindclick: function(){show_single_card(show_single_card() on ? off : on)}> input typecheckbox data-bindchecked: show_single_card() on /> strong data-bindtext: $root.get_content(single_card_view)>Single Card/strong> /label> label classcb_label data-bindclick: function(){show_triptych(show_triptych() on ? off : on)}> input typecheckbox data-bindchecked: show_triptych() on /> strong data-bindtext: $root.get_content(three_card_view)>Three Card/strong> /label> /div> !-- /ko --> !-- ko if: !$root.settings.disable_notes() --> label classcb_label data-bindclick: function(){show_notes(show_notes() on ? off : on)}> input typecheckbox data-bindchecked: show_notes() on /> strong data-bindtext: $root.get_content(notes_title)>Notes/strong> /label> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> label classcb_label data-bind click: function(){show_surface_area_history(show_surface_area_history() on ? off : on)} > input typecheckbox data-bindchecked: show_surface_area_history() on /> strong data-bindtext: $root.get_content(surface_area_history)>Surface Area History/strong> /label> !-- /ko --> !-- ko if: !$root.settings.disable_formularies() --> label classcb_label data-bind click: function(){show_formulary_history(show_formulary_history() on ? off : on)} > input typecheckbox data-bindchecked: show_formulary_history() on /> strong data-bindtext: $root.get_content(formulary_history)>Formulary History/strong> /label> !-- /ko --> /section> /div> !-- ko if: $root.settings.display_patient_info_on_wounds() --> div classsecondary_patient_info> !-- ko if: !$root.settings.hide_height_and_weight() --> div> h4> span data-bindtext: $root.get_content(height)>Height/span> input typenumber min0 max272 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_cm, event: { focus: function(){data_field_focus height_cm}, blur: function(){data_field_focus null} } /> cm !-- ko if: !$root.settings.hide_imperial_units() --> / span classmobile_block> input typenumber min0 max8 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_ft, event: { focus: function(){data_field_focus height_ft}, blur: function(){data_field_focus null} } /> ft input typenumber min0 max11 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_in, event: { focus: function(){data_field_focus height_in}, blur: function(){data_field_focus null} } /> in /span> !-- /ko --> /h4> br /> h4> span data-bindtext: $root.get_content(weight)>Weight/span> input typenumber min0 max650 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: weight_kg, event: { focus: function(){data_field_focus weight_kg}, blur: function(){data_field_focus null} } /> kg !-- ko if: !$root.settings.hide_imperial_units() --> / input typenumber min0 max1433 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: weight_lb, event: { focus: function(){data_field_focus weight_lb}, blur: function(){data_field_focus null} } /> lb !-- /ko --> /h4> !-- ko if: $root.page().has_height_change() || $root.page().has_weight_change() --> br /> h4> span>/span> button data-bindclick: function(){$root.page().save_patient()}>save/button> /h4> !-- /ko --> /div> !-- /ko --> !-- ko if: $root.org().custom_patient_data() --> !-- ko if: $data.documentation.medications --> div> h4> Medications !-- ko if: !$root.page().show_medications_edit() --> a classicon_pencil titleedit data-bind click: function(){ $root.page().show_medications_edit(true) }>/a> !-- /ko --> /h4> !-- ko if: !$root.page().show_medications_edit() --> ul> !-- ko if: !$data.documentation.medications().length --> li>None/li> !-- /ko --> !-- ko foreach: $data.documentation.medications() --> li data-bindtext: $data>/li> !-- /ko --> /ul> !-- /ko --> !-- ko if: $root.page().show_medications_edit() --> div classedit> !-- ko foreach: $root.page().patient_documentation_options(medications) --> div> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().active_patient().documentation.medications() > span data-bindtext: $data>/span> /label> /div> !-- /ko --> button data-bindclick: function(){$root.page().show_medications_edit(false)}>save/button> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: $data.documentation.medicationAllergies --> div> h4> Allergies !-- ko if: !$root.page().show_allergies_edit() --> a classicon_pencil titleedit data-bind click: function(){ $root.page().show_allergies_edit(true) }>/a> !-- /ko --> /h4> !-- ko if: !$root.page().show_allergies_edit() --> ul> !-- ko if: !$data.documentation.medications().length && !$data.documentation.otherAllergies() --> li>None/li> !-- /ko --> !-- ko foreach: $data.documentation.medicationAllergies() --> li data-bindtext: $data>/li> !-- /ko --> !-- ko if: $data.documentation.otherAllergies() --> !-- ko foreach: $data.documentation.otherAllergies().replace(/;/g,,).split(,) --> li data-bindtext: $data.trim()>/li> !-- /ko --> !-- /ko --> /ul> !-- /ko --> !-- ko if: $root.page().show_allergies_edit() --> div classedit> !-- ko foreach: $root.page().patient_documentation_options(medicationAllergies) --> div> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().active_patient().documentation.medicationAllergies() > span data-bindtext: $data>/span> /label> /div> !-- /ko --> div> span>Other:/span> input typetext data-bindtextInput: $root.page().active_patient().documentation.otherAllergies> /div> button data-bindclick: function(){$root.page().show_allergies_edit(false)}>save/button> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !-- /ko --> /header> !-- /ko --> div data-iframe-height classsections hide_inactive data-bindcss: {active:!$root.page().trace_mode()}, visible:$parent.ready()> !--------------------------------------------------------- -> wound header ------------------------------------------------------------> !-- ko if: !$root.is_nhwc() --> !-- ko with: $root.page() --> section classwound_info> h2 data-bindcss: {text_location: $root.settings.location_representation_method() text}> !-- ko if: $root.settings.show_wound_nav_arrows() --> a classicon previous hide_inactive data-bind css: {active: previous_wound_link()}, attr:{href: ((previous_wound_link()) ? previous_wound_link() : active_wound().wound_detail_link())} >/a> a classicon next hide_inactive data-bind css: {active: next_wound_link()}, attr:{href: ((next_wound_link()) ? next_wound_link() : active_wound().wound_detail_link())} >/a> !-- /ko --> strong> !-- ko if: active_wound_index() > -1 --> strong data-bindtext: $root.get_content(wound_page)>Wound Page/strong> !-- /ko --> span data-bindtext: active_wound_position_description>/span> /strong> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> !-- ko if: active_evaluation() --> !-- ko if: active_wound().first_evaluation() --> span> span data-bindtext: $root.get_content(wound_active_since)>wound active since/span> span data-bindtext: formatted_date(active_wound().first_evaluation().created())>/span> /span> !-- /ko --> !-- /ko --> !-- /ko --> /h2> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> !-- ko if: active_wound().active() --> a classbtn thin danger archive data-bind text: $root.get_content(archive_this_wound), click: function(){mark_wound_inactive()} >archive this wound/a> !-- /ko --> !-- ko if: !active_wound().active() --> a classbtn thin warn archive data-bind text: $root.get_content(reactivate_this_wound), click: function(){mark_wound_active()} >reactivate this wound/a> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.location_representation_method() homunculi || $root.settings.location_representation_method() text_and_avatar --> div classmodel_wrapper> div classmodel data-bindwith: active_wound> img data-bindcss: {active: modelId()}, attr:{src: $root.page().model_img_by_id(modelId() || 1)}> !-- ko if: modelId() && (sitex() || sitey()) --> div data-bindstyle:{top: (sitey()*100)+%, left: (sitex()*100)+%}>/div> !-- /ko --> !-- ko if: !$root.page().read_only() && active_evaluation() && !first_evaluation().read_only() --> a classwrench titleclick to adjust wound location data-bind attr: { title: $root.get_content(click_to_adjust_wound_location), href: #pagedocumentation&patientId + patientId() + &woundId + woundId() + &editmodel } >/a> !-- /ko --> /div> /div> !-- /ko --> !-- ko if: $root.settings.location_representation_method() text --> div classlocation_text_wrapper data-bindwith: active_wound> div> strong data-bindtext: $root.get_content(location) + :>Location:/strong> span data-bindtext: selectedLocationLabel>/span> /div> div> strong data-bindtext: $root.get_content(laterality) + :>Laterality:/strong> span data-bindtext: selectedLateralityLabel>/span> /div> div> strong data-bindtext: $root.get_content(description) + :>Description:/strong> span data-bindtext: selectedDescLabel>/span> /div> div> strong data-bindtext: $root.get_content(wound_no_digit_no) + :>Wound #/Digit #:/strong> span data-bindtext: selectedFingerToeLabel>/span> /div> /div> !-- /ko --> !-- ko if: wound_expert_location,text_and_avatar,epic.indexOf($root.settings.location_representation_method()) > -1 --> div classlocation_text_wrapper data-bindwith: active_wound> div> strong data-bindtext: $root.get_content(location) + :>Location:/strong> span data-bindtext: text_location_representation>/span> /div> /div> !-- /ko --> div classinfo data-bindcss: {text_location: $root.settings.location_representation_method() text}> div classcustom_fields data-bindwith: active_wound> form data-bindsubmit:function(){save()}> !-- ko if: !$root.settings.hide_custom_wound_number() --> label> span data-bindtext: $root.get_content(wound_number)>Wound Number/span> input typetext data-bind textInput: $root.page().customId, disable: $root.settings.disable_custom_wound_ids() || $root.page().read_only() || (active_evaluation() && active_evaluation().read_only()) /> /label> !-- /ko --> !-- ko if: $root.settings.use_custom_etiology() --> div data-bindtext: $root.helpers.formatted_woundEtiologySelected($data.woundEtiologySelected())>/div> !-- /ko --> !-- ko if: !$root.settings.use_custom_etiology() --> !-- ko if: !$root.settings.hide_custom_wound_location() --> label data-bind css: {error: $root.settings.require_custom_wound_location() && !$root.page().customLocation()} > span data-bindtext: $root.get_content(wound_location)>Wound Location/span> input typetext data-bind textInput: $root.page().customLocation, disable: $root.settings.disable_custom_wound_ids() || $root.page().read_only() || (active_evaluation() && active_evaluation().read_only()) /> /label> !-- ko if: $data.location() --> label> input typetext disabled data-bindvalue: $data.location().replace(/|/g, ) /> /label> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.etiology_scheme() standard --> label data-bindcss: {error: !etiologyId()}> span data-bindtext: $root.settings.etiology_ui_scheme>Etiology/span> select data-bind optionsCaption: , options: $root.org().etiologies.inactive_safe_single_select_etiologyList(etiologyId()), optionsText: etiologyLabel, optionsValue: etiologyId, value: etiologyId, disable: $root.page().read_only() >/select> /label> !-- ko if: !$root.settings.enable_wound_condition_type() || $root.settings.wound_condition_type_etiologies().indexOf(etiologyId()) -1 --> !-- ko if: etiology().child_etiologies.inactive_safe_single_select_etiologyList(etiologyChild()).length --> label data-bindcss: {error: !etiologyId()}> !-- ko if: $root.settings.enable_wound_condition_type() && etiologyId() $root.settings.pressure_injury_etiology_id() --> span data-bindtext: $root.get_content(select_pressure_injury_stage)>Select pressure injury stage/span> !-- /ko --> !-- ko if: !$root.settings.enable_wound_condition_type() || etiologyId() ! $root.settings.pressure_injury_etiology_id() --> span>/span> !-- /ko --> select data-bind optionsCaption: , options: etiology().child_etiologies.inactive_safe_single_select_etiologyList(etiologyChild()), optionsText: etiologyLabel, optionsValue: etiologyId, value: etiologyChild, disable: $root.page().read_only() >/select> /label> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.enable_wound_condition_type() && $root.settings.wound_condition_type_etiologies().indexOf(etiologyId()) > -1 --> label> span data-bindtext: $root.get_content(select_wound_classification)>Select wound classification/span> select data-bind optionsCaption: , options: $root.org().wound_condition_types, optionsText: condition, optionsValue: conditionTypeId, value: conditionTypeId, disable: $root.page().read_only() >/select> /label> !-- /ko --> !-- /ko --> !-- ko if: $root.user().serena_eval_shuffle() --> label> span>Study Stage/span> select data-bindvalue: $root.page().serena_group_active_block> option value1>Block A/option> option value2>Block B/option> /select> /label> !-- /ko --> /form> /div> !-- ko if: active_wound() && active_wound().latest_evaluation() --> div classhealed_status> div> !-- ko if: active_wound().healingRate() --> span data-bindtext: $root.get_content(healing_rate)>Healing Rate/span>: !-- ko template:{ name: template_percent, data: {value: active_wound().healingRate(), sign: true} } -->!-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- ko if: !$root.settings.disable_push_score() --> div classpush> h4 data-bindtext: $root.get_content(push_score)>PUSH Score/h4> div classpush_line_graph> canvas idpush_line_graph width300 height100>/canvas> /div> /div> !-- /ko --> /div> /section> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> evaluations ------------------------------------------------------------> !-- ko with: active_wound --> !--------------------------------------------------------- -> deterioration risk ------------------------------------------------------------> !-- ko if: $root.settings.enable_pi_deterioration_risk() --> !-- ko if: $data.pressureDeteriorationRisk && $data.pressureDeteriorationRisk() --> !-- ko if: $data.pressureDeteriorationRisk().bucket medium --> div classdeterioration_risk_warning medium_risk> a classicon icon_yellow_alert>/a> span data-bindtext: $root.get_content(medium_deterioration_risk_tooltip)>/a> /div> !-- /ko --> !-- ko if: $data.pressureDeteriorationRisk().bucket high --> div classdeterioration_risk_warning high_risk> a classicon icon_red_alert>/a> span data-bindtext: $root.get_content(high_deterioration_risk_tooltip)>/a> /div> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> filmstrip ------------------------------------------------------------> !-- ko if: $root.page().show_filmstrip() on --> !-- ko if: $root.page().hide_dates() --> div classevaluation_filmstrip_random_note>* Photos shown in randomized order/div> !-- /ko --> section idevaluation_filmstrip classfilmstrip dynamic_component data-bind attr: { dynamic_component_type: filmstrip, match_id: $root.page().active_wound().woundId(), dynamic_component_payload: $root.page().dynamic_component_payload( filmstrip, $root.page().active_wound().woundId(), $root.page().active_evaluation() ? $root.page().active_evaluation().woundEvaluationId() : null ) }> div classcontrols data-bindwith: $root.page()> a classbtn increase data-bind css: {disabled: filmstrip_size() > 640}, click: function(){increase_filmstrip_size()} >/a> a classbtn decrease data-bind css: {disabled: filmstrip_size() 80}, click: function(){decrease_filmstrip_size()} >/a> /div> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> span classtoggles> label classcb_label include_archived data-bindclick: function(){$root.page().include_archived_evaluations(!$root.page().include_archived_evaluations())}> input typecheckbox data-bindchecked: $root.page().include_archived_evaluations /> span data-bindtext: $root.get_content(include_archived_evaluations)>Include archived evaluations/span> /label> /span> !-- /ko --> div classslider> !-- ko foreach: evaluations_archive --> !-- ko if: $data && $root.page().active_evaluation() --> span data-bind attr: {id: filmstrip_eval_ + $data.woundEvaluationId}, css: { active: $data.woundEvaluationId $root.page().active_evaluation().woundEvaluationId(), pinned: $root.page().is_in_serena_group_pinned_evals($data.woundEvaluationId), archived: !$data.active }, click: function(){$root.page().go_to_evaluation($index())} > !-- ko if: $data.attributeMap && $data.attributeMap.IS_CIRCUMFERENTIAL_WOUND --> div classcw data-bindattr: {title: $root.get_content(circumferential_wound)}>CW/div> !-- /ko --> !-- ko if: $data.debridement --> div classpd data-bindattr: {title: $root.get_content(post_debridement)}>PD/div> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> h4 data-bindtext: $root.page().formatted_date($data.created)>/h4> !-- /ko --> img data-bindattr: { event: {load: function(){$root.page().test(thumbnail loaded)}}, style: height: + $root.page().filmstrip_size() + px, src: $root.page().photo_src($data.woundEvaluationId, null, $data, $root.page().filmstrip_size()) } /> /span> !-- /ko --> !-- /ko --> !-- ko if: !active_evaluation() --> div classadd_evaluation> div data-bindtext: $root.get_content(no_evaluations_message)>/div> !-- ko if: !$root.page().read_only() && !$root.settings.disable_new_eval() --> a classbtn data-bind text: $root.get_content(add_new_photo), click: function(){ $root.hash({ page: documentation, patientId: $root.page().active_wound().patientId(), woundId: $root.page().active_wound().woundId() }) }> add new photo /a> !-- /ko --> /div> !-- /ko --> /div> /section> !-- /ko --> !-- the check below is done both ways to avoid race conditions met when only one or the other is used --> !-- ko if: active_evaluation() && $root.page().active_evaluation() --> !--------------------------------------------------------- -> single card view ------------------------------------------------------------> !-- ko if: $root.page().show_single_card() on || ($root.mobile_view() && $root.page().show_triptych() on) --> section classevaluation_detail old_design data-bind attr:{id: evaluation_detail_ + active_evaluation().woundEvaluationId()}, css: {amending: $root.page().is_previous_version() || active_evaluation().amending()} > h2 data-bindtemplate:{ name: template_evaluation_nav, data: {page: $parents1, evaluation: active_evaluation(), position: active, type: single} }>/h2> div classeval_flexbox> div classphoto_metrics> div classphoto_wrapper> !-- ko with: $parents1 --> div classphoto> div classpatient_head_direction_workspace data-bind css: {active: active_patient_head_direction_indicator() active_evaluation().woundEvaluationId()}, event: { click: function(obj, event){preview_patient_head_direction(active_evaluation(), event)}, mousemove: function(obj, event){preview_patient_head_direction(active_evaluation(), event)} } > a classbtn data-bind text: $root.get_content(confirm), click: function(){set_patient_head_direction(active_evaluation())} >Confirm/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){ active_evaluation().preview_patientHeadDirection(active_evaluation().patientHeadDirection()); active_patient_head_direction_indicator(null); } >Cancel/a> /div> img data-bind attr: { id: eval_photo_ + active_evaluation().woundEvaluationId(), src: active_evaluation().img_src() } /> div classanalysis_wrapper idmain_analysis_layer_pink data-bind css: {active: pink_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_red data-bind css: {active: red_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_yellow data-bind css: {active: yellow_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_black data-bind css: {active: black_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_other data-bind css: {active: other_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_perimeter data-bind css: {active: perimeter_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_axis data-bind css: {active: axis_layer_visible} >/div> !-- ko if: !$root.settings.disable_undermining() --> div classanalysis_wrapper idmain_analysis_layer_undermines data-bind css: {active: undermines_layer_visible} >/div> !-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> div classanalysis_wrapper idmain_analysis_layer_tunnels data-bind css: {active: tunnels_layer_visible} >/div> !-- /ko --> div classnew_analysis_wrapper idmain_analysis_new_layer data-bind css: {active:trace_tool.ready} >/div> !-- ko if: !trace_tool.end_to_end_length() --> div classlength data-bind visible: trace_tool.length(), text: ~ + (trace_tool.formatted_length() || 0) + cm >/div> !-- /ko --> !-- ko if: trace_tool.end_to_end_length() --> div classlength data-bindvisible: trace_tool.length()> span data-bind text: $root.get_content(end_to_end) + : ~ + trace_tool.formatted_end_to_end_length() + cm >/span> span classlowercase data-bind text: $root.get_content(total) + : ~ + trace_tool.formatted_length() + cm >/span> /div> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() ! new_tunnel && $root.page().observation_in_edit_mode() ! new_undermine --> !-- ko if: !active_evaluation().no_photo() --> a classzoom data-bind click:function(){$root.page().zoom_photo($root.page().active_evaluation().img_src())} >/a> !-- /ko --> !-- ko template:{ name: template_patient_head_direction_indicator, data: {evaluation: active_evaluation()}} -->!-- /ko --> !-- ko if: $root.page().show_pdf_links() --> a classpdf data-bindattr:{href:active_evaluation().pdf_link()}>/a> !--a classpdf data-bind attr:{href:active_evaluation().pdf_link()}, click: function(){return true}, clickBubble: false >/a>--> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().active_media() && active_evaluation().media() && active_evaluation().media().length --> !-- ko if: active_evaluation().active_media().mediaUri ! active_evaluation().media()0.mediaUri --> div classalt_media data-bindwith: active_evaluation().active_media()> !-- ko if: $data.mediaMetadata.mimeType.indexOf(image/) > -1 --> img data-bindattr:{src: $data.mediaUri} /> !-- /ko --> !-- ko if: $data.mediaMetadata.mimeType.indexOf(video/) > -1 --> video idalt_media_video_player controls controlsListnodownload data-bind attr: { }> source data-bind attr: { src: $data.mediaUri, type: $data.mediaMetadata.mimeType }> /video> !-- /ko --> /div> !-- /ko --> !-- /ko --> h4> !-- ko if: !$root.settings.disable_image_download() && !active_evaluation().no_photo() --> a classsave titlesave photo data-bind attr: { title: $root.get_content(save_photo), href: active_evaluation().img_src() }, click: function(){ $root.audit_event.record_event( PHOTO_DOWNLOAD, {href: active_evaluation().img_src()}); return true }, clickBubble: false download>/a> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> !-- ko if: !active_evaluation().no_photo() --> span data-bindtext: $root.get_content(photo)>Photo/span>: span data-bindtext: active_evaluation().credit()>/span> !-- /ko --> !-- /ko --> /h4> /div> !-- /ko --> !-- ko if: active_evaluation().media() && active_evaluation().media().length > 1 --> div classmedia_thumbnails data-bindwith: active_evaluation()> !-- ko foreach: media() --> span data-bind html: $parent.media_thumbnail($data), css: { active: $parent.active_media() && $data.mediaUri $parent.active_media().mediaUri, photo_thumb: $data.mediaMetadata.mediaCategory WOUND_EVALUATION_IMAGE, video_thumb: $data.mediaMetadata.mediaCategory CIRCUMFERENTIAL_WOUND_EVALUATION_VIDEO || $data.mediaMetadata.mediaCategory DEPTH_VIDEO }, click: function(){$parent.active_media($data)} > /span> !-- /ko --> /div> !-- /ko --> /div> div classpie_and_progress data-bindcss: {fit_archive_controls: active_evaluation().amendable() || $root.user().has_any_role(archive_admin,ta_admin)}> !-- ko if: $root.settings.dressing_removal_video() --> !-- ko if: active_evaluation().dressingRemovalVideoUri() --> div classunboxing_video> a classbtn data-bind text: $root.get_content(dressing_removal_video), click: function(){ $root.page().show_unboxing_video(active_evaluation().dressingRemovalVideoUri()) } > dressing removal video /a> /div> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().signedById() --> !-- ko with: active_evaluation() --> div classsigned> div classcurrent_version> strong data-bindtext: $root.get_content(signed) + :>Signed:/strong> span data-bindtext: signedBy>/span> !-- ko if: !$root.page().hide_dates() --> span data-bindhtml: $root.page().formatted_date_and_time(signedOn())>/span> !-- /ko --> div> !-- ko if: !$root.settings.amendment_feature_toggle() --> !-- ko if: $root.user().has_role(ta_admin) --> a classhint data-bind click: function(){$root.page().confirm_ta_unlock($data)} > Unlock /a> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.amendment_feature_toggle() --> !-- ko if: amendable --> a classhint data-bindclick: function(){amending(!amending())}> span data-bind text: amending() ? $root.get_content(cancel_amendment) : $root.get_content(make_amendment) > Make Amendment /span> /a> !-- /ko --> !-- ko if: versionList().length > 0 --> a classhint data-bindclick: function(){ $root.page().show_version_list($root.page().show_version_list() ! single ? single: null) }> span data-bindtext: $root.get_content(version_history)>Version History/span> /a> !-- /ko --> !-- /ko --> /div> /div> !-- ko if: $root.settings.amendment_feature_toggle() --> div classversion_list data-bind css: {active: $root.page().show_version_list() single}, style: {maxHeight: $root.page().show_version_list() single ? $element.scrollHeight + px : 0px}, > !-- ko foreach: versionList() --> a data-bind css: {active: $data.id $parent.active_version()}, click: function(){$parent.active_version($data.current ? null : $data.id)} > span data-bindtext: version>/span>: span data-bindtext: signedByName>/span> !-- ko if: !$root.page().hide_dates() --> span classcreated data-bindhtml: $root.page().formatted_date_and_time(created, null, true)>/span> !-- /ko --> /a> !-- /ko --> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.enable_auto_depth() --> div classmesh_wrapper id3d_mesh data-bind css: { loading: $root.page().single_card_mesh_viewer.loading(), active: $root.page().single_card_mesh_viewer.active(), not_available: $root.page().single_card_mesh_viewer.not_available() } > div classloading> span data-bindtext: $root.get_content(loading)>loading/span> br /> span data-bindtext: $root.get_content(depth_map)>depth map/span> /div> div classnot_available> span data-bindtext: $root.get_content(depth_map)>depth map/span> br /> span data-bindtext: $root.get_content(not_available)>not available/span> /div> /div> !-- /ko --> !-- ko if: $root.settings.tissue_color_on() --> div classpie_chart_wrapper> canvas idpie_chart width140 height140>/canvas> /div> !-- /ko --> div classprogress_wrapper data-bindwith: active_evaluation> !-- ko if: timepointLabel() --> h3 classevaluation_label data-bindtext: timepointLabel>/h3> !-- /ko --> !-- ko if: !$root.settings.disable_push_score() --> h3 classpush_score> span data-bindtext: $root.get_content(push_score)>/span>: !-- ko if: has_analysis() && woundAnalysis().measurements --> span data-bindhtml: Number(pushScore()) || —>/span> !-- /ko --> !-- ko if: !has_analysis() || !woundAnalysis().measurements --> span>—/span> !-- /ko --> /h3> !-- /ko --> !-- ko if: healed() --> !-- ko if: !$root.settings.wound_status_enabled() --> h3 classhealed> strong classcapitalize data-bindtext: $root.get_content(healed)>healed/strong> !-- ko if: !$root.page().read_only() && !$data.read_only() --> a classundo data-bindclick: function(evaluation){unmark_healed(evaluation)}> (span data-bindtext: $root.get_content(undo)>undo/span>) /a> !-- /ko --> /h3> !-- /ko --> !-- /ko --> div> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.settings.wound_status_enabled() --> div classwound_status> span data-bindtext: $root.get_content(wound_status) + :>Wound Status:/span> div classmultiselect singleselect dropdown> div classaccordion_multiselect data-bind css: {disable: $root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()}, click: function(){ if($root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()) return; if($root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()) $root.page().active_dropdown(null); else $root.page().active_dropdown(evaluation_status_ + $data.woundEvaluationId()); }, clickBubble: false > div classsummary> !-- ko if: $data.woundEvaluationStatus() && $data.woundEvaluationStatus().status --> span classchip> span data-bindtext: $data.woundEvaluationStatus().status.toLowerCase()>/span> /span> !-- /ko --> /div> a classaccordion_arrow active data-bind>/a> /div> div classoptions data-bind css: {active: $root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()} > div class> div data-bindclick: function(){ $data.woundEvaluationStatus({status:ACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(active)>active/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:INACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(inactive)>inactive/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:HEALED}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(healed)>healed/span> /div> /div> /div> /div> /div> !-- /ko --> !-- ko if: (!$root.page().read_only() && !$data.read_only()) || $root.user().serena_eval_shuffle() --> !-- ko if: !$root.settings.wound_status_enabled() --> !-- ko if: !healed() && !$root.settings.disable_mark_healed() && !$root.user().serena_eval_shuffle()--> a classbtn selected data-bind text: $root.get_content(mark_healed), click: function(evaluation){mark_healed(evaluation)} >Mark Healed/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_sign_and_lock() --> !-- ko if: !signedById() && (no_photo() || (analysisPending && !analysisPending() && approved && approved())) --> !-- ko if: !$root.settings.only_creator_locks_evals() || $data.user().userId $root.user().userId() --> a classbtn sign_and_lock data-bind css: {danger: !$root.settings.enable_portal_redesign()}, text: $root.get_content(sign_and_lock), click: function(evaluation){$root.page().confirm_sign_lock(evaluation)} >Sign & Lock/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> /div> !-- ko if: !$root.page().hide_dates() --> !-- ko if: $root.settings.visit_based_obs() && active_evaluation().visitTypeId() --> h3 data-bind text: $root.get_content(visit_type) + : + $root.org().get_visit_type_name(active_evaluation().visitTypeId()) >/h3> !-- /ko --> !-- check for an encounter level visit type --> !-- ko if: $root.settings.encounter_workflow() && active_evaluation().visitTypeDesc && active_evaluation().visitTypeDesc() --> h3 data-bindtext: $root.get_content(visit_type) + : + active_evaluation().visitTypeDesc()>/h3> !-- /ko --> !-- ko if: $root.settings.randomize_patient() && !$root.user().is_read_only() --> !-- ko if: active_evaluation().visitTypeId() $root.settings.randomize_patient() --> !-- ko if: !$root.page().active_patient().randomizationAllocation() --> a classbtn data-bind click:function(){$root.page().active_patient().randomize_patient()} >Randomize/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> div classinfo data-bindcss: {disable_delta_colors: !$root.settings.delta_color()}> !--------------------------------------------------------- -> post-debridement / circumferential ------------------------------------------------------------> !-- ko if: active_evaluation().debridement() --> h3 classstatus_label data-bindtext: get_content(post_debridement)>/h3> !-- /ko --> !-- ko if: active_evaluation().is_circumferential() --> h3 classstatus_label data-bindtext: get_content(circumferential_wound)>/h3> !-- /ko --> !--------------------------------------------------------- -> messages (post-debridement,pending, no dot, no wound, etc) ------------------------------------------------------------> div classno_analysis_messages hide_inactive data-bind css: {active:!$root.page().active_evaluation_has_analysis()}, with: active_evaluation() > !-- ko foreach: analysisPending_messages() --> h6 classanalyzing data-bindtext: $data>/h6> !-- /ko --> !-- ko if: analysisPending_messages().length --> div classspinner active>/div> !-- /ko --> !-- ko foreach: no_analysis_messages() --> h6> span data-bindtext: $data>/span> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.user().serena_eval_shuffle() --> !-- ko if: !$parent.read_only() --> !-- ko if: !$parent.analysisPending() --> !-- ko if: $data $root.get_content(no_wound_detected) --> a classwrench titledraw wound outline data-bind attr: {title: $root.get_content(draw_wound_outline)}, click: function(){ $root.page().active_wound().active_evaluation($parent); $root.page().trace_mode(outline); } >/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /h6> !-- /ko --> /div> !--------------------------------------------------------- -> evaluation measurements ------------------------------------------------------------> !-- ko if: active_evaluation().active_media_is_circumferential() --> br />br />br /> !-- ko template:{name: toast_message, data: { inline_message: true, can_dismiss: false, message: $root.get_content(circumferential_measurement_disclaimer) }} -->!-- /ko --> !-- /ko --> !-- ko if: !active_evaluation().active_media_is_circumferential() --> !-- ko if: !$root.page().nhwc_wound_view() --> div classdelta_controls> !-- ko if: $root.page().active_evaluation().has_analysis() && $root.page().active_wound().comparison_evaluation() && !$root.page().hide_dates() --> div classdates data-bind css: {active: $root.page().delta_date_options_open()}, style: {height: $root.page().delta_date_options_open() ? $element.scrollHeight + px : 30px}, click: function(){$root.page().delta_date_options_open(!$root.page().delta_date_options_open())}, clickBubble: false > div classcurrent data-bind html: Δ + ( $root.settings.delta_by_visit_type() ? $root.page().active_wound().comparison_evaluation().visitTypeDesc() : $root.page().formatted_date($root.page().active_wound().comparison_evaluation().created()) ) >/div> div classdelta_options> !-- ko foreach: $root.page().active_wound().comparison_evaluation_options() --> div data-bind text: $root.settings.delta_by_visit_type() ? visitTypeDesc : date, css: {active: $root.page().active_wound().comparison_evaluation().created() created}, click: function(){ var comparison_evaluation new TA.model_evaluation( $root.page().active_wound(), $root.page().active_wound().evaluations_archive()index ); $root.page().active_wound().comparison_evaluation(comparison_evaluation); } >/div> !-- /ko --> /div> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> a classbtn thin retrace_outline data-bind css: { pd: active_evaluation().debridement(), cw: active_evaluation().is_circumferential() }, text: $root.get_content(retrace_wound_perimeter), click: function(){$root.page().trace_mode(outline)} >Retrace Wound Perimeter/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> table classdisplay compact data-bind css: { clickable: active_evaluation().has_analysis(), no_analysis: !active_evaluation().has_analysis() }> tbody> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: all, measurement: totalArea, unit: cm2, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: axis, measurement: majorAxisLength, unit: cm, axis_label: length, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: axis, measurement: minorAxisLength, unit: cm, axis_label: width, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: perimeter, measurement: perimeterLength, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> !-- ko if: !$root.page().saving_tunnels() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: tunnels, measurement: totalTunnelsLength, is_approximate: $root.page().tunnels_are_approximate(), unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), editable: (!$root.page().read_only() && !active_evaluation().read_only()), on_click: function(){ if($root.page().observation_in_edit_mode() tunneling || $root.page().observation_in_edit_mode() new_tunnel){ $root.page().observation_in_edit_mode(null); $root.page().close_tracy(true); } else { $root.page().observation_in_edit_mode(tunneling); $root.page().tunnels_layer_visible(true); } } } } -->!-- /ko --> !-- /ko --> !-- ko foreach: active_evaluation().tunnels_list() --> tr classnot_clickable> td>/td> !-- ko if: $root.page().observation_in_edit_mode() ! tunneling --> td classbreakdown data-bind html: • + $root.get_content(tunnel) + + ($index() + 1) >/td> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() tunneling --> td classbreakdown> a classtrash titledelete tunnel data-bind attr: {title: $root.get_content(delete_tunnel)}, click: function(){$root.page().remove_tunnel($index())}, event: { mouseenter: function(){$root.page().highlight_tunnel($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span data-bindhtml: $root.get_content(tunnel) + + ($index() + 1)>/span> /td> !-- /ko --> td classunitvalue> !-- ko if: $data.woundTunnelId 0 -->~!-- /ko --> !-- ko template:{ name: template_cm, data: {value: $data.woundTunnelLength, to_fixed: 2} } -->!-- /ko --> /td> !-- ko if: $parent.comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_tunnel --> tr classnot_clickable> td>/td> td classbreakdown data-bind html: • + $root.get_content(new) + + $root.get_content(tunnel) >/td> td classunitvalue> span data-bindhtml: ~ + ($root.page().trace_tool.formatted_length() || 0) + cm\u00A0>/span> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() tunneling --> tr classnot_clickable> td>/td> td colspan2> a classbtn data-bind text: $root.get_content(new_tunnel), click:function(){$root.page().new_tunnel()} >New Tunnel/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_tunnel --> tr classnot_clickable> td>/td> td colspan2> a classbtn inactive data-bind text: $root.get_content(save), css: {active: $root.page().trace_tool.has_changes()}, click: function(){$root.page().save_new_layer()} >Save/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_undermining() --> !-- ko if: !$root.page().saving_undermines() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: undermines, measurement: totalUnderminesLength, is_approximate: $root.page().undermines_are_approximate(), unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), editable: (!$root.page().read_only() && !active_evaluation().read_only()), on_click: function(){ if($root.page().observation_in_edit_mode() undermining || $root.page().observation_in_edit_mode() new_undermine){ $root.page().observation_in_edit_mode(null); $root.page().close_tracy(true); } else { $root.page().observation_in_edit_mode(undermining); $root.page().undermines_layer_visible(true); } } } } -->!-- /ko --> !-- /ko --> !-- ko foreach: active_evaluation().undermines_list() --> tr classnot_clickable> td>/td> !-- ko if: $root.page().observation_in_edit_mode() ! undermining --> td classbreakdown data-bind html: • + $root.get_content(region) + + ($index() + 1) >/td> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() undermining --> td classbreakdown> a classtrash titledelete region data-bind attr: {title: $root.get_content(delete_region)}, click: function(){$root.page().remove_undermine($index())}, event: { mouseenter: function(){$root.page().highlight_undermine($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span data-bindhtml: $root.get_content(region) + + ($index() + 1)>/span> /td> !-- /ko --> td classunitvalue> !-- ko if: $data.woundUndermineId 0 -->~!-- /ko --> !-- ko template:{ name: template_cm, data: {value: $data.woundUndermineLength, to_fixed: 2} } -->!-- /ko --> /td> !-- ko if: $parent.comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_undermine --> tr classnot_clickable> td>/td> td classbreakdown data-bind html: • + $root.get_content(new) + + $root.get_content(region) >/td> td classunitvalue> span data-bindhtml: ~ + $root.page().round_cm($root.page().trace_tool.end_to_end_length() || 0) + cm\u00A0>/span> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() undermining --> tr classnot_clickable> td>/td> td colspan2> a classbtn thin data-bind text: $root.get_content(new_region), click:function(){$root.page().new_undermine()} >New Region/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_undermine --> tr classnot_clickable> td>/td> td colspan2> a classbtn inactive data-bind text: $root.get_content(save), css: {active: $root.page().trace_tool.has_changes()}, click: function(){$root.page().save_new_layer()} >Save/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().woundAnalysis().measurements.depth 0 --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: height, measurement: height, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: ( $root.page().read_only() || active_evaluation().read_only() || $root.user().blinded_reviewer() ) ? null : true, on_save: function(event){$data.active_evaluation().update_height(event)} } } -->!-- /ko --> !-- /ko --> !-- ko if: !active_evaluation().woundAnalysis().measurements.depth || active_evaluation().woundAnalysis().measurements.depth > 0 --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: depth, measurement: depth, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: ( $root.page().read_only() || active_evaluation().read_only() || $root.user().blinded_reviewer() ) ? null : true, on_save: function(event){$data.active_evaluation().update_depth(event)} } } -->!-- /ko --> !-- /ko --> !-- ko if: active_evaluation().depthAnalysis() && active_evaluation().depthAnalysis().maxDepth ! null --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: volume, measurement: volume, unit: cm3, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: false } } -->!-- /ko --> !-- /ko --> /tbody> /table> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> a classretrace_outline data-bind css: { pd: active_evaluation().debridement(), cw: active_evaluation().is_circumferential() }, text: $root.get_content(retrace_wound_perimeter), click: function(){$root.page().trace_mode(outline)} >Retrace Wound Perimeter/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> evaluation tissue types ------------------------------------------------------------> !-- ko if: $root.settings.tissue_color_on() --> div classevaluation_tissue_types> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: $root.settings.user_region_tracing() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: !active_evaluation().analysisPending() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> !-- ko if: !$root.page().nhwc_wound_view() --> a classbtn thin retrace_region data-bind text: $root.get_content(retrace_tissue_composition), click: function(){ $root.page().trace_mode(region); $root.page().trace_instructions_visible(false); } >Retrace Tissue Composition/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> table classdisplay compact data-bind css: { clickable: $root.page().active_evaluation_has_analysis(), no_analysis: !$root.page().active_evaluation_has_analysis() }> tbody data-bindforeach: TA.tissue_colors> !-- ko template:{ name: template_evaluation_tissue_measurement_row, data: { use_tablet_layout: false, color: $data, evaluation: $parent.active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> /tbody> /table> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: $root.settings.user_region_tracing() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: !active_evaluation().analysisPending() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> !-- ko if: !$root.page().nhwc_wound_view() --> a classlink retrace_region data-bind text: $root.get_content(retrace_tissue_composition), click: function(){ $root.page().trace_mode(region); $root.page().trace_instructions_visible(false); } >Retrace Tissue Composition/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> /div> !--------------------------------------------------------- -> observations ------------------------------------------------------------> !-- ko if: !$root.is_nhwc() --> div classobservations> !-- ko template:{name: template_evaluation_formularies, data: { use_recs: $root.settings.treatment_recs() && !$root.settings.disable_formulary_recommendations(), isolate_recs: $root.settings.isolate_formulary_recommendations(), page: $root.page(), evaluation: active_evaluation(), edit_mode_match: formularies }} -->!-- /ko --> /div> !-- /ko --> /div> !-- ko if: active_evaluation().status_message_container() --> !-- ko template:{ name: toast_message, data: active_evaluation().status_message_container() } -->!-- /ko --> !-- /ko --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> div classarchive_controls> !-- ko if: active_evaluation().active() --> a classbtn thin danger archive data-bind text: $root.get_content(archive_this_evaluation), click: function(){$root.page().mark_evaluation_inactive(active_evaluation())} >archive this evaluation/a> !-- /ko --> !-- ko if: !active_evaluation().active() --> a classbtn thin warn archive data-bind text: $root.get_content(reactivate_this_evaluation), click: function(){$root.page().mark_evaluation_active(active_evaluation())} >reactivate this evaluation/a> !-- /ko --> /div> !-- /ko --> !-- /ko --> h2 data-bindtemplate:{ name: template_evaluation_nav, data: {page: $parents1, evaluation: active_evaluation(), position: active, type: single} }>/h2> /section> !-- /ko --> !--------------------------------------------------------- -> three card view ------------------------------------------------------------> !-- ko if: $root.page().show_triptych() on && !$root.mobile_view() --> div classtriptych> !-- ko template: { name: template_triptych_card, data: { page: $root.page(), wound: $data, evaluation: $root.page().previous_evaluation(), comparison_evaluation: $root.page().previous_evaluation() && $root.page().previous_evaluation().previous_comparable_evaluation() ? new TA.model_evaluation( $root.page().active_wound(), $root.page().previous_evaluation().previous_comparable_evaluation() ) : null, position: previous, type: single } } -->!-- /ko --> !-- ko template: { name: template_triptych_card, data: { page: $root.page(), wound: $data, evaluation: $root.page().active_evaluation(), comparison_evaluation: $root.page().active_evaluation() && $root.page().active_evaluation().previous_comparable_evaluation() ? new TA.model_evaluation( $root.page().active_wound(), $root.page().active_evaluation().previous_comparable_evaluation() ) : null, position: active } } -->!-- /ko --> !-- ko template: { name: template_triptych_card, data: { page: $root.page(), wound: $data, evaluation: $root.page().next_evaluation(), comparison_evaluation: $root.page().next_evaluation() && $root.page().next_evaluation().previous_comparable_evaluation() ? new TA.model_evaluation( $root.page().active_wound(), $root.page().next_evaluation().previous_comparable_evaluation() ) : null, position: next } } -->!-- /ko --> /div> !-- /ko --> !--------------------------------------------------------- -> notes ------------------------------------------------------------> !-- ko if: !$root.settings.disable_notes() --> !-- ko if: $root.page().show_notes() on --> section idpatient_notes classnotes dynamic_component data-bind attr: { dynamic_component_type: patient_notes, match_id: $root.page().active_wound().woundId(), dynamic_component_payload: $root.page().dynamic_component_payload( patient_notes, $root.page().active_wound().woundId(), $root.page().active_evaluation().woundEvaluationId() ) }> !-- ko template:{name: template_notes_list} -->!-- /ko --> /section> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> surface area graph & volume history graph ------------------------------------------------------------> !-- ko if: !$root.settings.enable_wound_page_redesign() --> !-- ko if: $root.page().show_surface_area_history() on --> !-- ko if: $root.page().active_evaluation() --> !-- ko if: !$root.page().hide_dates() --> section idsurface_area_history classline_graph_wrapper data-bind attr: { dynamic_component_type: surface_area_history, match_id: $root.page().active_wound().woundId(), dynamic_component_payload: $root.page().dynamic_component_payload( surface_area_history, $root.page().active_wound().woundId(), $root.page().active_evaluation().woundEvaluationId() ) }> !-- ko with: active_wound --> !-- ko if: $root.page().show_surface_area_history() on && !$root.page().hide_dates() --> h2 data-bindtext: $root.get_content(line_graph_title)>Surface Area History/h2> h3>cm²/h3> h3 classextra_label data-bindtext: $root.page().line_graph().extra_label_with_unit()>/h3> div classoptions> !-- ko if: $root.page().extra_chart_data_options().length --> select data-bind options: $root.page().extra_chart_data_options, optionsText: label, optionsValue: id, optionsCaption: $root.get_content(additional_data), value: $root.page().extra_observation_to_chart >/select> !-- /ko --> /div> !-- /ko --> canvas idline_graph width1000 height300>/canvas> !-- /ko --> /section> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> formulary timeline ------------------------------------------------------------> !-- ko if: !$root.settings.disable_formularies() && $root.page().show_formulary_history() on --> !-- ko if: $root.page().active_evaluation() --> !-- ko if: $root.window_width() > 822 --> !-- if smaller window, formularies are listed in photos list view --> section classformularies data-bindhtml: $parent.formulary_timeline.formulary_table>/section> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> wound_detail --------- NEW design -- functionality for the wound page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() wound_detail && page() && $root.settings.enable_wound_page_redesign()}> !-- ko if: active_page() wound_detail && page() --> !-- ko with: page --> div classpage_content full_width data-iframe-height> !--------------------------------------------------------- -> wound_detail content ------------------------------------------------------------> div classwound_detail redesign data-bind css: {active: active_patient}, click: function(){show_settings(false); return true;} > div classmodal_pagecover hide_inactive evaluation_filmstrip carousel data-bindcss: {active: carousel_view}> a classclose_popup white data-bindclick: function(){carousel_view(false)}>/a> a classaccordion_arrow left hide_inactive data-bind css: {active: $root.page().active_wound().previous_evaluation()}, click: function(){$root.page().active_wound().active_evaluation($root.page().active_wound().previous_evaluation())} >/a> a classaccordion_arrow right hide_inactive data-bind css: {active: $root.page().active_wound().next_evaluation()}, click: function(){$root.page().active_wound().active_evaluation($root.page().active_wound().next_evaluation())} >/a> div classslider_wrapper> a classfade fade_left hide_inactive data-bindcss: {active: $root.page().active_wound().previous_evaluation()}>/a> a classfade fade_right hide_inactive data-bindcss: {active: $root.page().active_wound().next_evaluation()}>/a> div classslider> !-- ko foreach: active_wound().evaluations_archive --> !-- ko if: $data && $root.page().active_evaluation() --> span data-bind attr: {id: filmstrip_eval_ + $data.woundEvaluationId}, css: { active: $data.woundEvaluationId $root.page().active_evaluation().woundEvaluationId(), pinned: $root.page().is_in_serena_group_pinned_evals($data.woundEvaluationId), archived: !$data.active }, click: function(){ $root.page().go_to_evaluation($index()); $root.page().carousel_view(false); } > !-- ko if: $data.attributeMap && $data.attributeMap.IS_CIRCUMFERENTIAL_WOUND --> div classcw data-bindattr: {title: $root.get_content(circumferential_wound)}>CW/div> !-- /ko --> !-- ko if: $data.debridement --> div classpd data-bindattr: {title: $root.get_content(post_debridement)}>PD/div> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> h4 data-bindtext: $root.page().formatted_date($data.created)>/h4> !-- /ko --> img data-bindattr: { event: {load: function(){$root.page().test(thumbnail loaded)}}, src: $root.page().photo_src($data.woundEvaluationId, null, $data) } /> /span> !-- /ko --> !-- /ko --> /div> /div> /div> div classmodal_pagecover hide_inactive data-bindcss: {active: edit_wound_modal}> section classmodal wound_edit_modal data-bindwith: active_wound> h1 data-bindtext: $root.get_content(edit_wound_information)>Edit wound information/h1> div> !-- ko if: !$root.settings.hide_custom_wound_number() --> label> span data-bindtext: $root.get_content(wound_number)>Wound Number/span> input typetext data-bind textInput: $root.page().edit_wound_modal_customId, disable: $root.settings.disable_custom_wound_ids() || $root.page().read_only() || (active_evaluation() && active_evaluation().read_only()) /> /label> !-- /ko --> !-- ko if: $root.settings.use_custom_etiology() --> div data-bindtext: $root.helpers.formatted_woundEtiologySelected($data.woundEtiologySelected())>/div> !-- /ko --> !-- ko if: !$root.settings.use_custom_etiology() --> !-- ko if: !$root.settings.hide_custom_wound_location() --> label data-bind css: {error: $root.settings.require_custom_wound_location() && !$root.page().customLocation()} > span data-bindtext: $root.get_content(wound_location)>Wound Location/span> input typetext data-bind textInput: $root.page().edit_wound_modal_customLocation, disable: $root.settings.disable_custom_wound_ids() || $root.page().read_only() || (active_evaluation() && active_evaluation().read_only()) /> /label> !-- ko if: $data.location() --> label> input typetext disabled data-bindvalue: $data.location().replace(/|/g, ) /> /label> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.etiology_scheme() standard --> label data-bindcss: {error: !etiologyId()}> span data-bindtext: $root.settings.etiology_ui_scheme>Etiology/span> select data-bind optionsCaption: , options: $root.org().etiologies.inactive_safe_single_select_etiologyList(etiologyId()), optionsText: etiologyLabel, optionsValue: etiologyId, value: $root.page().edit_wound_modal_etiologyId, disable: $root.page().read_only() >/select> /label> !-- ko if: !$root.settings.enable_wound_condition_type() || $root.settings.wound_condition_type_etiologies().indexOf(etiologyId()) -1 --> !-- ko if: $root.page().edit_wound_modal_etiology().child_etiologies.inactive_safe_single_select_etiologyList($root.page().edit_wound_modal_etiologyChild()).length --> label data-bindcss: {error: !$root.page().edit_wound_modal_etiologyId()}> !-- ko if: $root.settings.enable_wound_condition_type() && $root.page().edit_wound_modal_etiologyId() $root.settings.pressure_injury_etiology_id() --> span data-bindtext: $root.get_content(select_pressure_injury_stage)>Select pressure injury stage/span> !-- /ko --> !-- ko if: !$root.settings.enable_wound_condition_type() || $root.page().edit_wound_modal_etiologyId() ! $root.settings.pressure_injury_etiology_id() --> span>/span> !-- /ko --> select data-bind optionsCaption: , options: $root.page().edit_wound_modal_etiology().child_etiologies.inactive_safe_single_select_etiologyList($root.page().edit_wound_modal_etiologyChild()), optionsText: etiologyLabel, optionsValue: etiologyId, value: $root.page().edit_wound_modal_etiologyChild, disable: $root.page().read_only() >/select> /label> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.enable_wound_condition_type() && $root.settings.wound_condition_type_etiologies().indexOf($root.page().edit_wound_modal_etiologyId()) > -1 --> label> span data-bindtext: $root.get_content(select_wound_classification)>Select wound classification/span> select data-bind optionsCaption: , options: $root.org().wound_condition_types, optionsText: condition, optionsValue: conditionTypeId, value: $root.page().edit_wound_modal_conditionTypeId, disable: $root.page().read_only() >/select> /label> !-- /ko --> !-- /ko --> !-- ko if: $root.user().serena_eval_shuffle() --> label> span>Study Stage/span> select data-bindvalue: $root.page().serena_group_active_block> option value1>Block A/option> option value2>Block B/option> /select> /label> !-- /ko --> /div> span classbtn_row> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> !-- ko if: $data.active() --> a classbtn danger archive data-bind text: $root.get_content(archive_this_wound), click: function(){$root.page().mark_wound_inactive()} >archive this wound/a> !-- /ko --> !-- ko if: !$data.active() --> a classbtn warn archive data-bind text: $root.get_content(reactivate_this_wound), click: function(){$root.page().mark_wound_active()} >reactivate this wound/a> !-- /ko --> !-- /ko --> a classbtn neutral data-bindtext: $root.get_content(cancel), click: function(){$root.page().edit_wound_modal(false)}>Cancel/a> a classbtn data-bindtext: $root.get_content(continue), click: function(){$root.page().save_edit_wound_modal()}>Continue/a> /span> /section> /div> div classmodal_pagecover hide_inactive data-bindcss: {active: wound_history_modal}> section classmodal wound_history_modal> a classclose_popup data-bindclick: function(){wound_history_modal(false)}>/a> h1 data-bindtext: $root.get_content(wound_history)>Wound History/h1> !--------------------------------------------------------- -> surface area graph & volume history graph ------------------------------------------------------------> !-- ko if: $root.page().show_surface_area_history() on --> !-- ko if: $root.page().active_evaluation() --> !-- ko if: !$root.page().hide_dates() --> section idsurface_area_history classline_graph_wrapper> !-- ko with: active_wound --> !-- ko if: $root.page().show_surface_area_history() on && !$root.page().hide_dates() --> h2 data-bindtext: $root.get_content(line_graph_title)>Surface Area History/h2> h3>cm²/h3> h3 classextra_label data-bindtext: $root.page().line_graph().extra_label_with_unit()>/h3> div classoptions> !-- ko if: $root.page().extra_chart_data_options().length --> select data-bind options: $root.page().extra_chart_data_options, optionsText: label, optionsValue: id, optionsCaption: $root.get_content(additional_data), value: $root.page().extra_observation_to_chart >/select> !-- /ko --> /div> !-- /ko --> canvas idline_graph width1000 height300>/canvas> !-- /ko --> /section> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> formulary timeline ------------------------------------------------------------> !-- ko if: !$root.settings.disable_formularies() && $root.page().show_formulary_history() on --> !-- ko if: $root.page().active_evaluation() --> !-- ko if: $root.window_width() > 822 --> !-- if smaller window, formularies are listed in photos list view --> section classformularies data-bindhtml: $root.page().formulary_timeline.formulary_table>/section> !-- /ko --> !-- /ko --> !-- /ko --> /section> /div> !--------------------------------------------------------- -> user tracy ------------------------------------------------------------> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.user().serena_eval_shuffle() || ($root.is_nhwc() && ($root.session(nhwc_retrace) || $root.page().nhwc_wound_view())) --> !-- ko if: active_evaluation() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: $root.settings.new_retrace_feature_toggle() && !$root.mobile_view() --> div idnew_user_tracy classtracy user_tracy new_user_tracy hide_inactive data-bindcss: {active:trace_mode}, with: trace> header> h2 data-bindtext: $root.get_content(retrace_wound)>Retrace Wound/h2> /header> footer> a classbtn neutral cancel data-bind text: $root.get_content(cancel), click: function(){$root.page().trace_mode(false)} >Cancel/a> !-- ko if: $root.page().trace_mode() outline --> !-- ko if: !$root.page().nhwc_wound_view() && !$root.settings.wound_status_enabled() && !$root.settings.disable_mark_healed() && !$root.user().serena_eval_shuffle() --> a classbtn neutral data-bind text: $root.get_content(mark_as_healed), click: function(){$root.page().active_evaluation().mark_healed(function(){$root.page().trace_mode(null)})} >Mark As Healed/a> !-- /ko --> !-- /ko --> a classbtn inactive data-bind text: $root.get_content(submit), css: {active: has_changes}, click: function(){if(has_changes()){submit_retrace()}} >Submit/a> /footer> !-- div classpanel> --> section idtracy_workspace classimg_wrapper data-bind css: { out_of_bounds: active_evaluation() && $root.page().trace_mode() region && trace_tool.out_of_bounds(), active: active_evaluation() && dot_tool.ready, show_instructions: trace_tool.show_instructions }> !-- ko with: trace_tool --> div idtracy_trace_wrapper data-bind css: {hidden: $parent.zeroOutMeasurements()}, style: { transform-origin: zoom_origin_x() + px + zoom_origin_y() + px, transform: scale( + zoom_scale() + ), top: zoom_top_offset() + px, left: zoom_left_offset() + px } > !-- ko if: $root.page().trace_mode() outline --> div classtrace_origin data-bind css: {active: origin_coordinates}, style: { left: origin_coordinates() ? origin_coordinates()0 + px : -50px, top: origin_coordinates() ? origin_coordinates()1 + px : -50px } >/div> !-- /ko --> /div> !-- /ko --> div idtracy_analysis_wrapper classhide_inactive data-bind css: { hidden: zeroOutMeasurements, active: (!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) || $root.page().trace_mode() region || ($root.page().trace_mode() outline && trace_tool.show_original_outline()) }, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } > /div> div idtracy_analysis_img data-bind attr:{style: container_style}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } >/div> /section> div classtoolbar hide_inactive data-bind css: { active: active_evaluation() && dot_tool.ready(), zeroOutMeasurements: zeroOutMeasurements() } > a data-bind attr: {title: $root.get_content(trace)}, css: { active: !zeroOutMeasurements() && trace_tool.active_tool() trace, has_select: $root.page().trace_mode() region }, click: function(){if(!zeroOutMeasurements()) trace_tool.active_tool(trace)} > !-- ko template:{name: icon_pen} -->!-- /ko --> /a> !-- ko if: trace_region --> select data-bind css: { active: trace_tool.active_tool() trace, red: trace_region() red, black: trace_region() black, yellow: trace_region() yellow, other: trace_region() other, pink: trace_region() pink }, value: trace_region > option valuered data-bindtext: $root.get_content(red)>red/option> option valueblack data-bindtext: $root.get_content(black)>black/option> option valueyellow data-bindtext: $root.get_content(yellow)>yellow/option> option valueother data-bindtext: $root.get_content(other)>other/option> option valuepink data-bindtext: $root.get_content(pink)>pink/option> /select> !-- /ko --> a data-bind attr: {title: $root.get_content(zoom_in)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() zoom_in}, click: function(){if(!zeroOutMeasurements()) trace_tool.zoom_in()} > !-- ko template:{name: icon_zoom_in} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(zoom_out)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() zoom_out}, click: function(){if(!zeroOutMeasurements()) trace_tool.zoom_out()} > !-- ko template:{name: icon_zoom_out} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(pan)}, css: {active: !zeroOutMeasurements() && trace_tool.active_tool() pan}, click: function(){if(!zeroOutMeasurements()) trace_tool.active_tool(pan)} > !-- ko template:{name: icon_arrows_move} -->!-- /ko --> /a> a data-bind attr: {title: $root.get_content(undo)}, click: function(){if(!zeroOutMeasurements() && has_changes()){trace_tool.undo()}} > !-- ko template:{name: icon_arrow_left} -->!-- /ko --> /a> !-- a data-bind attr: {title: $root.get_content(redo)}, click: function(){if(!zeroOutMeasurements()) trace_tool.redo()} > !-- ko template:{name: icon_arrow_right} -- > !-- /ko -- > /a> --> !-- a classtoggle_btn data-bind css: {active: !zeroOutMeasurements()}, click: function(){zeroOutMeasurements(!zeroOutMeasurements())} >/a> label classtoggle_btn_label data-bindtext: $root.get_content(analyze_wound)>Analyze Wound/label> --> !-- ko if: $root.page().trace_mode() outline --> div classbordered> label classcb_label data-bindclick: function(){zeroOutMeasurements(!zeroOutMeasurements())}> input typecheckbox data-bindchecked: !zeroOutMeasurements() /> span data-bindtext: $root.get_content(analyze_wound)>Analyze Wound/span> /label> /div> !-- /ko --> !-- ko if: !submitting() --> !-- ko if: !zeroOutMeasurements() && !active_evaluation().zeroOutMeasurements() && $root.page().trace_mode() outline && !(!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) --> div classbordered> label classcb_label data-bindclick: function(){trace_tool.show_original_outline(!trace_tool.show_original_outline())}> input typecheckbox data-bindchecked: trace_tool.show_original_outline /> span data-bindtext: $root.get_content(show_previous_tracing)>Show Previous Tracing/span> /label> /div> !-- /ko --> !-- /ko --> a classhelp data-bind attr: {title: $root.get_content(help)}, css: {active: trace_tool.show_instructions}, click: function(){trace_tool.show_instructions(!trace_tool.show_instructions())} > !-- ko template:{name: icon_question_circle} -->!-- /ko --> /a> /div> div classinstructions data-bind css: { active: trace_tool.show_instructions, overlay: trace_tool.overlay_instructions }, html: (($root.page().trace_mode() region) ? $root.get_content(tissue_composition_retrace_instructions_tooltip) : $root.get_content(wound_retrace_instructions_tooltip)) >/div> !-- /div> --> /div> !-- /ko --> !-- ko if: !$root.settings.new_retrace_feature_toggle() || $root.mobile_view() --> div classtracy user_tracy old_user_tracy hide_inactive data-bindcss: {active:trace_mode}, with: trace> a classclose_popup data-bindclick:function(){$root.page().trace_mode(null)}>/a> section classinstructions hide_inactive data-bindcss: {active:$root.page().trace_instructions_visible}> h1 data-bindtext:$root.get_content(analysis_corrections)>Analysis Corrections/h1> div data-bindhtml:$root.get_content(analysis_correction_instructions)>/div> div classbtn_row> a classbtn data-bind text: $root.get_content(okay), click: function(){$root.page().trace_instructions_visible(false)} >/a> /div> /section> section idtracy_workspace classimg_wrapper data-bind css: { out_of_bounds: active_evaluation() && $root.page().trace_mode() region && trace_tool.out_of_bounds(), active: active_evaluation() && dot_tool.ready() }> !-- div data-bindtemplate:{name: template_dot_tool, data: dot_tool}>/div> --> !-- ko with: trace_tool --> div idtracy_trace_wrapper data-bind style: { transform-origin: zoom_origin_x() + px + zoom_origin_y() + px, transform: scale( + zoom_scale() + ), top: zoom_top_offset() + px, left: zoom_left_offset() + px } >/div> !-- /ko --> div idtracy_analysis_wrapper classhide_inactive data-bind css: { active: (!trace_tool.tracing() && trace_tool.points && !trace_tool.points().length && !noWound()) || $root.page().trace_mode() region }, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } > /div> !-- div idtracy_dot_wrapper classhide_inactive data-bind css: {active:!dot_tool.is_set() && !noDot()}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ) } >/div> --> div idtracy_analysis_img data-bind attr:{style: container_style}, style: { transform-origin: trace_tool.zoom_origin_x() + px + trace_tool.zoom_origin_y() + px, transform: scale( + trace_tool.zoom_scale() + ), top: trace_tool.zoom_top_offset() + px, left: trace_tool.zoom_left_offset() + px } >/div> /section> section classactions> a classbtn reject active data-bind text: $root.get_content(cancel), click: function(){$root.page().trace_mode(false)} >/a> a classbtn warn data-bind text: $root.get_content(undo), css: {active: has_changes}, click: function(){if(has_changes()){trace_tool.undo()}} >/a> a classbtn data-bind text: $root.get_content(submit), css: {active: has_changes}, click: function(){if(has_changes()){submit_retrace()}} >/a> !-- ko if: $root.page().trace_mode() region --> section classregions data-bindwith: $root.page().trace()> div data-bindclick: function(){trace_region(red)}> a classview_toggle red data-bindcss: {active: trace_region() red}>/a> a data-bindtext: $root.get_content(red_area_label)>Red Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.red_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.red_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(black)}> a classview_toggle black data-bindcss: {active: trace_region() black}>/a> a data-bindtext: $root.get_content(black_area_label)>Black Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.black_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.black_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(yellow)}> a classview_toggle yellow data-bindcss: {active: trace_region() yellow}>/a> a data-bindtext: $root.get_content(yellow_area_label)>Yellow Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.yellow_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.yellow_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(other)}> a classview_toggle other data-bindcss: {active: trace_region() other}>/a> a data-bindtext: $root.get_content(other_area_label)>Other Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.other_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.other_percentage()}} -->!-- /ko --> /div> div data-bindclick: function(){trace_region(pink)}> a classview_toggle pink data-bindcss: {active: trace_region() pink}>/a> a data-bindtext: $root.get_content(pink_area_label)>Pink Tissue/a> !-- ko template:{name: template_cm2, data: {value: trace_tool.pink_area()}} -->!-- /ko --> !-- ko template:{name: template_percent, data: {value: trace_tool.pink_percentage()}} -->!-- /ko --> /div> /section> !-- /ko --> /section> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: active_patient --> !-- ko with: active_patient --> !--------------------------------------------------------- -> patient header ------------------------------------------------------------> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.is_embedded() && $root.settings.show_patient_identifiers_when_embedded() --> header> h1> !-- ko if: !$root.settings.global_hide_name() --> span data-bindhtml: fullname()>/span> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> span data-bindvisible:dateOfBirth> strong data-bindtext:$root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> span data-bindvisible:medicalRecordNumber> strong data-bindtext:$root.get_content(mrn) + :>MRN:/strong> span data-bindtext:medicalRecordNumber>/span> /span> !-- /ko --> /h1> /header> !-- /ko --> header classhide_inactive data-bind css: { first: !$root.is_embedded() || !$root.settings.show_patient_identifiers_when_embedded(), active: !$root.page().trace_mode(), higher: $root.page().show_settings() }> !-- ko if: !$root.is_embedded() --> !-- ko if: $root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span data-bindtext: patientId>/span> /a> /h1> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> !-- ko if: !$root.settings.global_hide_name() --> span data-bind css: {inactive: !active()}, html: fullname() + (active() ? : span>( + $root.get_content(inactive) + )/span>) >/span> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> span data-bindtext: medicalRecordNumber>/span> !-- /ko --> /a> /h1> span classnowrap> !-- ko if: $root.settings.use_patient_account_number --> h4 data-bindvisible: emrFinId> strong data-bindtext: $root.get_content(emr_fin_id_title) + :>AccountID:/strong> span data-bindtext: emrFinId>/span> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> h4 data-bindvisible: dateOfBirth> strong data-bindtext: $root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> h4 data-bindvisible: medicalRecordNumber> strong data-bindtext: $root.get_content(mrn) + :>MRN:/strong> span data-bindtext: medicalRecordNumber>/span> /h4> !-- /ko --> /span> !-- /ko --> !-- /ko --> !-- ko if: !$root.is_nhwc() --> h4 classpatient_record> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span data-bindtext: $root.get_content(patient_record)>patient record/span> /a> /h4> !-- /ko --> !-- ko if: !$root.is_nhwc() && !$root.user().hide_eval_dates() --> a classicon_settings data-bind click: function(){$root.page().show_settings(!$root.page().show_settings())}, clickBubble: false >/a> !-- /ko --> div classsections data-bindcss: {active:$root.page().show_settings()}> section classpage_options hide_inactive data-bind css: {active:$root.page().show_settings()}, click:function(){}, clickBubble: false, with: $root.page > h2 data-bindtext: $root.get_content(page_options)>Page Options/h2> !-- ko if: !require_filmstrip() --> label classcb_label data-bindclick: function(){show_filmstrip(show_filmstrip() on ? off : on)}> input typecheckbox data-bindchecked: show_filmstrip() on /> strong data-bindtext: $root.get_content(filmstrip)>Filmstrip/strong> /label> !-- /ko --> !-- ko if: !$root.user().hide_eval_dates() && !$root.settings.ct_components() --> div classeval_view> h3 data-bindtext: $root.get_content(evaluation_view) + :>Evaluation View:/h3> label classcb_label data-bindclick: function(){show_single_card(show_single_card() on ? off : on)}> input typecheckbox data-bindchecked: show_single_card() on /> strong data-bindtext: $root.get_content(single_card_view)>Single Card/strong> /label> label classcb_label data-bindclick: function(){show_triptych(show_triptych() on ? off : on)}> input typecheckbox data-bindchecked: show_triptych() on /> strong data-bindtext: $root.get_content(three_card_view)>Three Card/strong> /label> /div> !-- /ko --> !-- ko if: !$root.settings.disable_notes() --> label classcb_label data-bindclick: function(){show_notes(show_notes() on ? off : on)}> input typecheckbox data-bindchecked: show_notes() on /> strong data-bindtext: $root.get_content(notes_title)>Notes/strong> /label> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> label classcb_label data-bind click: function(){show_surface_area_history(show_surface_area_history() on ? off : on)} > input typecheckbox data-bindchecked: show_surface_area_history() on /> strong data-bindtext: $root.get_content(surface_area_history)>Surface Area History/strong> /label> !-- /ko --> !-- ko if: !$root.settings.disable_formularies() --> label classcb_label data-bind click: function(){show_formulary_history(show_formulary_history() on ? off : on)} > input typecheckbox data-bindchecked: show_formulary_history() on /> strong data-bindtext: $root.get_content(formulary_history)>Formulary History/strong> /label> !-- /ko --> /section> /div> /header> !-- /ko --> div data-iframe-height classsections hide_inactive data-bindcss: {active:!$root.page().trace_mode()}, visible:$parent.ready()> !--------------------------------------------------------- -> wound header ------------------------------------------------------------> !-- ko if: !$root.is_nhwc() --> !-- ko with: $root.page() --> section classwound_info> div classwound_label> span data-bindtext: $root.get_content(wound)>Wound/span> #span data-bindtext: active_wound_index() + 1>/span> - span data-bindtext: active_wound().obs_location_or_customLocation_with_default()>/span> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> !-- ko if: active_evaluation() --> !-- ko if: active_wound().first_evaluation() --> span data-bindtext: ( + $root.get_content(active_since)>wound active since/span> span data-bindtext: formatted_date(active_wound().first_evaluation().created()) + )>/span> !-- /ko --> !-- /ko --> !-- /ko --> a classicon_pencil data-bind attr: {title: $root.get_content(edit_wound_information)}, click:function(){edit_wound_modal(true)} >/a> /div> div classwound_controls> div classwound_paging> span data-bindtext: $root.get_content(wound)>Wound/span> span classposition_box> span data-bindclick: function(){}> a classaccordion_arrow>/a> /span> span data-bindtext: active_wound_index() + 1>/span> span data-bindclick: function(){}> a classaccordion_arrow>/a> /span> /span> span data-bindtext: $root.get_content(of)>of/span> span data-bindtext: wound_list().length>/span> /div> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.settings.wound_status_enabled() --> div data-bindwith: active_evaluation> div classwound_status> span data-bindtext: $root.get_content(wound_status) + :>Wound Status:/span> div classmultiselect singleselect dropdown> div classaccordion_multiselect data-bind css: {disable: $root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()}, click: function(){ if($root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()) return; if($root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()) $root.page().active_dropdown(null); else $root.page().active_dropdown(evaluation_status_ + $data.woundEvaluationId()); }, clickBubble: false > div classsummary> !-- ko if: $data.woundEvaluationStatus() && $data.woundEvaluationStatus().status --> span classchip> span data-bindtext: $data.woundEvaluationStatus().status.toLowerCase()>/span> /span> !-- /ko --> /div> a classaccordion_arrow active data-bind>/a> /div> div classoptions data-bind css: {active: $root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()} > div class> div data-bindclick: function(){ $data.woundEvaluationStatus({status:ACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(active)>active/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:INACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(inactive)>inactive/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:HEALED}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(healed)>healed/span> /div> /div> /div> /div> /div> /div> !-- /ko --> !-- /ko --> a classwound_history data-bind text: $root.get_content(wound_history), click: function(){$root.page().wound_history_modal(true)} >Wound History/a> /div> div classevaluation_nav data-bindcss: { has_homunculi: $root.settings.location_representation_method() homunculi || $root.settings.location_representation_method() text_and_avatar, has_wound_status: !$root.page().nhwc_wound_view() && $root.settings.wound_status_enabled(), model_1: active_wound().modelId() 1, model_2: active_wound().modelId() 2, model_3: active_wound().modelId() 3, model_4: active_wound().modelId() 4, model_5: active_wound().modelId() 5, model_6: active_wound().modelId() 6, model_7: active_wound().modelId() 7, model_8: active_wound().modelId() 8, model_9: active_wound().modelId() 9, model_10: active_wound().modelId() 10, model_11: active_wound().modelId() 11, model_12: active_wound().modelId() 12 }> !-- ko if: $root.settings.location_representation_method() homunculi || $root.settings.location_representation_method() text_and_avatar --> div classmodel_wrapper> div classmodel data-bindwith: active_wound> img data-bindcss: {active: modelId()}, attr:{src: $root.page().model_img_by_id(modelId() || 1)}> !-- ko if: modelId() && (sitex() || sitey()) --> div data-bindstyle:{top: (sitey()*100)+%, left: (sitex()*100)+%}>/div> !-- /ko --> !-- ko if: !$root.page().read_only() && active_evaluation() && !first_evaluation().read_only() --> a classwrench titleclick to adjust wound location data-bind attr: { title: $root.get_content(click_to_adjust_wound_location), href: #pagedocumentation&patientId + patientId() + &woundId + woundId() + &editmodel } >/a> !-- /ko --> /div> /div> !-- /ko --> div classzoombox data-bindclick: function(){carousel_view(true)}>/div> div idevaluation_filmstrip classevaluation_filmstrip data-bindwith: active_wound> div classslider> !-- ko foreach: evaluations_archive --> !-- ko if: $data && $root.page().active_evaluation() --> span data-bind attr: {id: filmstrip_eval_ + $data.woundEvaluationId}, css: { active: $data.woundEvaluationId $root.page().active_evaluation().woundEvaluationId(), pinned: $root.page().is_in_serena_group_pinned_evals($data.woundEvaluationId), archived: !$data.active }, click: function(){$root.page().go_to_evaluation($index())} > !-- ko if: $data.attributeMap && $data.attributeMap.IS_CIRCUMFERENTIAL_WOUND --> div classcw data-bindattr: {title: $root.get_content(circumferential_wound)}>CW/div> !-- /ko --> !-- ko if: $data.debridement --> div classpd data-bindattr: {title: $root.get_content(post_debridement)}>PD/div> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> h4 data-bindtext: $root.page().formatted_date($data.created)>/h4> !-- /ko --> img data-bindattr: { event: {load: function(){$root.page().test(thumbnail loaded)}}, src: $root.page().photo_src($data.woundEvaluationId, null, $data, $root.page().filmstrip_size()) } /> /span> !-- /ko --> !-- /ko --> /div> /div> /div> /section> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> evaluations ------------------------------------------------------------> !-- ko with: active_wound --> !--------------------------------------------------------- -> deterioration risk ------------------------------------------------------------> !-- ko if: $root.settings.enable_pi_deterioration_risk() --> !-- ko if: $data.pressureDeteriorationRisk && $data.pressureDeteriorationRisk() --> !-- ko if: $data.pressureDeteriorationRisk().bucket medium --> div classdeterioration_risk_warning medium_risk> a classicon icon_yellow_alert>/a> span data-bindtext: $root.get_content(medium_deterioration_risk_tooltip)>/a> /div> !-- /ko --> !-- ko if: $data.pressureDeteriorationRisk().bucket high --> div classdeterioration_risk_warning high_risk> a classicon icon_red_alert>/a> span data-bindtext: $root.get_content(high_deterioration_risk_tooltip)>/a> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- the check below is done both ways to avoid race conditions met when only one or the other is used --> !-- ko if: active_evaluation() && $root.page().active_evaluation() --> !--------------------------------------------------------- -> wound view ------------------------------------------------------------> section classevaluation_detail data-bind attr:{id: evaluation_detail_ + active_evaluation().woundEvaluationId()}, css: {amending: $root.page().is_previous_version() || active_evaluation().amending()} > h2 classnew_template_evaluation_nav data-bindtemplate:{ name: new_template_evaluation_nav, data: {page: $parents1, evaluation: active_evaluation()} }>/h2> div ideval_flexbox classeval_flexbox> !-- ko if: active_evaluation().media() && active_evaluation().media().length > 1 --> div classmedia_thumbnails data-bindwith: active_evaluation()> !-- ko foreach: media() --> span data-bind html: $parent.media_thumbnail($data), css: { active: $parent.active_media() && $data.mediaUri $parent.active_media().mediaUri, photo_thumb: $data.mediaMetadata.mediaCategory WOUND_EVALUATION_IMAGE, video_thumb: $data.mediaMetadata.mediaCategory CIRCUMFERENTIAL_WOUND_EVALUATION_VIDEO || $data.mediaMetadata.mediaCategory DEPTH_VIDEO }, attr: { title: $root.page().media_title($data.mediaMetadata.mediaCategory) }, click: function(){$parent.active_media($data)} > /span> !-- ko if: $root.settings.enable_auto_depth() --> !-- ko if: $data.mediaMetadata.mediaCategory DEPTH_VIDEO --> div classmesh_wrapper id3d_mesh data-bind css: { loading: $root.page().single_card_mesh_viewer.loading(), active: $root.page().single_card_mesh_viewer.active(), not_available: $root.page().single_card_mesh_viewer.not_available() } > div classloading> span data-bindtext: $root.get_content(loading)>loading/span> br /> span data-bindtext: $root.get_content(depth_map)>depth map/span> /div> div classnot_available> span data-bindtext: $root.get_content(depth_map)>depth map/span> br /> span data-bindtext: $root.get_content(not_available)>not available/span> /div> /div> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> div classphoto_wrapper> !-- ko with: $parents1 --> div classphoto> div classpatient_head_direction_workspace data-bind css: {active: active_patient_head_direction_indicator() active_evaluation().woundEvaluationId()}, event: { click: function(obj, event){preview_patient_head_direction(active_evaluation(), event)}, mousemove: function(obj, event){preview_patient_head_direction(active_evaluation(), event)} } > a classbtn data-bind text: $root.get_content(confirm), click: function(){set_patient_head_direction(active_evaluation())} >Confirm/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){ active_evaluation().preview_patientHeadDirection(active_evaluation().patientHeadDirection()); active_patient_head_direction_indicator(null); } >Cancel/a> /div> img data-bind attr: { id: eval_photo_ + active_evaluation().woundEvaluationId(), src: active_evaluation().img_src() } /> div classanalysis_wrapper idmain_analysis_layer_pink data-bind css: {active: pink_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_red data-bind css: {active: red_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_yellow data-bind css: {active: yellow_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_black data-bind css: {active: black_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_other data-bind css: {active: other_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_perimeter data-bind css: {active: perimeter_layer_visible} >/div> div classanalysis_wrapper idmain_analysis_layer_axis data-bind css: {active: axis_layer_visible} >/div> !-- ko if: !$root.settings.disable_undermining() --> div classanalysis_wrapper idmain_analysis_layer_undermines data-bind css: {active: undermines_layer_visible} >/div> !-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> div classanalysis_wrapper idmain_analysis_layer_tunnels data-bind css: {active: tunnels_layer_visible} >/div> !-- /ko --> div classnew_analysis_wrapper idmain_analysis_new_layer data-bind css: {active:trace_tool.ready} >/div> !-- ko if: !trace_tool.end_to_end_length() --> div classlength data-bind visible: trace_tool.length(), text: ~ + (trace_tool.formatted_length() || 0) + cm >/div> !-- /ko --> !-- ko if: trace_tool.end_to_end_length() --> div classlength data-bindvisible: trace_tool.length()> span data-bind text: $root.get_content(end_to_end) + : ~ + trace_tool.formatted_end_to_end_length() + cm >/span> span classlowercase data-bind text: $root.get_content(total) + : ~ + trace_tool.formatted_length() + cm >/span> /div> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() ! new_tunnel && $root.page().observation_in_edit_mode() ! new_undermine --> !-- ko if: !active_evaluation().no_photo() --> a classzoom data-bind click:function(){$root.page().zoom_photo($root.page().active_evaluation().img_src())} >/a> !-- /ko --> !-- ko template:{ name: template_patient_head_direction_indicator, data: {evaluation: active_evaluation()}} -->!-- /ko --> !-- ko if: $root.page().show_pdf_links() --> a classpdf data-bindattr:{href:active_evaluation().pdf_link()}>/a> !--a classpdf data-bind attr:{href:active_evaluation().pdf_link()}, click: function(){return true}, clickBubble: false >/a>--> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().active_media() && active_evaluation().media() && active_evaluation().media().length --> !-- ko if: active_evaluation().active_media().mediaUri ! active_evaluation().media()0.mediaUri --> div classalt_media data-bindwith: active_evaluation().active_media()> !-- ko if: $data.mediaMetadata.mimeType.indexOf(image/) > -1 --> img data-bindattr:{src: $data.mediaUri} /> !-- /ko --> !-- ko if: $data.mediaMetadata.mimeType.indexOf(video/) > -1 --> video idalt_media_video_player controls controlsListnodownload data-bind attr: { }> source data-bind attr: { src: $data.mediaUri, type: $data.mediaMetadata.mimeType }> /video> !-- /ko --> /div> !-- /ko --> !-- /ko --> h4> !-- ko if: !$root.settings.disable_image_download() && !active_evaluation().no_photo() --> a classsave titlesave photo data-bind attr: { title: $root.get_content(save_photo), href: active_evaluation().img_src() }, click: function(){ $root.audit_event.record_event( PHOTO_DOWNLOAD, {href: active_evaluation().img_src()}); return true }, clickBubble: false download>/a> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> !-- ko if: !active_evaluation().no_photo() --> span data-bindtext: $root.get_content(photo)>Photo/span>: span data-bindtext: active_evaluation().credit()>/span> !-- /ko --> !-- /ko --> /h4> /div> !-- /ko --> /div> div classinfo data-bindcss: {disable_delta_colors: !$root.settings.delta_color()}> !-- ko if: active_evaluation().status_message_container() --> !-- ko template:{ name: toast_message, data: active_evaluation().status_message_container() } -->!-- /ko --> !-- /ko --> div classpie_and_progress data-bindcss: {fit_archive_controls: active_evaluation().amendable() || $root.user().has_any_role(archive_admin,ta_admin)}> !-- ko if: $root.settings.dressing_removal_video() --> !-- ko if: active_evaluation().dressingRemovalVideoUri() --> div classunboxing_video> a classbtn data-bind text: $root.get_content(dressing_removal_video), click: function(){ $root.page().show_unboxing_video(active_evaluation().dressingRemovalVideoUri()) } > dressing removal video /a> /div> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().signedById() --> !-- ko with: active_evaluation() --> div classsigned> div classcurrent_version> strong data-bindtext: $root.get_content(signed) + :>Signed:/strong> span data-bindtext: signedBy>/span> !-- ko if: !$root.page().hide_dates() --> span data-bindhtml: $root.page().formatted_date_and_time(signedOn())>/span> !-- /ko --> div> !-- ko if: !$root.settings.amendment_feature_toggle() --> !-- ko if: $root.user().has_role(ta_admin) --> a classhint data-bind click: function(){$root.page().confirm_ta_unlock($data)} > Unlock /a> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.amendment_feature_toggle() --> !-- ko if: amendable --> a classhint data-bindclick: function(){amending(!amending())}> span data-bind text: amending() ? $root.get_content(cancel_amendment) : $root.get_content(make_amendment) > Make Amendment /span> /a> !-- /ko --> !-- ko if: versionList().length > 0 --> a classhint data-bindclick: function(){ $root.page().show_version_list($root.page().show_version_list() ! single ? single: null) }> span data-bindtext: $root.get_content(version_history)>Version History/span> /a> !-- /ko --> !-- /ko --> /div> /div> !-- ko if: $root.settings.amendment_feature_toggle() --> div classversion_list data-bind css: {active: $root.page().show_version_list() single}, style: {maxHeight: $root.page().show_version_list() single ? $element.scrollHeight + px : 0px}, > !-- ko foreach: versionList() --> a data-bind css: {active: $data.id $parent.active_version()}, click: function(){$parent.active_version($data.current ? null : $data.id)} > span data-bindtext: version>/span>: span data-bindtext: signedByName>/span> !-- ko if: !$root.page().hide_dates() --> span classcreated data-bindhtml: $root.page().formatted_date_and_time(created, null, true)>/span> !-- /ko --> /a> !-- /ko --> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.tissue_color_on() --> div classpie_chart_wrapper> canvas idpie_chart width140 height140>/canvas> /div> !-- /ko --> div classprogress_wrapper data-bindwith: active_evaluation> !-- ko if: timepointLabel() --> h3 classevaluation_label data-bindtext: timepointLabel>/h3> !-- /ko --> !-- ko if: !$root.settings.disable_push_score() --> h3 classpush_score> span data-bindtext: $root.get_content(push_score)>/span>: !-- ko if: has_analysis() && woundAnalysis().measurements --> span data-bindhtml: Number(pushScore()) || —>/span> !-- /ko --> !-- ko if: !has_analysis() || !woundAnalysis().measurements --> span>—/span> !-- /ko --> /h3> !-- /ko --> !-- ko if: healed() --> !-- ko if: !$root.settings.wound_status_enabled() --> h3 classhealed> strong classcapitalize data-bindtext: $root.get_content(healed)>healed/strong> !-- ko if: !$root.page().read_only() && !$data.read_only() --> a classundo data-bindclick: function(evaluation){unmark_healed(evaluation)}> (span data-bindtext: $root.get_content(undo)>undo/span>) /a> !-- /ko --> /h3> !-- /ko --> !-- /ko --> div> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.settings.wound_status_enabled() --> div classwound_status> span data-bindtext: $root.get_content(wound_status) + :>Wound Status:/span> div classmultiselect singleselect dropdown> div classaccordion_multiselect data-bind css: {disable: $root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()}, click: function(){ if($root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()) return; if($root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()) $root.page().active_dropdown(null); else $root.page().active_dropdown(evaluation_status_ + $data.woundEvaluationId()); }, clickBubble: false > div classsummary> !-- ko if: $data.woundEvaluationStatus() && $data.woundEvaluationStatus().status --> span classchip> span data-bindtext: $data.woundEvaluationStatus().status.toLowerCase()>/span> /span> !-- /ko --> /div> a classaccordion_arrow active data-bind>/a> /div> div classoptions data-bind css: {active: $root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()} > div class> div data-bindclick: function(){ $data.woundEvaluationStatus({status:ACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(active)>active/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:INACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(inactive)>inactive/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:HEALED}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(healed)>healed/span> /div> /div> /div> /div> /div> !-- /ko --> !-- ko if: (!$root.page().read_only() && !$data.read_only()) || $root.user().serena_eval_shuffle() --> !-- ko if: !$root.settings.wound_status_enabled() --> !-- ko if: !healed() && !$root.settings.disable_mark_healed() && !$root.user().serena_eval_shuffle()--> a classbtn selected data-bind text: $root.get_content(mark_healed), click: function(evaluation){mark_healed(evaluation)} >Mark Healed/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_sign_and_lock() --> !-- ko if: !signedById() && (no_photo() || (analysisPending && !analysisPending() && approved && approved())) --> !-- ko if: !$root.settings.only_creator_locks_evals() || $data.user().userId $root.user().userId() --> a classbtn sign_and_lock data-bind css: {danger: !$root.settings.enable_portal_redesign()}, text: $root.get_content(sign_and_lock), click: function(evaluation){$root.page().confirm_sign_lock(evaluation)} >Sign & Lock/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> /div> !-- ko if: !$root.page().hide_dates() --> !-- ko if: $root.settings.visit_based_obs() && active_evaluation().visitTypeId() --> h3 data-bind text: $root.get_content(visit_type) + : + $root.org().get_visit_type_name(active_evaluation().visitTypeId()) >/h3> !-- /ko --> !-- check for an encounter level visit type --> !-- ko if: $root.settings.encounter_workflow() && active_evaluation().visitTypeDesc && active_evaluation().visitTypeDesc() --> h3 data-bindtext: $root.get_content(visit_type) + : + active_evaluation().visitTypeDesc()>/h3> !-- /ko --> !-- ko if: $root.settings.randomize_patient() && !$root.user().is_read_only() --> !-- ko if: active_evaluation().visitTypeId() $root.settings.randomize_patient() --> !-- ko if: !$root.page().active_patient().randomizationAllocation() --> a classbtn data-bind click:function(){$root.page().active_patient().randomize_patient()} >Randomize/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> post-debridement / circumferential ------------------------------------------------------------> !-- ko if: active_evaluation().debridement() --> h3 classstatus_label data-bindtext: get_content(post_debridement)>/h3> !-- /ko --> !-- ko if: active_evaluation().is_circumferential() --> h3 classstatus_label data-bindtext: get_content(circumferential_wound)>/h3> !-- /ko --> !--------------------------------------------------------- -> messages (post-debridement,pending, no dot, no wound, etc) ------------------------------------------------------------> div classno_analysis_messages hide_inactive data-bind css: {active:!$root.page().active_evaluation_has_analysis()}, with: active_evaluation() > !-- ko foreach: analysisPending_messages() --> h6 classanalyzing data-bindtext: $data>/h6> !-- /ko --> !-- ko if: analysisPending_messages().length --> div classspinner active>/div> !-- /ko --> !-- ko foreach: no_analysis_messages() --> h6> span data-bindtext: $data>/span> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.user().serena_eval_shuffle() --> !-- ko if: !$parent.read_only() --> !-- ko if: !$parent.analysisPending() --> !-- ko if: $data $root.get_content(no_wound_detected) --> a classwrench titledraw wound outline data-bind attr: {title: $root.get_content(draw_wound_outline)}, click: function(){ $root.page().active_wound().active_evaluation($parent); $root.page().trace_mode(outline); } >/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /h6> !-- /ko --> /div> !--------------------------------------------------------- -> evaluation measurements ------------------------------------------------------------> h3 data-bindtext: $root.get_content(measurements)>Measurements/h3> !-- ko if: active_evaluation().active_media_is_circumferential() --> br />br />br /> !-- ko template:{name: toast_message, data: { inline_message: true, can_dismiss: false, message: $root.get_content(circumferential_measurement_disclaimer) }} -->!-- /ko --> !-- /ko --> !-- ko if: !active_evaluation().active_media_is_circumferential() --> !-- ko if: !$root.page().nhwc_wound_view() --> div classdelta_controls> !-- ko if: $root.page().active_evaluation().has_analysis() && $root.page().active_wound().comparison_evaluation() && !$root.page().hide_dates() --> div classdates data-bind css: {active: $root.page().delta_date_options_open()}, style: {height: $root.page().delta_date_options_open() ? $element.scrollHeight + px : 30px}, click: function(){$root.page().delta_date_options_open(!$root.page().delta_date_options_open())}, clickBubble: false > div classcurrent data-bind html: Δ + ( $root.settings.delta_by_visit_type() ? $root.page().active_wound().comparison_evaluation().visitTypeDesc() : $root.page().formatted_date($root.page().active_wound().comparison_evaluation().created()) ) >/div> div classdelta_options> !-- ko foreach: $root.page().active_wound().comparison_evaluation_options() --> div data-bind text: $root.settings.delta_by_visit_type() ? visitTypeDesc : date, css: {active: $root.page().active_wound().comparison_evaluation().created() created}, click: function(){ var comparison_evaluation new TA.model_evaluation( $root.page().active_wound(), $root.page().active_wound().evaluations_archive()index ); $root.page().active_wound().comparison_evaluation(comparison_evaluation); } >/div> !-- /ko --> /div> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> a classbtn thin retrace_outline data-bind css: { pd: active_evaluation().debridement(), cw: active_evaluation().is_circumferential() }, text: $root.get_content(retrace_wound_perimeter), click: function(){$root.page().trace_mode(outline)} >Retrace Wound Perimeter/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> table classdisplay compact data-bind css: { clickable: active_evaluation().has_analysis(), no_analysis: !active_evaluation().has_analysis() }> tbody> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: all, measurement: totalArea, unit: cm2, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: axis, measurement: majorAxisLength, unit: cm, axis_label: length, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: axis, measurement: minorAxisLength, unit: cm, axis_label: width, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: perimeter, measurement: perimeterLength, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> !-- ko if: !$root.page().saving_tunnels() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: tunnels, measurement: totalTunnelsLength, is_approximate: $root.page().tunnels_are_approximate(), unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), editable: (!$root.page().read_only() && !active_evaluation().read_only()), on_click: function(){ if($root.page().observation_in_edit_mode() tunneling || $root.page().observation_in_edit_mode() new_tunnel){ $root.page().observation_in_edit_mode(null); $root.page().close_tracy(true); } else { $root.page().observation_in_edit_mode(tunneling); $root.page().tunnels_layer_visible(true); } } } } -->!-- /ko --> !-- /ko --> !-- ko foreach: active_evaluation().tunnels_list() --> tr classnot_clickable> td>/td> !-- ko if: $root.page().observation_in_edit_mode() ! tunneling --> td classbreakdown data-bind html: • + $root.get_content(tunnel) + + ($index() + 1) >/td> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() tunneling --> td classbreakdown> a classtrash titledelete tunnel data-bind attr: {title: $root.get_content(delete_tunnel)}, click: function(){$root.page().remove_tunnel($index())}, event: { mouseenter: function(){$root.page().highlight_tunnel($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span data-bindhtml: $root.get_content(tunnel) + + ($index() + 1)>/span> /td> !-- /ko --> td classunitvalue> !-- ko if: $data.woundTunnelId 0 -->~!-- /ko --> !-- ko template:{ name: template_cm, data: {value: $data.woundTunnelLength, to_fixed: 2} } -->!-- /ko --> /td> !-- ko if: $parent.comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_tunnel --> tr classnot_clickable> td>/td> td classbreakdown data-bind html: • + $root.get_content(new) + + $root.get_content(tunnel) >/td> td classunitvalue> span data-bindhtml: ~ + ($root.page().trace_tool.formatted_length() || 0) + cm\u00A0>/span> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() tunneling --> tr classnot_clickable> td>/td> td colspan2> a classbtn data-bind text: $root.get_content(new_tunnel), click:function(){$root.page().new_tunnel()} >New Tunnel/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_tunnel --> tr classnot_clickable> td>/td> td colspan2> a classbtn inactive data-bind text: $root.get_content(save), css: {active: $root.page().trace_tool.has_changes()}, click: function(){$root.page().save_new_layer()} >Save/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_undermining() --> !-- ko if: !$root.page().saving_undermines() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: undermines, measurement: totalUnderminesLength, is_approximate: $root.page().undermines_are_approximate(), unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), editable: (!$root.page().read_only() && !active_evaluation().read_only()), on_click: function(){ if($root.page().observation_in_edit_mode() undermining || $root.page().observation_in_edit_mode() new_undermine){ $root.page().observation_in_edit_mode(null); $root.page().close_tracy(true); } else { $root.page().observation_in_edit_mode(undermining); $root.page().undermines_layer_visible(true); } } } } -->!-- /ko --> !-- /ko --> !-- ko foreach: active_evaluation().undermines_list() --> tr classnot_clickable> td>/td> !-- ko if: $root.page().observation_in_edit_mode() ! undermining --> td classbreakdown data-bind html: • + $root.get_content(region) + + ($index() + 1) >/td> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() undermining --> td classbreakdown> a classtrash titledelete region data-bind attr: {title: $root.get_content(delete_region)}, click: function(){$root.page().remove_undermine($index())}, event: { mouseenter: function(){$root.page().highlight_undermine($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span data-bindhtml: $root.get_content(region) + + ($index() + 1)>/span> /td> !-- /ko --> td classunitvalue> !-- ko if: $data.woundUndermineId 0 -->~!-- /ko --> !-- ko template:{ name: template_cm, data: {value: $data.woundUndermineLength, to_fixed: 2} } -->!-- /ko --> /td> !-- ko if: $parent.comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_undermine --> tr classnot_clickable> td>/td> td classbreakdown data-bind html: • + $root.get_content(new) + + $root.get_content(region) >/td> td classunitvalue> span data-bindhtml: ~ + $root.page().round_cm($root.page().trace_tool.end_to_end_length() || 0) + cm\u00A0>/span> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() undermining --> tr classnot_clickable> td>/td> td colspan2> a classbtn thin data-bind text: $root.get_content(new_region), click:function(){$root.page().new_undermine()} >New Region/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- ko if: $root.page().observation_in_edit_mode() new_undermine --> tr classnot_clickable> td>/td> td colspan2> a classbtn inactive data-bind text: $root.get_content(save), css: {active: $root.page().trace_tool.has_changes()}, click: function(){$root.page().save_new_layer()} >Save/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$root.page().close_tracy(true)} >Cancel/a> /td> !-- ko if: $root.page().active_wound().comparison_evaluation() --> td>/td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: active_evaluation().woundAnalysis().measurements.depth 0 --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: height, measurement: height, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: ( $root.page().read_only() || active_evaluation().read_only() || $root.user().blinded_reviewer() ) ? null : true, on_save: function(event){$data.active_evaluation().update_height(event)} } } -->!-- /ko --> !-- /ko --> !-- ko if: !active_evaluation().woundAnalysis().measurements.depth || active_evaluation().woundAnalysis().measurements.depth > 0 --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: depth, measurement: depth, unit: cm, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: ( $root.page().read_only() || active_evaluation().read_only() || $root.user().blinded_reviewer() ) ? null : true, on_save: function(event){$data.active_evaluation().update_depth(event)} } } -->!-- /ko --> !-- /ko --> !-- ko if: active_evaluation().depthAnalysis() && active_evaluation().depthAnalysis().maxDepth ! null --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: volume, measurement: volume, unit: cm3, evaluation: active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation(), not_clickable: true, editable: false } } -->!-- /ko --> !-- /ko --> /tbody> /table> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> a classretrace_outline data-bind css: { pd: active_evaluation().debridement(), cw: active_evaluation().is_circumferential() }, text: $root.get_content(retrace_wound_perimeter), click: function(){$root.page().trace_mode(outline)} >Retrace Wound Perimeter/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> evaluation tissue types ------------------------------------------------------------> !-- ko if: $root.settings.tissue_color_on() --> div classevaluation_tissue_types> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: $root.settings.user_region_tracing() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: !active_evaluation().analysisPending() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> !-- ko if: !$root.page().nhwc_wound_view() --> a classbtn thin retrace_region data-bind text: $root.get_content(retrace_tissue_composition), click: function(){ $root.page().trace_mode(region); $root.page().trace_instructions_visible(false); } >Retrace Tissue Composition/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> table classdisplay compact data-bind css: { clickable: $root.page().active_evaluation_has_analysis(), no_analysis: !$root.page().active_evaluation_has_analysis() }> tbody data-bindforeach: TA.tissue_colors> !-- ko template:{ name: template_evaluation_tissue_measurement_row, data: { use_tablet_layout: false, color: $data, evaluation: $parent.active_evaluation(), comparison_evaluation: $root.page().active_wound().comparison_evaluation() } } -->!-- /ko --> /tbody> /table> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko if: $root.settings.user_region_tracing() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !active_evaluation().no_photo() && !active_evaluation().noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !active_evaluation().read_only() || $root.is_nhwc() --> !-- ko if: !active_evaluation().analysisPending() --> !-- ko if: active_evaluation().has_analysis() --> !-- ko if: !active_evaluation().healed() --> !-- ko if: !$root.page().nhwc_wound_view() --> a classlink retrace_region data-bind text: $root.get_content(retrace_tissue_composition), click: function(){ $root.page().trace_mode(region); $root.page().trace_instructions_visible(false); } >Retrace Tissue Composition/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko if: $root.page().stack_obs_under_info() --> !-- ko if: !$root.is_nhwc() --> div classobservations> !-- ko template:{name: template_evaluation_formularies, data: { use_recs: $root.settings.treatment_recs() && !$root.settings.disable_formulary_recommendations(), isolate_recs: $root.settings.isolate_formulary_recommendations(), page: $root.page(), evaluation: active_evaluation(), edit_mode_match: formularies, include_archive_controls: true }} -->!-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> observations ------------------------------------------------------------> !-- ko if: !$root.page().stack_obs_under_info() --> !-- ko if: !$root.is_nhwc() --> div classobservations> !-- ko template:{name: template_evaluation_formularies, data: { use_recs: $root.settings.treatment_recs() && !$root.settings.disable_formulary_recommendations(), isolate_recs: $root.settings.isolate_formulary_recommendations(), page: $root.page(), evaluation: active_evaluation(), edit_mode_match: formularies, include_archive_controls: true }} -->!-- /ko --> /div> !-- /ko --> !-- /ko --> /div> /section> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> evaluation_detail -- view model for the evaluation edit page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() evaluation_detail && page()}> !-- ko if: active_page() evaluation_detail && page() --> !-- ko with: page --> div classpage_content> !--------------------------------------------------------- -> evaluation_detail content ------------------------------------------------------------> div classwound_detail evaluation_edit data-bindcss: {active:active_patient}> !-- ko if: active_patient --> !-- ko with: active_patient --> !-- ko if: $root.is_embedded() && $root.settings.show_patient_identifiers_when_embedded() --> header> !-- ko if: !$root.settings.global_hide_name() --> h1 data-bindhtml: fullname()>/h1> !-- /ko --> span classnowrap> !-- ko if: !$root.settings.hide_dob() --> h4 data-bindvisible:dateOfBirth> strong data-bindtext:$root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> h4 data-bindvisible:medicalRecordNumber> strong data-bindtext:$root.get_content(mrn) + :>MRN:/strong> span data-bindtext:medicalRecordNumber>/span> /h4> !-- /ko --> /span> /header> !-- /ko --> header data-bindcss: {expanded_patient_info: $root.settings.display_patient_info_on_wounds()}> !-- ko if: !$root.is_embedded() --> !-- ko if: $root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span data-bindtext: patientId>/span> /a> /h1> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> h1> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> !-- ko if: !$root.settings.global_hide_name() --> span data-bind css: {inactive: !active()}, html: fullname() + (active() ? : span>( + $root.get_content(inactive) + )/span>) >/span> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> span data-bindtext: medicalRecordNumber>/span> !-- /ko --> /a> /h1> span classnowrap> !-- ko if: !$root.settings.hide_dob() --> h4 data-bindvisible:dateOfBirth> strong data-bindtext:$root.get_content(dob)>DOB/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> h4 data-bindvisible:medicalRecordNumber> strong data-bindtext:$root.get_content(mrn)>MRN/strong> span data-bindtext:medicalRecordNumber>/span> /h4> !-- /ko --> /span> !-- /ko --> !-- /ko --> !-- ko if: !$root.is_nhwc() --> h4 classpatient_record> a data-bindattr:{href: #pagepatient_detail&patientId + patientId()}> span classicon_folder>/span> span data-bindtext: $root.get_content(patient_record)>patient record/span> /a> /h4> !-- /ko --> !-- ko if: $root.settings.display_patient_info_on_wounds() --> div classsecondary_patient_info> !-- ko if: !$root.settings.hide_height_and_weight() --> div> h4> span data-bindtext: $root.get_content(height)>Height/span> input typenumber min0 max272 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_cm, event: { focus: function(){data_field_focus height_cm}, blur: function(){data_field_focus null} } /> cm !-- ko if: !$root.settings.hide_imperial_units() --> / span classmobile_block> input typenumber min0 max8 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_ft, event: { focus: function(){data_field_focus height_ft}, blur: function(){data_field_focus null} } /> ft input typenumber min0 max11 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: height_in, event: { focus: function(){data_field_focus height_in}, blur: function(){data_field_focus null} } /> in /span> !-- /ko --> /h4> br /> h4> span data-bindtext: $root.get_content(weight)>Weight/span> input typenumber min0 max650 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: weight_kg, event: { focus: function(){data_field_focus weight_kg}, blur: function(){data_field_focus null} } /> kg !-- ko if: !$root.settings.hide_imperial_units() --> / input typenumber min0 max1433 data-bind disable: $data.read_only || $root.user().is_read_only(), textInput: weight_lb, event: { focus: function(){data_field_focus weight_lb}, blur: function(){data_field_focus null} } /> lb !-- /ko --> /h4> !-- ko if: $root.page().has_height_change() || $root.page().has_weight_change() --> br /> h4> span>/span> button data-bindclick: function(){$root.page().save_patient()}>save/button> /h4> !-- /ko --> /div> !-- /ko --> !-- ko if: $root.org().custom_patient_data() --> !-- ko if: $data.documentation.medications --> div> h4> Medications !-- ko if: !$root.page().show_medications_edit() --> a classicon_pencil titleedit data-bind click: function(){ $root.page().show_medications_edit(true) }>/a> !-- /ko --> /h4> !-- ko if: !$root.page().show_medications_edit() --> ul> !-- ko if: !$data.documentation.medications().length --> li>None/li> !-- /ko --> !-- ko foreach: $data.documentation.medications() --> li data-bindtext: $data>/li> !-- /ko --> /ul> !-- /ko --> !-- ko if: $root.page().show_medications_edit() --> div classedit> !-- ko foreach: $root.page().patient_documentation_options(medications) --> div> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().active_patient().documentation.medications() > span data-bindtext: $data>/span> /label> /div> !-- /ko --> button data-bindclick: function(){$root.page().show_medications_edit(false)}>save/button> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: $data.documentation.medicationAllergies --> div> h4> Allergies !-- ko if: !$root.page().show_allergies_edit() --> a classicon_pencil titleedit data-bind click: function(){ $root.page().show_allergies_edit(true) }>/a> !-- /ko --> /h4> !-- ko if: !$root.page().show_allergies_edit() --> ul> !-- ko if: !$data.documentation.medications().length && !$data.documentation.otherAllergies() --> li>None/li> !-- /ko --> !-- ko foreach: $data.documentation.medicationAllergies() --> li data-bindtext: $data>/li> !-- /ko --> !-- ko if: $data.documentation.otherAllergies() --> !-- ko foreach: $data.documentation.otherAllergies().replace(/;/g,,).split(,) --> li data-bindtext: $data.trim()>/li> !-- /ko --> !-- /ko --> /ul> !-- /ko --> !-- ko if: $root.page().show_allergies_edit() --> div classedit> !-- ko foreach: $root.page().patient_documentation_options(medicationAllergies) --> div> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().active_patient().documentation.medicationAllergies() > span data-bindtext: $data>/span> /label> /div> !-- /ko --> div> span>Other:/span> input typetext data-bindtextInput: $root.page().active_patient().documentation.otherAllergies> /div> button data-bindclick: function(){$root.page().show_allergies_edit(false)}>save/button> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !-- /ko --> /header> div classsections data-bindvisible:$parent.ready()> !-- ko with: active_wound --> section classevaluation_detail> h2 data-bindtemplate:{ name: template_evaluation_nav, data: { page: $parents1, evaluation: active_evaluation(), position: active, type: title, title: Edit Documentation } }>/h2> div classphoto_wrapper data-bindwith:$parents1> div classphoto data-bindcss: {drawing_new_layer: trace_tool.ready}> img ideval_photo data-bindattr: {src: active_evaluation().img_src()} /> !-- ko if: !$root.settings.disable_undermining() --> div classanalysis_wrapper idmain_analysis_layer_undermines data-bind css: {active:undermines_layer_visible} >/div> !-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> div classanalysis_wrapper idmain_analysis_layer_tunnels data-bind css: {active:tunnels_layer_visible} >/div> !-- /ko --> div classnew_analysis_wrapper idmain_analysis_new_layer data-bind css: {active:trace_tool.ready} >/div> !-- ko if: !trace_tool.end_to_end_length() --> div classlength data-bind visible: trace_tool.length(), text: ~ + (trace_tool.formatted_length() || 0) + cm >/div> !-- /ko --> !-- ko if: trace_tool.end_to_end_length() --> div classlength data-bindvisible: trace_tool.length()> span data-bind text: $root.get_content(end_to_end) + : ~ + (trace_tool.formatted_end_to_end_length() || 0) + cm >/span> span classlowercase data-bind text: $root.get_content(total) + : ~ + trace_tool.formatted_length() + cm >/span> /div> !-- /ko --> /div> /div> div classinfo_and_obs> !-- ko with: $parents1 --> div classtracy_instructions hide_inactive data-bindcss: {active: trace_tool.ready}> div classhide_inactive data-bindcss: {active: !trace_msg()}> div data-bindvisible: observation_in_edit_mode() tunneling> p data-bindtext: $root.get_content(tunnel_instructions)> Hold the mouse button down while moving the cursor to draw a new tunnel. This tool records one straight line at a time. /p> /div> div data-bindvisible: observation_in_edit_mode() undermining> p data-bindtext: $root.get_content(undermining_instructions_1)> Hold the mouse button down while moving the cursor to draw a new undermining region. This tool records lines of any shape. /p> p data-bindtext: $root.get_content(undermining_instructions_2)> You may draw one section at a time. You may click a series of points to draw a straight lines between them. /p> p data-bindtext: $root.get_content(undermining_instructions_3)> The undo button will undo one action at a time. /p> /div> a classbtn inactive data-bind text: $root.get_content(save), css: {active: trace_tool.has_changes()}, click: function(){save_new_layer()} >Save/a> a classbtn warn inactive capitalize data-bind text: $root.get_content(undo), css: {active: trace_tool.has_changes()}, click: function(){trace_tool.undo()} >Undo/a> a classbtn reject data-bind text: $root.get_content(cancel), click: function(){close_tracy(true)} >Cancel/a> /div> div classtrace_msg hide_inactive data-bindcss: {active: trace_msg}> div data-bindtext: trace_msg>/div> a classbtn data-bind text: $root.get_content(okay), click: function(){close_tracy(true)} >Okay/a> /div> /div> !-- /ko --> div classinfo data-bindcss: {disable_delta_colors: $root.settings.delta_color()}> !-- ko if: active_evaluation().timepointLabel() --> h3 classevaluation_label data-bindtext: active_evaluation().timepointLabel()>/h3> !-- /ko --> table classdisplay compact edit_mode> tbody> !-- ko if: !$root.page().edit_focus() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: false, label: depth, measurement: depth, unit: cm, evaluation: active_evaluation(), not_clickable: true, editable: !$root.user().blinded_reviewer(), on_save: function(event){$data.active_evaluation().update_depth(event)}, hide_deltas: true } } -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> !-- ko if: $root.page().edit_focus() tunnels || $root.page().edit_focus() undermines --> tr classnot_clickable> td>a classview_toggle active tunnels>/a>/td> td colspan2> span data-bindtext: $root.get_content(tunnels_label)>Tunneling/span> a classnew_row data-bind text: $root.get_content(new_tunnel), click:function(){$root.page().new_tunnel()} >New Tunnel/a> /td> /tr> !-- ko foreach: active_evaluation().tunnels_list() --> tr classnot_clickable> td>/td> td> a classtrash titledelete tunnel data-bind click: function(){$root.page().remove_tunnel($index())}, event: { mouseenter: function(){$root.page().highlight_tunnel($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span classtrashable data-bind text: $root.get_content(tunnel) + + ($index() + 1) >/span> /td> td classunitvalue> !-- ko if: $root.is_set($data.tunnelLength()) --> !-- ko if: !$data.woundTunnelId --> ~ !-- /ko --> span data-bindtext: parseFloat($data.tunnelLength()).toFixed(2) + cm>/span> !-- /ko --> !-- ko if: !$data.tunnelLength() && $data.tunnelLength() ! 0 --> span data-bindtext: $root.get_content(pending)>pending/span> !-- /ko --> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_undermining() --> !-- ko if: $root.page().edit_focus() tunnels || $root.page().edit_focus() undermines --> tr classnot_clickable> td>a classview_toggle active undermines>/a>/td> td colspan2> span data-bindtext: $root.get_content(undermines_label)>Undermining/span> a classnew_row data-bind text: $root.get_content(new_region), click:function(){$root.page().new_undermine()} >New Region/a> /td> /tr> !-- ko foreach: active_evaluation().undermines_list() --> tr classnot_clickable> td>/td> td> a classtrash titledelete undermining region data-bind click: function(){$root.page().remove_undermine($index())}, event: { mouseenter: function(){$root.page().highlight_undermine($index())}, mouseleave: function(){$root.page().stop_highlight()} } >/a> span classtrashable data-bind text: $root.get_content(region) + + ($index()+1) >/span> /td> td classunitvalue> !-- ko if: $root.is_set($data.woundUndermineLength()) --> !-- ko if: !$data.woundUndermineId --> ~ !-- /ko --> span data-bind text: parseFloat($data.woundUndermineLength()).toFixed(2) + cm >/span> !-- /ko --> !-- ko if: !$data.woundUndermineLength() && $data.woundUndermineLength() ! 0 --> span data-bindtext: $root.get_content(pending)>pending/span> !-- /ko --> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> /tbody> /table> /div> !-- ko if: !$root.is_nhwc() --> !-- ko if: !$root.page().edit_focus() --> div classobservations dynamic_component hide_inactive data-bind attr: { dynamic_component_type: observations, match_id: active_evaluation().woundEvaluationId(), dynamic_component_payload: $root.page().dynamic_component_payload(observations, active_evaluation().woundId(), active_evaluation().woundEvaluationId()) }> !-- ko template:{name: template_evaluation_formularies, data: { use_recs: $root.settings.treatment_recs() && !$root.settings.disable_formulary_recommendations(), isolate_recs: $root.settings.isolate_formulary_recommendations(), page: $root.page(), evaluation: active_evaluation(), edit_mode_match: formularies, hide_patient_obs: true }} -->!-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_submit_button() --> a classbtn data-bindtext: $root.get_content(done), attr:{href:wound_detail_link()}>Done/a> !-- /ko --> /div> h2 data-bindtemplate:{ name: template_evaluation_nav, data: {page: $parents1, evaluation: active_evaluation(), position: active, type: title} }>/h2> /section> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> documentation -- app functionality ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() documentation && page()}> !-- ko if: active_page() documentation && page() --> !-- ko with: page --> div classpage_content> div classdocumentation> div> h1 classheader> span data-bindtext: $root.get_content(documentation) + ((step_description()) ? : : )>Documentation/span> !-- ko if: step_description() --> span data-bindtext: step_description>/span> !-- /ko --> /h1> /div> div classpatient_records> !-- ko if: step() portal_add_wound_msg --> div classdisable_new_wound> h2 data-bindtext: $root.get_content(portal_add_wound_msg)> New wounds are disabled for this organization. Please contact your system administrator for help. /h2> /div> !-- /ko --> !-- ko if: step() encounter_list --> div classencounter_list> !-- ko template: {name: template_documentation_header, data: {patient: active_patient(), wound: active_wound()}} -->!-- /ko --> !-- ko if: available_encounters().length --> h2 classdocumentation_header> select classbtn data-bind optionsCaption: $root.get_content(create_new_visit), options: available_encounters, optionsText: visitTypeDesc, optionsValue: visitTypeId, value: visitTypeId >/select> /h2> !-- /ko --> !-- ko if: available_encounters().length && existing_encounters().length --> h2 classdocumentation_header>or/h2> !-- /ko --> !-- ko if: existing_encounters().length --> h2 classdocumentation_header> select classbtn data-bind optionsCaption: $root.get_content(select_a_previous_visit), options: existing_encounters, optionsText: label, optionsValue: encounterId, value: encounterId >/select> /h2> !-- /ko --> /div> !-- /ko --> !-- ko if: ready() && etiology_list,child_etiology_list.indexOf(step()) > -1 --> !-- ko template: {name: template_documentation_header, data: {patient: active_patient(), wound: active_wound()}} -->!-- /ko --> div classdocumentation_header etiology_select> span classinfo_label data-bindtext: $root.settings.etiology_ui_scheme() + :>/span> select data-bind optionsCaption: , options: $root.org().active_etiologyList, optionsText: etiologyLabel, optionsValue: etiologyId, value: active_wound().etiologyId >/select> /div> !-- ko if: step() child_etiology_list --> div classdocumentation_header etiology_select> !-- ko if: !$root.settings.enable_wound_condition_type() --> span classinfo_label>/span> !-- /ko --> !-- ko if: $root.settings.enable_wound_condition_type() --> !-- ko if: active_wound().etiologyId() $root.settings.pressure_injury_etiology_id() --> span classinfo_label data-bindtext: $root.get_content(select_pressure_injury_stage) + :>/span> !-- /ko --> !-- ko if: $root.settings.wound_condition_type_etiologies().indexOf(active_wound().etiologyId()) > -1 --> span classinfo_label data-bindtext: $root.get_content(select_wound_classification) + :>/span> !-- /ko --> !-- ko if: active_wound().etiologyId() ! $root.settings.pressure_injury_etiology_id() && $root.settings.wound_condition_type_etiologies().indexOf(active_wound().etiologyId()) -1 --> span classinfo_label>/span> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.enable_wound_condition_type() || $root.settings.wound_condition_type_etiologies().indexOf(active_wound().etiologyId()) -1 --> !-- ko foreach: new Array($root.page().active_etiology_depth()) --> select data-bind optionsCaption: , options: $root.page().child_etiologiese + $index()(), optionsText: etiologyLabel, optionsValue: etiologyId, value: $root.page().child_etiology_selectede + $index() >/select> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.enable_wound_condition_type() && $root.settings.wound_condition_type_etiologies().indexOf(active_wound().etiologyId()) > -1 --> select data-bind optionsCaption: , options: $root.org().wound_condition_types, optionsText: condition, optionsValue: conditionTypeId, value: active_wound().conditionTypeId >/select> !-- /ko --> /div> !-- /ko --> !-- ko if: !$root.settings.require_etiology() --> br />br /> a classbtn neutral data-bind text: $root.get_content(skip_etiology), click: function(){$root.page().skip_etiology(true)} >Skip Etiology/a> !-- /ko --> !-- /ko --> !-- ko if: step() epic_list && ready() --> div classdocumentation_header epic_list vertical_stack_on_mobile> span> span classinfo_label data-bindtext: $root.get_content(orientation) + :>Orientation:/span> div classaccordion_multiselect compact data-bind css: {active: multiselect_menu_active() orientation}, click: function(){ multiselect_menu_active() orientation ? multiselect_menu_active(null) : multiselect_menu_active(orientation) }, clickBubble: false > span data-bindtext: $root.get_content(select_orientation)>Select Orientation/span> a classaccordion_arrow data-bind css: {active: multiselect_menu_active() orientation}, click: function(){ multiselect_menu_active() orientation ? multiselect_menu_active(null) : multiselect_menu_active(orientation) }, clickBubble: false >/a> ul classaccordion data-bind descendantsComplete: function(){multiselect_menu_active.notifySubscribers(multiselect_menu_active())}, style: {maxHeight: multiselect_menu_active() orientation ? $element.scrollHeight + px : 0px}, click: function(){}, clickBubble: false > !-- ko foreach: orientation_options() --> li> label classcb_label data-bindclick: function(){$parent.select_epic_orientation($data)}> input typecheckbox data-bind checked: $parent.selected_orientation_ids().indexOf($data.orientationId) ! -1 > span data-bindtext: orientationLabel>/span> /label> /li> !-- /ko --> /ul> /div> /span> span> span classinfo_label data-bindtext: $root.get_content(location) + :>Location:/span> span> select class data-bind options: $root.page().location_options(), optionsText: locationLabel, optionsValue: locationId, optionsCaption: $root.get_content(select_location), value: location_id >/select> /span> /span> a classbtn data-bind text: $root.get_content(next), css: {disabled: !selected_orientations() || !location_id()}, click: function(){if(selected_orientations() && location_id()) text_location_complete(true)} >Next/a> /div> !-- /ko --> !-- ko if: step() text_list --> div classtext_list> span> span classinfo_label data-bindtext: $root.get_content(location)>Location/span>: span> select class data-bind options: $root.page().laterality_options(), optionsText: woundLocationDesc, optionsValue: woundLocationId, optionsCaption: , value: laterality_id >/select> select class data-bind options: $root.page().description_options(), optionsText: woundLocationDesc, optionsValue: woundLocationId, optionsCaption: , value: description_id >/select> select class data-bind options: $root.page().location_options(), optionsText: woundLocationDesc, optionsValue: woundLocationId, optionsCaption: , value: location_id >/select> select class data-bind options: $root.page().digit_options(), optionsText: woundLocationDesc, optionsValue: woundLocationId, optionsCaption: , value: digit_id >/select> /span> /span> a classbtn data-bind text: $root.get_content(next), click: function(){text_location_complete(true)} >Next/a> /div> !-- /ko --> !-- ko if: step() wound_expert_location_list --> div classdocumentation_header epic_list> span> span classinfo_label data-bindtext: $root.get_content(location)>Location/span>: span> select class data-bind options: $root.org().wound_location_options().bodySideLocationList, optionsText: woundLocationLabel, optionsValue: woundLocationId, optionsCaption: , value: active_wound().bodySideId >/select> /span> span> select class data-bind options: $root.org().wound_location_options().anatomicLocationList, optionsText: woundLocationLabel, optionsValue: woundLocationId, optionsCaption: , value: active_wound().anatomicLocationId >/select> /span> span> span> span classinfo_label data-bindtext: $root.get_content(orientation)>Orientation/span>: div classaccordion_multiselect compact data-bind css: {active: multiselect_menu_active() orientation}, click: function(){ multiselect_menu_active() orientation ? multiselect_menu_active(null) : multiselect_menu_active(orientation) }, clickBubble: false > span data-bindtext: $root.get_content(select_orientation)>Select Orientation/span> a classaccordion_arrow data-bind css: {active: multiselect_menu_active() orientation}, click: function(){ multiselect_menu_active() orientation ? multiselect_menu_active(null) : multiselect_menu_active(orientation) }, clickBubble: false >/a> ul classaccordion data-bind descendantsComplete: function(){multiselect_menu_active.notifySubscribers(multiselect_menu_active())}, style: {maxHeight: multiselect_menu_active() orientation ? $element.scrollHeight + px : 0px}, click: function(){}, clickBubble: false > !-- ko foreach: $root.org().wound_location_options().orientationLocationList --> li> label classcb_label data-bindclick: function(){$parent.select_wound_expert_orientation($data.woundLocationId)}> input typecheckbox data-bind checked: $root.page().active_wound().orientationLocationIds().indexOf($data.woundLocationId) ! -1 > span data-bindtext: woundLocationLabel>/span> /label> /li> !-- /ko --> /ul> /div> /span> /span> /span> a classbtn data-bind text: $root.get_content(next), click: function(){text_location_complete(true)} >Next/a> /div> !-- /ko --> !-- ko if: step() model_list --> div classmodel_list> !-- ko template: {name: template_documentation_header, data: {patient: active_patient(), wound: active_wound()}} -->!-- /ko --> div classmodels> !-- ko if: !$root.org().settings.avatar_set() || $root.org().settings.avatar_set() default --> section classbody> !-- ko foreach: $root.org().models --> !-- ko if: $data.type body --> div> h2 data-bindtext: $data.label>/h2> !-- ko template: {name: template_model_selector, data: $data} -->!-- /ko --> /div> !-- /ko --> !-- /ko --> /section> div> section classfoot left> h2 data-bindtext: $root.get_content(left)>Left/h2> !-- ko foreach: $root.org().models --> !-- ko if: $data.type foot && $data.dir left --> !-- ko template: {name: template_model_selector, data: $data} -->!-- /ko --> br /> !-- /ko --> !-- /ko --> /section> section classfoot right> h2 data-bindtext: $root.get_content(right)>Right/h2> !-- ko foreach: $root.org().models --> !-- ko if: $data.type foot && $data.dir right --> !-- ko template: {name: template_model_selector, data: $data} -->!-- /ko --> br /> !-- /ko --> !-- /ko --> /section> /div> !-- /ko --> !-- ko if: $root.org().settings.avatar_set() && $root.org().settings.avatar_set() ! default --> !-- ko foreach: $root.org().models --> div> section> !-- ko foreach: $data --> div> h2 data-bindtext: $data.desc>/h2> !-- ko template: {name: template_model_selector, data: $data} -->!-- /ko --> /div> !-- /ko --> /section> /div> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- ko if: step() depth_video_instructions --> div classdepth_video_instructions> div classdepth_effect_gif> p data-bind text: $root.get_content(depth_video_instructions) >Place a green dot near the wound and then take the video/p> /div> a classbtn data-bind text: $root.get_content(continue), click: function(){dismissed_depth_video_instructions(true)} >Continue/a> /div> !-- /ko --> !-- ko if: set_coordinates, select_acquisition_method, capture_photo, convert_photo, preview_photo, upload_video, preview_video, skip_photo .indexOf(step()) > -1 --> div classset_coordinates> !-- ko template: {name: template_documentation_header, data: {patient: active_patient(), wound: active_wound()}} -->!-- /ko --> !-- ko if: text,text_and_avatar,epic.indexOf($root.org().settings.location_representation_method()) > -1 --> div classmodel set text_location> div data-bindtext: active_wound().text_location_representation()>/div> !-- ko if: step() capture_photo --> a classreset data-bind text: $root.get_content(reset_location), click: function(){text_location_complete(false)} >reset location/a> !-- /ko --> /div> !-- /ko --> div classphoto> !-- ko if: $root.org().settings.location_representation_method() homunculi || $root.org().settings.location_representation_method() text_and_avatar --> div classmodel data-bind css: { set: step() ! set_coordinates, thumb: capture_photo,upload_video.indexOf(step()) > -1 }, click: function(page,event){ if(step() ! set_coordinates){ active_wound().sitex(null); active_wound().sitey(null); } else { record_wound_coordinates(page,event) } } > div classtarget data-bind visible: edit() ! coordinates && active_wound().sitex() && active_wound().sitey(), style:{ top: (active_wound().sitey()*100)+%, left: (active_wound().sitex()*100)+% } >/div> img data-bindattr:{src:$root.page().model_img_by_id(active_wound().modelId())} /> !-- ko if: step() capture_photo --> a classreset data-bind text: $root.get_content(reset_location), click: function(){ active_wound().sitex(null); active_wound().sitey(null); } >reset location/a> !-- /ko --> /div> !-- /ko --> !-- ko if: active_evaluation() && active_evaluation().galleryImageBase64() && step() upload_video --> div classprevious> h3 data-bindtext: $root.get_content(photo) + :>Photo:/h3> img data-bindattr:{src: active_evaluation().galleryImageBase64()} /> /div> !-- /ko --> !-- ko if: active_wound().latest_evaluation() && step() capture_photo --> div classprevious> h3 data-bindtext: $root.get_content(previous_photo) + :>Previous photo:/h3> img data-bindattr:{src: active_wound().thumb_src() ? active_wound().thumb_src().replace(&h50,&h250) : } /> /div> !-- /ko --> !-- ko if: step() select_acquisition_method --> div classcapture_photo select_acquisition_method data-bindcss: {active: step() select_acquisition_method}> form classmodels> !-- ko if: $root.page().camera.has_camera() --> a classbtn data-bind text: $root.get_content(take_a_new_photo), click: function(){photo_acquisition_mode(camera)} >Take a New Photo/a> br /> !-- /ko --> a classbtn data-bind text: $root.get_content(upload_an_existing_photo), click: function(){photo_acquisition_mode(file)} >Upload an Existing Photo/a> !-- ko if: $root.settings.eval_photos_optional() --> br />br /> a classbtn neutral data-bindclick: function(){photo_acquisition_mode(skip)}>Skip Photo/a> !-- /ko --> /form> /div> !-- /ko --> !-- ko if: set_coordinates,capture_photo,upload_video.indexOf(step()) > -1 --> div classcapture_photo data-bindcss: {active: step() ! set_coordinates}> !-- ko if: step() capture_photo --> form classmodels> label data-bind text: $root.get_content(select_latest_wound_photo) + : >Select latest wound photo:/label> input typefile acceptimage/* data-bindevent:{change:function(){add_photo($element.files0)}} /> !-- ko if: not_an_image --> div classhint error data-bind text: $root.get_content(please_select_an_image) >please select an image/div> !-- /ko --> /form> !-- /ko --> !-- ko if: step() upload_video --> form classmodels> !-- ko if: camera.has_camera() && camera.has_video_recorder() --> label data-bindtext: $root.get_content(wound_video) + :>Wound video:/label> input typefile acceptvideo/* captureenvironment data-bind event:{change:function(){add_video($element.files0)}} /> !-- /ko --> !-- ko if: !camera.has_camera() || !camera.has_video_recorder() --> label data-bind text: $root.get_content(select_latest_wound_video) + : >Select latest wound video:/label> input typefile acceptvideo/* data-bind event:{change:function(){add_video($element.files0)}} /> !-- /ko --> !-- ko if: not_a_video --> div classhint error data-bind text: $root.get_content(please_select_a_video) >please select a video/div> !-- /ko --> a classbtn data-bind text: $root.get_content(no_video), click: function(){skip_video(true)} >No video/a> /form> !-- /ko --> /div> !-- /ko --> !-- ko if: step() preview_photo || (step() uploading && active_evaluation().galleryImageBase64()) --> div classpreview_photo> img data-bindattr:{src: active_evaluation().galleryImageBase64()} /> div classflip_link> a data-bindtext: $root.get_content(rotate_photo), click:function(){flip_photo()}>Rotate photo/a> /div> /div> !-- ko if: active_evaluation().videoBase64() --> div classpreview_video> !-- ko if: preview_video_msg --> div classhint data-bindtext: preview_video_msg>/div> !-- /ko --> !-- ko if: !preview_video_msg() --> video idvideo controlstrue data-bindattr:{src:active_evaluation().videoBase64()}>/video> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !-- ko if: step() preview_photo || step() preview_video || step() uploading || step() skip_photo --> div classpreview_photo_controls> div classset_date> !-- ko if: step() skip_photo --> h3 data-bindtext: $root.get_content(evaluation_date) + :>Evaluation Date:/h3> !-- /ko --> !-- ko if: step() ! skip_photo --> h3 data-bindtext: $root.get_content(date_photo_was_taken) + :>Date photo was taken:/h3> !-- /ko --> !-- ko template:{name: template_calendar_input, data: $data.calendar_input} -->!-- /ko --> /div> div classset_time> !-- ko if: step() skip_photo --> h3 data-bindtext: $root.get_content(evaluation_time) + :>Evaluation Time:/h3> !-- /ko --> !-- ko if: step() ! skip_photo --> h3 data-bindtext: $root.get_content(time_photo_was_taken) + :>Time photo was taken:/h3> !-- /ko --> !-- ko template:{name: template_time_input, data: $data.time_input} -->!-- /ko --> /div> br /> label classcb_label data-bind click: function(){active_evaluation().debridement(!active_evaluation().debridement())} > input typecheckbox data-bindchecked: active_evaluation().debridement /> strong data-bindtext: $root.get_content(is_this_post_debridement)>Is this post-debridement?/strong> /label> !-- ko if: !$root.settings.disable_stat_notification() --> label classcb_label data-bindclick: function(){active_evaluation().is_stat(!active_evaluation().is_stat())}> input typecheckbox data-bindchecked: active_evaluation().is_stat /> strong data-bindtext: $root.get_content(send_stat_notification)>Send STAT Report Notification?/strong> /label> !-- /ko --> !-- ko if: $root.settings.visit_based_obs() --> div classset_visit_type> strong data-bindtext: $root.get_content(visit_type) + :>Visit Type:/strong> select data-bind options: $root.org().visit_types, optionsText: settingDesc, optionsValue: settingId, optionsCaption: , value: active_evaluation().visitTypeId >/select> /div> !-- /ko --> !-- ko if: step() ! uploading --> !-- ko if: !$root.settings.visit_based_obs() || active_evaluation().visitTypeId() && $root.org().visit_types.length --> a classbtn data-bind text: $root.get_content(continue), click:function(){save_photo()} >Continue/a> !-- /ko --> !-- /ko --> !-- ko if: step() uploading --> p data-bindtext: $root.get_content(saving_photo)>Saving photo/p> !-- /ko --> /div> !-- /ko --> !-- ko if: step() set_coordinates --> p data-bindtext: $root.get_content(set_coordinates_instructions_1)>Please click on the location of the wound./p> p classhint> span data-bindtext: $root.get_content(set_coordinates_instructions_2)>Or/span> a data-bind text: $root.get_content(set_coordinates_instructions_3), click:function(){active_wound().modelId(null)} >go back/a> span data-bind text: $root.get_content(set_coordinates_instructions_4) >to choose a different area./span> /p> !-- /ko --> /div> !-- /ko --> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> patient_records -- functionality for creating and searching patients ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() patient_records && page()}> !-- ko if: active_page() patient_records && page() --> !-- ko with: page --> div classpage_content> div classpatient_records> h1> span data-bindtext: $root.get_content(patient_records)>Patient Records/span> !-- ko if: !$root.settings.disable_patient_creation() --> a classnew_patient data-bind text: $root.get_content(create_new_patient), click:function(){hash({page:patient_detail})} >Create New Patient/a> !-- /ko --> /h1> section classpatient_search> form> input typetext data-bind attr:{placeholder: $root.get_content(patient_search_placeholder)}, textInput: patient_search.searchTerm /> button data-bind text: $root.get_content(search_patients), click:function(){patient_search.simple_search()} >Search Patients/button> /form> section classgraybox list search_results data-bindvisible:patient_search.have_searched> !-- ko if: patient_search.patient_collection && patient_search.patient_collection.list() --> !-- ko if: !patient_search.patient_collection.list().length --> h3 data-bindtext: $root.get_content(no_patients_msg)>/h3> !-- /ko --> !-- ko if: patient_search.patient_collection.list().length --> !-- ko template: { name: template_patient_list, data: { list: patient_search.patient_collection.list(), action: function(patient){ hash({ page: patient_detail, patientId: patient.patientId() }) } } } -->!-- /ko --> !-- /ko --> !-- /ko --> /section> /section> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> patient_detail -- functionality for managing a patient record ------------------------------------------------------------> !--------------------------------------------------------- -> template_patient_detail_section data: section_name: string, section_template: string ------------------------------------------------------------> script typetext/html idtemplate_patient_detail_section> tr classparent> td> a classcelllink data-bindclick: function(patient){$root.page().toggle_accordion($data.section_name)}>/a> span classself_step_accordion_section_name data-bindhtml: $data.section_name>/span> a classaccordion_arrow data-bind css: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1} >/a> !-- ko if: $data.encounter_selector --> a classbtn encounter_selector data-bind click: function(){ $root.page().encounterId($data.encounterId); $root.page().visitTypeId($data.visitType.visitTypeId); }, clickBubble: false >Add to this encounter/a> !-- /ko --> /td> /tr> tr classnot_selectable> td classchild> div classaccordion data-bind css: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1}, style: {maxHeight: (($root.page().expanded_sections.indexOf($data.section_name) ! -1) ? ($element.scrollHeight + 20) + px : 0px)} > !-- ko template:{name: section_template, data: $data} -->!-- /ko --> /div> /td> /tr> /script> div classpage data-bindcss: {active: active_page() patient_detail && page()}> !-- ko if: active_page() patient_detail && page() --> !-- ko with: page --> div classpage_content patient_detail data-bindwith: patient> !-- ko template: {name: template_facilities_selector_modal} -->!-- /ko --> !-- ko if: !$root.is_embedded() || $root.settings.show_patient_identifiers_when_embedded() --> header> !-- ko if: $root.settings.disable_phi() --> h1> h1 data-bindtext: patientId() || $root.get_content(new_patient)>New Patient/h1> /h1> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> h1 data-bind css: {inactive: !active()}, html: !fullname() ? $root.get_content(new_patient) : fullname() + (active() ? : span>( + $root.get_content(inactive) + )/span>) >New Patient/h1> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> h1 data-bindtext: medicalRecordNumber() || $root.get_content(new_patient)>New Patient/h1> !-- /ko --> span classnowrap> !-- ko if: $root.settings.use_patient_account_number --> h4 data-bindvisible:emrFinId> strong data-bindtext:$root.get_content(emr_fin_id_title) + :>AccountID:/strong> span data-bindtext:emrFinId>/span> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_dob() --> h4 data-bindvisible:dateOfBirth> strong data-bindtext:$root.get_content(dob) + :>DOB:/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $parent.formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /h4> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> h4 data-bindvisible:medicalRecordNumber> strong data-bindtext:$root.get_content(mrn) + :>MRN:/strong> span data-bindtext:medicalRecordNumber>/span> /h4> !-- /ko --> /span> !-- /ko --> /header> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> nav classtabs> !-- ko foreach: $root.page().visible_tabs() --> h1 classtab data-bind text: $root.get_content($data), css: {active: $root.page().active_tab() $data}, click: function(){ $root.page().okay_to_leave_tab(function(){$root.page().active_tab($data)}); } >/h1> !-- /ko --> /nav> div idpatient_information_tab classtab_content patient_information_tab data-bind css: {active: $root.page().active_tab() patient_information} > !-- ko if: !$root.is_embedded() && (!$root.settings.hide_phi_from_qualitative_reviewer() || !$root.user().has_role(qualitative_reviewer)) && !$root.user().serena_eval_shuffle() --> !-- ko if: !$root.user().has_role(blinded_reviewer) --> table classformtable> !-- ko if: !$root.page().patient().documentation.replace_default_fields() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_information), section_template: template_patient_detail_section_default_patient_information } } -->!-- /ko --> !-- ko if: $root.page().patient().documentation.active() && $root.page().patient().documentation.map.sections --> !-- ko foreach: $root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $data.label, fields: $data.fields, section_index: $index(), section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().documentation.replace_default_fields() --> !-- ko if: !$root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_information), fields: $root.page().patient().documentation.map.fields, section_index: 0, section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().documentation.map.sections --> !-- ko foreach: $root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $data.label, fields: $data.fields, section_index: $index(), section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /table> !-- /ko --> !-- /ko --> /div> div idpatient_app_tab classtab_content patient_app_tab data-bind css: {active: $root.page().active_tab() patient_app} > table classformtable> !-- ko if: !$root.settings.disable_phi() && !$root.settings.hide_phone() && !$root.settings.hide_email() --> !-- ko if: !$root.is_embedded() && $root.settings.patient_accounts() && !$root.page().create_mode() && !$root.user().is_read_only() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_app), section_template: template_patient_detail_section_app_account } } -->!-- /ko --> !-- /ko --> !-- /ko --> /table> /div> div classtab_content wound_list_tab data-bind css: {active: $root.page().active_tab() wound_list} > table classwound_list> !-- ko if: !$root.page().create_mode() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(wound_list), section_template: template_patient_detail_section_wound_list } } -->!-- /ko --> !-- /ko --> /table> /div> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> div classpatient_detail page_table> table classdisplay clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()} > tbody> !-- ko if: !$root.is_embedded() && (!$root.settings.hide_phi_from_qualitative_reviewer() || !$root.user().has_role(qualitative_reviewer)) && !$root.user().serena_eval_shuffle() --> !-- ko if: !$root.user().has_role(blinded_reviewer) --> !-- ko if: !$root.page().patient().documentation.replace_default_fields() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_information), section_template: template_patient_detail_section_default_patient_information } } -->!-- /ko --> !-- ko if: $root.page().patient().documentation.active() && $root.page().patient().documentation.map.sections --> !-- ko foreach: $root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $data.label, fields: $data.fields, section_index: $index(), section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().documentation.replace_default_fields() --> !-- ko if: !$root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_information), fields: $root.page().patient().documentation.map.fields, section_index: 0, section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().documentation.map.sections --> !-- ko foreach: $root.page().patient().documentation.map.sections --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $data.label, fields: $data.fields, section_index: $index(), section_template: template_patient_detail_section_custom_patient_information } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_phi() && !$root.settings.hide_phone() && !$root.settings.hide_email() --> !-- ko if: !$root.is_embedded() && $root.settings.patient_accounts() && !$root.page().create_mode() && !$root.user().is_read_only() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(patient_app), section_template: template_patient_detail_section_app_account } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().create_mode() --> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(wound_list), section_template: template_patient_detail_section_wound_list } } -->!-- /ko --> !-- /ko --> /tbody> /table> !-- template_patient_detail_randomization_group --> script typetext/html idtemplate_patient_detail_randomization_group> !-- ko if: $root.settings.randomize_patient() --> tr> td>Randomization Group/td> td> !-- ko if: randomizationAllocation --> span data-bindtext: $data.randomizationAllocation()>/span> !-- /ko --> !-- ko if: !randomizationAllocation() && !$root.user().is_read_only() --> a classbtn data-bindclick: function(){randomize_patient()}>Randomize/a> !-- /ko --> /td> /tr> !-- /ko --> /script> !-- template_patient_detail_discharged_status --> script typetext/html idtemplate_patient_detail_discharged_status> !-- ko if: $root.settings.enable_portal_redesign() --> tr> td data-bindtext: $root.get_content(status)>Status/td> td> label classcb_label data-bindclick: function(){if(!$root.page().read_only()) active(true)}> input typecheckbox data-bindchecked: active /> span data-bindtext: $root.get_content(active)>Active/span> /label> label classcb_label data-bindclick: function(){if(!$root.page().read_only()) active(false)}> input typecheckbox data-bindchecked: !active() /> span data-bindtext: $root.get_content(inactive)>Inactive/span> /label> /td> /tr> tr> td data-bindtext: $root.get_content(admission)>Admission/td> td> label classcb_label data-bindclick: function(){if(!$root.page().read_only()) discharged(false)}> input typecheckbox data-bindchecked: !discharged() /> span data-bindtext: $root.get_content(current_patient)>Current Patient/span> /label> label classcb_label data-bindclick: function(){if(!$root.page().read_only()) discharged(true)}> input typecheckbox data-bindchecked: discharged /> span data-bindtext: $root.get_content(discharged)>Discharged/span> /label> /td> /tr> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> tr> td> span data-bindtext: $root.get_content(status)>Status/span>: span classcapitalize data-bind text: discharged() ? $root.get_content(discharged) : $root.get_content(current_patient) >/span>, span classcapitalize data-bind text: (active() || active() null) ? $root.get_content(active) : $root.get_content(inactive) >/span> /td> td> !-- ko if: !$root.page().read_only() --> a classbtn data-bind text: discharged() ? $root.get_content(readmit) : $root.get_content(discharge), click: function(){ discharged(!discharged()); $root.page().save(); }, clickBubble: false >/a> !-- /ko --> !-- ko if: !$root.page().read_only() || $root.user().is_wound_write_only() --> a classbtn capitalize data-bind text: (active() || active() null) ? $root.get_content(deactivate) : $root.get_content(activate), click: function(){ active(!active()); $root.page().save(); }, clickBubble: false >/a> !-- /ko --> /td> /tr> !-- /ko --> /script> !-- template_patient_detail_default_fields --> script typetext/html idtemplate_patient_detail_default_fields> !-- ko if: !$root.page().create_mode() --> !-- ko template:{name: template_patient_detail_randomization_group, data: $root.page().patient()} -->!-- /ko --> !-- ko template:{name: template_patient_detail_discharged_status, data: $root.page().patient()} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_facilities() --> !-- ko template:{ name: template_patient_detail_facilities_list, data: $root.page().patient() } -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(first_name) + *, field_name: firstName}} -->!-- /ko --> !-- ko if: !$root.settings.hide_middle_name() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(middle_name), field_name: middleName}} -->!-- /ko --> !-- /ko --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(last_name) + *, field_name: lastName}} -->!-- /ko --> !-- ko if: !$root.settings.hide_name_suffix() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(suffix), field_name: suffix}} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> !-- ko template:{name: template_patient_edit_row, data: { type: text, label: $root.get_content(medical_record_number) + ($root.settings.require_mrn() ? * : ), field_name: medicalRecordNumber }} -->!-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().allscriptsPatientId() --> !-- ko template:{ name: template_patient_edit_row, data: { type: text, label_key: allscripts_patient_id, read_only: true, field_name: allscriptsPatientId }} -->!-- /ko --> !-- /ko --> !-- ko if: $root.page().patient().allscriptsVisitNumber() --> !-- ko template:{ name: template_patient_edit_row, data: { type: text, label_key: visit_number, read_only: true, field_name: allscriptsVisitNumber }} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_emrfinid() --> !-- ko template:{name: template_patient_edit_row, data: { type: text, label: $root.get_content(emr_account_number) + ($root.settings.require_emrfinid() ? * : ), field_name: emrFinId }} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_dob() && !$root.settings.dob_year_only() --> !-- ko template:{ name: template_patient_edit_row, data: {type: date, label: $root.get_content(date_of_birth) + *, field_name: formatted_dateOfBirth}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> !-- ko template:{ name: template_patient_edit_row, data: { type: text, label: $root.get_content(year_of_birth) + ($root.settings.require_year_of_birth() ? * : ), field_name: year_of_birth }} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_email() --> !-- ko if: $root.page().patient().preferredAuthMethod() ! email --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(email), field_name: email}} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_phone() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(phone), field_name: formatted_phone}} -->!-- /ko --> !-- ko if: !$root.settings.hide_phone_extension() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(phone_extension), field_name: phoneExtension}} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_sex() --> !-- ko template:{ name: template_patient_edit_row, data: { type: single-select, label: $root.get_content(sex), field_name: sex, options: {t:null,v:null},{t:Male,v:male},{t:Female,v:female},{t:Other / Prefer not to Specify,v:other}, optionsText: t, optionsValue: v }} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_gender() --> !-- ko template:{ name: template_patient_edit_row, data: {type: text, label: $root.get_content(gender), field_name: gender}} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_race_input() --> !-- ko template:{ name: template_patient_edit_row, data: {type: single-select, label: $root.get_content(race), field_name: race, options: $root.settings.race_options()}} -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_height_and_weight() --> !-- ko template:{ name: template_patient_edit_row, data: {type: height, label: $root.get_content(height), field_name: height}} -->!-- /ko --> !-- ko template:{ name: template_patient_edit_row, data: {type: weight, label: $root.get_content(weight), field_name: weight}} -->!-- /ko --> !-- /ko --> /script> !-- template_patient_detail_section_default_patient_information --> script typetext/html idtemplate_patient_detail_section_default_patient_information> form data-bindsubmit:function(){$root.page().save()}> fieldset data-bindattr:{disabled: $root.page().read_only()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().patient()> !-- ko if: !$data.documentation.replace_default_fields() --> !-- ko template:{ name: template_patient_detail_default_fields, data: $root.page().patient() } -->!-- /ko --> !-- /ko --> !-- ko if: $data.documentation.active() && !$data.documentation.map.sections --> !-- ko foreach: $data.documentation.map.fields --> !-- ko foreach: $data --> !-- ko template:{name: template_patient_edit_row, data: $data} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko template:{name: template_patient_detail_save_button} -->!-- /ko --> /tbody> /table> /fieldset> /form> /script> !-- template_patient_detail_facilities_list --> script typetext/html idtemplate_patient_detail_facilities_list> tr> td classrequired> span data-bind text: $root.get_content(departments) + ($root.settings.enable_portal_redesign() ? : *), css: {error: error_field() departments} >Departments*/span> !-- ko if: !$root.page().edit_departments_mode() --> (a classedit link data-bind text: $root.get_content(edit).toLowerCase(), click: function(){ if(!$root.settings.enable_portal_redesign()){ $root.page().edit_departments_mode(true); } else { $root.page().facilities_selector_modal_active(true); } } >/a>) !-- /ko --> /td> !-- ko if: !$root.page().edit_departments_mode() --> td> !-- ko if: !departments_desc_array().length --> span data-bindtext: $root.get_content(none)>/span> !-- /ko --> !-- ko if: departments_desc_array().length --> ul data-bindclick: function(){ if(!$root.settings.enable_portal_redesign()){ $root.page().edit_departments_mode(true) } }> !-- ko foreach: departments_desc_array() --> li data-bindtext: $data>/li> !-- /ko --> /ul> !-- /ko --> /td> !-- /ko --> !-- ko if: $root.page().edit_departments_mode() --> td classmini_rows departments> !-- ko foreach: $root.org().facilities.list() --> !-- ko if: $root.user().facilities().indexOf($data.facilityId()) > -1 --> div> strong data-bindtext: facilityName() + :>/strong> !-- ko foreach: departments.list() --> !-- ko if: $root.user().departments().indexOf($data.departmentId()) > -1 --> label classcb_label data-bindclick: function(){ $root.page().patient().update_departments($parent.facilityId(), $data.departmentId()) }> input typecheckbox data-bind checked: $root.page().patient().departments().indexOf($data.departmentId()) ! -1 /> span data-bindtext: departmentName>/span> /label> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> /td> !-- /ko --> /tr> /script> !-- template_facilities_selector_modal --> script typetext/html idtemplate_facilities_selector_modal> div classmodal_pagecover data-bindcss: {active: $root.page().facilities_selector_modal_active()}> section classmodal facilities_selector_modal> div classscroller data-bindstyle: {maxHeight: ($root.window_height() - 200) + px}> !-- ko foreach: $root.org().facilities.list() --> !-- ko if: $root.user().facilities().indexOf($data.facilityId()) > -1 --> div> div>strong data-bindtext: facilityName() + :>/strong>/div> div classdepartments> !-- ko foreach: departments.list() --> !-- ko if: $root.user().departments().indexOf($data.departmentId()) > -1 --> div> label classcb_label data-bindclick: function(){ $root.page().patient().update_departments($parent.facilityId(), $data.departmentId()) }> input typecheckbox data-bind checked: $root.page().patient().departments().indexOf($data.departmentId()) ! -1 /> span data-bindtext: departmentName>/span> /label> /div> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> a classbtn data-bind text: $root.get_content(done), click: function(){$root.page().facilities_selector_modal_active(false)} >Done/a> /section> /div> /script> !-- template_patient_detail_save_button --> script typetext/html idtemplate_patient_detail_save_button> tr> td colspan2 classbutton_row> !-- ko if: !$root.page().read_only() --> !-- ko if: $root.page().create_mode() --> button data-bindtext: $root.get_content(add_patient), click: function(){$root.page().save()}>Add Patient/button> !-- /ko --> !-- ko if: !$root.page().create_mode() --> button data-bindtext: $root.get_content(save_changes), click: function(){$root.page().save()}>Save Changes/button> !-- /ko --> !-- /ko --> /td> /tr> /script> !-- template_patient_detail_section_custom_patient_information --> script typetext/html idtemplate_patient_detail_section_custom_patient_information> form data-bindsubmit:function(){$root.page().save()}> fieldset data-bindattr:{disabled: $root.page().read_only()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().patient()> !-- ko if: $parent.section_index 0 --> !-- ko if: !$root.page().create_mode() --> !-- ko template:{ name: template_patient_detail_randomization_group, data: $root.page().patient() } -->!-- /ko --> !-- ko template:{ name: template_patient_detail_discharged_status, data: $root.page().patient() } -->!-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_facilities() --> !-- ko template:{ name: template_patient_detail_facilities_list, data: $root.page().patient() } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko foreach: $parent.fields --> !-- ko foreach: $data --> !-- ko template:{name: template_patient_edit_row, data: $data} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko template:{name: template_patient_detail_save_button} -->!-- /ko --> /tbody> /table> /fieldset> /form> /script> !-- template_patient_detail_section_app_account --> script typetext/html idtemplate_patient_detail_section_app_account> form data-bindsubmit:function(){$root.page().save()}> fieldset data-bindattr:{disabled: $root.page().read_only()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().patient()> !-- ko if: !$root.page().read_only() || $root.user().is_wound_write_only() --> tr> td> span data-bindtext: $root.get_content(account_status)>Account Status/span>: span data-bindtext: isUser() ? $root.get_content(enabled) : $root.get_content(disabled)>/span> /td> td> a classbtn data-bind text: isUser() ? $root.get_content(deactivate) : $root.get_content(activate), click: function(){ isUser(!isUser()); is_new_user(true); if($root.settings.patient_user_prov_mode() no_contact){ $root.page().save() } }, clickBubble: false >/a> !-- ko if: isUser() && !is_new_user() && $root.settings.patient_user_prov_mode() ! no_contact --> a classbtn data-bind text: $root.get_content(resend_welcome_notification), click:function(){resend_welcome_email()} > Resend Welcome Notification /a> !-- /ko --> /td> /tr> !-- /ko --> !-- ko if: registration_code() --> !-- ko template:{name: template_patient_edit_row, data: { type: text, label: $root.get_content(registration_code), field_name: registration_code, read_only: true }} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.patient_user_prov_mode() ! no_contact && $root.settings.patient_user_prov_mode() ! push_otp --> !-- ko template:{name: template_patient_edit_row, data: { type: single-select, label: $root.get_content(authentication_method) + *, field_name: preferredAuthMethod, read_only: !isUser(), options: {t:null,v:null}, {t:$root.get_content(email),v:email}, {t:$root.get_content(text_message),v:phone} , optionsText: t, optionsValue: v }} -->!-- /ko --> !-- ko template:{name: template_patient_edit_row, data: { type: text, label: $root.get_content(email) + *, field_name: email, read_only: !isUser() || preferredAuthMethod() ! email }} -->!-- /ko --> !-- ko template:{name: template_patient_edit_row, data: { type: text, label: $root.get_content(phone) + *, field_name: formatted_phone, placeholder: $root.settings.phone_number_format() US_AND_CANADA ? nnn-nnn-nnnn : , read_only: !isUser() || preferredAuthMethod() ! phone }} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.next_image_reminder() && !$root.page().read_only() --> tr> td data-bindtext: $root.get_content(photo_reminders)>Photo Reminders/td> td> !-- ko foreach: image_reminders() --> div classreminder> span data-bindtext: $data>/span> a classtrash titledelete reminder data-bind attr: {title: $root.get_content(delete_reminder)}, click: function(){ $root.page().patient().delete_image_reminder($data); } >/a> /div> !-- /ko --> a classbtn data-bind text: $root.get_content(new_reminder), click: function(a,b){ $data.new_image_reminder_calendar_input.active(true); $data.new_image_reminder_calendar_input.position_calendar(b.target); }, clickBubble: false >New Reminder/a> /td> /tr> !-- /ko --> tr> td data-bindtext: $root.get_content(date_of_last_photo)>Date of Last Photo/td> td data-bindhtml: $root.page().formatted_date_and_time(mostRecentEvaluationDateByPatient())>/td> /tr> !-- ko if: !$root.page().read_only() --> !-- ko if: $root.settings.next_image_reminder() || $root.settings.patient_user_prov_mode() ! no_contact --> tr> td colspan2 classbutton_row> div classerror_msg data-bindtext:error_msg,css: {active: error_msg}>/div> button typesubmit data-bind text: $root.get_content(save), click:function(){$root.page().save()} >Save/button> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> /fieldset> /form> /script> !-- template_patient_detail_section_wound_list --> script typetext/html idtemplate_patient_detail_section_wound_list> !-- ko if: !$root.page().wound_collection_loaded() --> section classno_wounds> div classspinner active>/div> /section> !-- /ko --> !-- ko if: $root.page().wound_collection_loaded() --> div classbtn_row> !-- ko if: !$root.page().read_only() && !$root.settings.disable_new_eval() && $root.settings.portal_add_wound() --> a data-bind css: { btn: !$root.settings.enable_portal_redesign(), link: $root.settings.enable_portal_redesign() }, text: $root.get_content(add_new_wound), attr: {href: #pagedocumentation&woundIdnew&patientId + $root.page().patient().patientId()} > Add a new wound /a> !-- /ko --> !-- ko with: $root.page().wound_collection --> span classtoggles> !-- label classcb_label include_healed data-bindclick: function(){include_healed(!include_healed())}> input typecheckbox data-bindchecked: include_healed /> span data-bindtext: $root.get_content(include_healed_wounds)>Include healed wounds/span> /label> --> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> label classcb_label include_archived data-bindclick: function(){include_archived(!include_archived())}> input typecheckbox data-bindchecked: include_archived /> span data-bindtext: $root.get_content(include_archived_wounds)>Include archived wounds/span> /label> !-- /ko --> /span> !-- /ko --> /div> !-- ko template:{name: template_nhsg_table, data: $root.page().wound_list()} -->!-- /ko --> /script> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> no_patient_detail -- non-primed patient message ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() no_patient_detail && page()}> !-- ko if: active_page() no_patient_detail && page() --> !-- ko with: page --> div classpage_content> div classpatient_detail page_table> table classdisplay clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()} > tbody> !-- ko template:{ name: template_patient_detail_section, data: { section_name: $root.get_content(wound_list), section_template: template_no_patient_detail_section_message } } -->!-- /ko --> /tbody> /table> script typetext/html idtemplate_no_patient_detail_section_message> section classno_wounds> h1 data-bindtext: $root.get_content(no_wounds_found)>No wounds found/h1> h2 data-bindtext: $root.get_content(no_wounds_capture_msg_1)> Capture wound images using the Tissue Analytics mobile application /h2> /section> /script> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> user_detail -- functionality for editing a users account ------------------------------------------------------------> !--------------------------------------------------------- -> template_user_detail_section data: section_name: string, section_template: string ------------------------------------------------------------> script typetext/html idtemplate_user_detail_section> tr classparent> td> a classcelllink data-bindclick: function(patient){$root.page().toggle_accordion($data.section_name)}>/a> span classself_step_accordion_section_name data-bindhtml: $data.section_name>/span> a classaccordion_arrow data-bind css: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1 || $root.page().is_new_user()} >/a> /td> /tr> tr classnot_selectable> td classchild> div classaccordion data-bind css: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1 || $root.page().is_new_user()}, style: { maxHeight: ( ( $root.page().expanded_sections.indexOf($data.section_name) ! -1 || $root.page().is_new_user() ) ? $element.scrollHeight + px : 0px ) } > !-- ko template:{name: section_template, data: $data} -->!-- /ko --> /div> /td> /tr> /script> div classpage data-bindcss: {active: active_page() user_detail && page()}> !-- ko if: active_page() user_detail && page() --> !-- ko with: page --> div classpage_content> !-- ko if: is_current_user --> h1 classheader data-bindtext: $root.get_content(my_account)>My Account/h1> !-- /ko --> !-- ko if: !is_current_user() && is_new_user()--> h1 classheader data-bindtext: $root.get_content(create_account)>Create Account/h1> !-- /ko --> !-- ko if: !is_current_user() && !is_new_user() --> h1 classheader> span data-bindtext: $root.get_content(edit_account)>Edit Account/span>: span data-bindtext: user().firstName() + + user().lastName()>/span> /h1> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> div classuser_detail> nav classtabs> !-- ko foreach: $root.page().visible_tabs() --> h1 classtab data-bind text: $root.get_content($data), css: {active: $root.page().active_tab() $data}, click: function(){$root.page().active_tab($data)} >/h1> !-- /ko --> /nav> div iduser_information_tab classtab_content user_information_tab data-bind css: {active: $root.page().active_tab() user_information} > div classformtable> !-- ko template: template_user_detail_section_account_information -->!-- /ko --> !-- ko template: template_user_detail_section_user_information -->!-- /ko --> /div> /div> div iduser_manage_password classtab_content user_manage_password data-bind css: {active: $root.page().active_tab() manage_password} > div classformtable> !-- ko template: template_user_detail_section_password -->!-- /ko --> /div> /div> div idmanage_signature_tab classtab_content manage_signature_tab data-bind css: {active: $root.page().active_tab() manage_signature} > !-- ko template: template_user_detail_section_signature -->!-- /ko --> /div> div iddownload_the_app_tab classtab_content download_the_app_tab data-bind css: {active: $root.page().active_tab() download_the_app} > !-- ko template: template_user_detail_section_download -->!-- /ko --> /div> div idmanage_cookies_tab classtab_content manage_cookies_tab data-bind css: {active: $root.page().active_tab() manage_cookies} > !-- ko template: template_user_detail_section_manage_cookies -->!-- /ko --> /div> div idmulti_installation_access_tab classtab_content multi_installation_access_tab data-bind css: {active: $root.page().active_tab() multi_installation_access} > !-- ko if: $root.user().has_role(ta_admin) --> !-- ko template: template_user_detail_section_installation_access -->!-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> div classuser_detail page_table> table classdisplay clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()} > tbody> !-- ko if: !$root.is_embedded() --> !-- ko if: !$root.page().is_current_user() && !$root.page().is_new_user() --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(account_information), section_template: template_user_detail_section_account_information } } -->!-- /ko --> !-- ko if: $root.user().has_role(ta_admin) --> !-- ko template:{ name: template_user_detail_section, data: { section_name: Multi-Installation Access, section_template: template_user_detail_section_installation_access } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $root.page().is_current_user() && $root.user().has_role(ta_admin) --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(account_information), section_template: template_user_detail_section_account_information, ta_admin_self_admin: true } } -->!-- /ko --> !-- /ko --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(user_information), section_template: template_user_detail_section_user_information } } -->!-- /ko --> !-- ko if: !$root.page().is_current_user() && $root.page().is_new_user() --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(account_information), section_template: template_user_detail_section_account_information } } -->!-- /ko --> !-- /ko --> !-- ko if: $root.page().is_current_user() --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(manage_password), section_template: template_user_detail_section_password } } -->!-- /ko --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(manage_signature), section_template: template_user_detail_section_signature } } -->!-- /ko --> !-- ko if: $root.user().play_store_link() || $root.user().app_store_link() --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(download_the_app), section_template: template_user_detail_section_download } } -->!-- /ko --> !-- /ko --> !-- ko template:{ name: template_user_detail_section, data: { section_name: $root.get_content(manage_cookies), section_template: template_user_detail_section_manage_cookies } } -->!-- /ko --> !-- /ko --> !-- /ko --> /tbody> /table> !-- template_user_detail_section_account_information --> script typetext/html idtemplate_user_detail_section_account_information> form data-bindsubmit:function(){save_user()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().user()> !-- ko if: !$parent.ta_admin_self_admin --> !-- ko if: !$root.page().is_new_user() --> !-- ko if: !$root.page().is_current_user() --> tr> td> span data-bindtext: $root.get_content(account_status)>Account Status/span>: span data-bindtext: account_status>/span> /td> td> a classbtn data-bind text: disabled() ? $root.get_content(activate) : $root.get_content(deactivate), click: function(){ disabled(!disabled()); $root.page().save_user(); }, clickBubble: false >/a> !-- ko if: locked() --> a classbtn data-bind text: $root.get_content(unlock), click: function(){$root.page().user_unlock()}, clickBubble: false >Unlock/a> !-- /ko --> a classbtn data-bind text: $root.get_content(send_password_reset_email), click:function(){$root.page().send_password_reset()} >Send Password Reset Email/a> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> tr> td data-bindtext: $root.get_content(username) + *>Username*/td> td> input typetext data-bind textInput: username, disable: $parent.ta_admin_self_admin || $root.page().is_current_user() > /td> /tr> !-- ko if: $root.settings.enable_report_emails() --> !-- ko if: !$root.page().is_current_user() --> tr> td data-bindtext: $root.get_content(report_emails)>Report Emails/td> td> select data-bindvalue: mailingList> option data-bindtext: $root.get_content(none)>none/option> option data-bindtext: $root.get_content(routine)>routine/option> option data-bindtext: $root.get_content(stat)>stat/option> option data-bindtext: $root.get_content(both)>both/option> /select> /td> /tr> !-- /ko --> !-- /ko --> !-- ko if: $parent.ta_admin_self_admin || !$root.page().is_current_user() || $root.user().has_role(ta_admin) --> tr> td> span data-bindtext: $root.get_content(roles)>Roles/span> !-- ko if: !$root.page().edit_roles_mode() --> (a classedit link data-bind text: $root.get_content(edit).toLowerCase(), click: function(){$root.page().edit_roles_mode(true)} >/a>) !-- /ko --> /td> td classroles> !-- ko if: !$root.page().edit_roles_mode() --> ul data-bindclick: function(){$root.page().edit_roles_mode(true)}> !-- ko foreach: roleDesc_array() --> !-- ko if: $data ! Sign and Lock || $root.settings.use_signer_locker_role() --> li data-bindtext: $data>/li> !-- /ko --> !-- /ko --> /ul> !-- /ko --> !-- ko if: $root.page().edit_roles_mode() --> !-- ko foreach: $root.org().userRoleList() --> !-- ko if: $data.roleLabel ! signer_locker || $root.settings.use_signer_locker_role() --> label classcb_label data-bind click:function(){ $parent.toggle_user_role($data, $root.page().user().roleDesc_array().indexOf($data.roleDesc) ! -1) } > input typecheckbox data-bindchecked: $root.page().user().has_role($data.roleLabel) /> span data-bindtext: $data.roleDesc>/span> /label> !-- /ko --> !-- /ko --> !-- /ko --> /td> /tr> !-- /ko --> !-- ko if: !$root.page().is_current_user() || $root.user().has_role(ta_admin) --> tr> td> span data-bindtext: $root.get_content(departments)>Departments/span> !-- ko if: !$root.page().edit_departments_mode() --> (a classedit link data-bind text: $root.get_content(edit).toLowerCase(), click: function(){$root.page().edit_departments_mode(true)} >/a>) !-- /ko --> /td> !-- ko if: !$root.page().edit_departments_mode() --> td> !-- ko if: $root.page().user().has_all_departments() --> ul>li data-bindtext: $root.get_content(all)>All/li>/ul> !-- /ko --> !-- ko if: !$root.page().user().has_all_departments() --> ul data-bindclick: function(){$root.page().edit_departments_mode(true)}> !-- ko foreach: departments_desc_array() --> li data-bindtext: $data>/li> !-- /ko --> /ul> !-- /ko --> /td> !-- /ko --> !-- ko if: $root.page().edit_departments_mode() --> td classmini_rows departments> div classglobal data-bindcss: {unchecked: !$root.page().user().has_all_departments()} > label classcb_label data-bindclick: function(){$root.page().update_user_departments(1,1)}> input typecheckbox data-bindchecked: $root.page().user().has_all_departments() /> span data-bindtext: $root.get_content(all)>All/span> /label> /div> !-- ko if: !$root.page().user().has_all_departments() --> !-- ko foreach: $root.org().facilities.list() --> !-- ko if: facilityName() ! Global --> div> strong data-bindtext: facilityName() + :>/strong> !-- ko foreach: departments.list() --> label classcb_label data-bindclick: function(){ $root.page().update_user_departments($parent.facilityId(), $data.departmentId()) }> input typecheckbox data-bind checked: $root.page().user().departments().indexOf($data.departmentId()) ! -1 /> span data-bindtext: departmentName>/span> /label> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> /td> !-- /ko --> /tr> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> tr> td colspan2 classbutton_row> div classerror_msg data-bindtext: error_msg, css: {active: error_msg}>/div> button typesubmit data-bind text: $root.get_content(save), click: function(){$root.page().save_user()} >Save/button> /td> /tr> !-- /ko --> /tbody> /table> /form> /script> !-- template_user_detail_section_installation_access --> script typetext/html idtemplate_user_detail_section_installation_access> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().user()> !-- ko if: multi_installation_info().length --> tr> td colspan2 data-bindforeach: multi_installation_info> br /> strong data-bindtext: name>/strong> a classtrash data-bindclick: function(){ $root.modal.confirmation_message($root.page().remove_from_installation_confirmation_msg($data)); $root.modal.confirmation_callback function(){$root.page().remove_from_installation($data)}; }>/a> ul classindent> li data-bindtext: roles: + roles.join(, )>/li> li data-bindtext: facilities: + facilities.join(, )>/li> /ul> /td> /tr> !-- /ko --> tr> td>Add Installation/td> td data-bindwith: $root.page()> select data-bind optionsCaption: , options: installations, optionsText: installation, optionsValue: installation, value: new_installation >/select> !-- ko if: new_installation() --> br /> select multipletrue size5 styleheight: auto data-bind options: $root.page().selected_installation_roles(), optionsText: roleDesc, optionsValue: userRoleId, selectedOptions: new_installation_roles >/select> br /> select multipletrue size5 styleheight: auto data-bind options: $root.page().selected_installation_facilities(), optionsText: departmentName, optionsValue: departmentId, selectedOptions: new_installation_facilities >/select> br /> !-- /ko --> !-- ko if: new_installation() && new_installation_roles().length && new_installation_facilities().length --> a classbtn data-bindclick: function(){add_to_installation()}>Save/a> !-- /ko --> /td> /tr> /tbody> /table> /script> !-- template_user_detail_section_user_information --> script typetext/html idtemplate_user_detail_section_user_information> form data-bindsubmit:function(){save_user()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().user()> tr> td data-bindtext: $root.get_content(email_address) + *>Email Address*/td> td>input typeemail data-bindtextInput: email />/td> /tr> tr> td data-bindtext: $root.get_content(prefix)>Prefix/td> td>input typetext data-bindtextInput: prefix />/td> /tr> tr> td data-bindtext: $root.get_content(first_name) + *>First Name*/td> td>input typetext data-bindtextInput: firstName />/td> /tr> tr> td data-bindtext: $root.get_content(middle_name)>Middle Name/td> td>input typetext data-bindtextInput: middleName />/td> /tr> tr> td data-bindtext: $root.get_content(last_name) + *>Last Name*/td> td>input typetext data-bindtextInput: lastName />/td> /tr> tr> td data-bindtext: $root.get_content(suffix)>Suffix/td> td>input typetext data-bindtextInput: suffix />/td> /tr> tr> td data-bindtext: $root.get_content(nickname)>Nickname/td> td>input typetext data-bindtextInput: nickname />/td> /tr> tr> td data-bindtext: $root.get_content(time_zone)>Time Zone/td> td> select data-bind options: TA.timezones, optionsText: label, optionsValue: value, optionsCaption: , value: timezone, >/select> /td> /tr> !-- ko if: $root.page().is_current_user() && $root.settings.enable_report_emails() --> tr> td data-bindtext: $root.get_content(report_emails)>Report Emails/td> td> select data-bindvalue: mailingList > option data-bindtext: $root.get_content(none)>none/option> option data-bindtext: $root.get_content(routine)>routine/option> option data-bindtext: $root.get_content(stat)>stat/option> option data-bindtext: $root.get_content(both)>both/option> /select> /td> /tr> !-- /ko --> tr> td colspan2 classbutton_row> div classerror_msg data-bindtext:error_msg,css: {active: error_msg}>/div> button typesubmit data-bind text: $root.get_content(save), click:function(){$root.page().save_user()} >Save/button> /td> /tr> /tbody> /table> /form> /script> !-- template_user_detail_section_password --> script typetext/html idtemplate_user_detail_section_password> form data-bindsubmit:function(){$root.page().update_password()}> table idcontact_info classdisplay mobile_transform> tbody data-bindwith: $root.page().user()> tr> td data-bindtext: $root.get_content(username)>Username/td> td>input typetext disabled data-bindtextInput: username />/td> /tr> tr> td data-bindtext: $root.get_content(current_password)>Current Password/td> td>input typetext data-bindtextInput: password />/td> /tr> tr> td data-bindtext: $root.get_content(new_password)>New Password/td> td>input typetext data-bindtextInput: new_password />/td> /tr> tr> td data-bindtext: $root.get_content(confirm_new_password)>Confirm New Password/td> td>input typetext data-bindtextInput: new_password_confirm />/td> /tr> tr> td colspan2> div classhint data-bindtext:$root.org().pw_policy_description()>/div> /td> /tr> tr> td colspan2 classbutton_row> div classerror_msg data-bindtext:change_password_error_msg,css: {active:change_password_error_msg}>/div> button typesubmit data-bind text: $root.get_content(update_password), click:function(){$root.page().update_password()} >Update Password/button> /td> /tr> /tbody> /table> /form> /script> !-- template_user_detail_section_signature --> script typetext/html idtemplate_user_detail_section_signature> div classsection_signature data-bindwith: $root.page().user()> div> div classsignature> !-- ko if: signature_src --> img data-bindattr: {src: signature_src} /> !-- /ko --> !-- ko if: !signature_src() --> p data-bindtext: $root.get_content(no_signature_on_file)>No signature on file/p> !-- /ko --> /div> /div> !-- ko if: $root.page().signature_mode() --> a classbtn data-bind text: $root.get_content(return), click: function(){$root.page().hash($root.page().signature_return)} >Return/a> !-- /ko --> a classbtn data-bind text: $root.get_content(create_new_signature), click: function(){$root.page().signature_creator.active(true)} >Create New Signature/a> /div> /script> !-- template_user_detail_section_download --> script typetext/html idtemplate_user_detail_section_download> div classapp_links> !-- ko if: $root.user().play_store_link() --> a classicon play_store data-bindattr:{href:$root.user().play_store_link()}>/a> !-- /ko --> !-- ko if: $root.user().app_store_link() --> a classicon app_store data-bindattr:{href:$root.user().app_store_link()}>/a> !-- /ko --> /div> /script> !-- template_user_detail_section_manage_cookies --> script typetext/html idtemplate_user_detail_section_manage_cookies> div classmanage_cookies> !-- ko template:{name: template_cookie_policy} -->!-- /ko --> /div> /script> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> admin -- functionality for org level admin page ------------------------------------------------------------> !--------------------------------------------------------- -> template_admin_section data: section_name: string section_template: string ------------------------------------------------------------> script typetext/html idtemplate_admin_section> !-- ko if: $root.page().visible_sections.indexOf($data.section_name) ! -1 --> !-- ko template:{name: template_admin_section_actual, data: $data} -->!-- /ko --> !-- /ko --> /script> script typetext/html idtemplate_admin_section_actual> tr classparent> td> a classcelllink data-bindclick: function(patient){$root.page().toggle_accordion($data.section_name)}>/a> span classself_step_accordion_section_name data-bindhtml: $data.section_name>/span> a classaccordion_arrow data-bindcss: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1}>/a> /td> /tr> tr classnot_selectable> td classchild> div classaccordion data-bind css: {active: $root.page().expanded_sections.indexOf($data.section_name) ! -1}, style: {maxHeight: (($root.page().expanded_sections.indexOf($data.section_name) ! -1) ? ($element.scrollHeight + 20) + px : 0px)} > !-- ko template:{name: section_template, data: $data} -->!-- /ko --> /div> /td> /tr> /script> div classpage data-bindcss: {active: active_page() admin && page()}> !-- ko if: active_page() admin && page() --> !-- ko with: page --> div classpage_content> h1 data-bindtext: $root.get_content(admin)>Admin/h1> div classadmin page_table> nav idadmin_tab_nav classflextabs neutral_tabs> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(portal_setup), is_default: true}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(patient_app_setup)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(mobile_app_settings)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(pdf_reports)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(organization)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(facilities)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(user_accounts)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(device_registration)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(patients)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(etiologies)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(observations)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(formularies)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(encounters)}} -->!-- /ko --> /nav> div classneutral_tabs> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(portal_setup), is_default: true, tab_content_template: template_admin_section_portal_setup } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(patient_app_setup), tab_content_template: template_admin_section_patient_app_setup } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(organization), tab_content_template: template_admin_section_organization } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(pdf_reports), tab_content_template: template_admin_section_pdf } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(mobile_app_settings), tab_content_template: template_admin_section_app } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(user_accounts), tab_content_template: template_admin_section_users } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(device_registration), tab_content_template: template_admin_section_devices } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(patients), tab_content_template: template_admin_section_patients } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(etiologies), tab_content_template: template_admin_section_etiologies, etiologies: $root.org().etiologies.list } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(observations), tab_content_template: template_admin_section_observations, observations: $root.org().raw_observations.list } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(formularies), tab_content_template: template_admin_section_formularies, formularyCategories: $root.org().formularyCategories.list } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(facilities), tab_content_template: template_admin_section_facilities, facilities: $root.org().facilities.list } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(encounters), tab_content_template: template_admin_section_encounters, visit_types: $root.page().visit_type_list() } } -->!-- /ko --> /div> !-- template_admin_section_portal_setup --> script typetext/html idtemplate_admin_section_portal_setup> form data-bindsubmit:function(){$root.page().save_org()}, with: $root.org()> table idportal_setup classdisplay> tbody data-bindwith: settings> tr> td> Error Message Organization Namebr /> p classhint> Click strong> em> a data-bindclick:function(){$root.modal.message($root.helpers.generic_error_message())}>here/a> /em> /strong> to test (save the changes first!) /p> /td> td>input typetext data-bindtextInput: org_name />/td> /tr> tr> td>Error Message Phone Number/td> td>input typetext data-bindtextInput: org_phone />/td> /tr> tr> td>Error Message Email Address/td> td>input typetext data-bindtextInput: org_email />/td> /tr> tr> td>Language/td> td> select data-bindvalue: locale_language> option valueen>English/option> option valuefr>French/option> option valuesv>Swedish/option> /select> /td> /tr> tr> td>Date Format/td> td>input typetext data-bindtextInput: locale_date_format />/td> /tr> tr> td>Input Date Format/td> td>input typetext data-bindtextInput: locale_input_date_format />/td> /tr> tr> td>Time Format/td> td>input typetext data-bindtextInput: locale_time_format />/td> /tr> tr> td>Phone Number Format/td> td> select data-bind options: TA.phone_number_formats, optionsText: label, optionsValue: value, optionsCaption: , value: phone_number_format, >/select> /td> /tr> tr> td>Filmstrip Default Image Size/td> td>height in pixels: input typenumber data-bindtextInput: filmstrip_default_size />/td> /tr> tr> td>Location Representation Method/td> td> select data-bindvalue: location_representation_method> option valuehomunculi>Model Image/option> option valuetext>Text/option> option valuewound_expert_location>Wound Expert Location/option> option valuetext_and_avatar>Text and Avatar/option> /select> /td> /tr> tr> td>Wound Number Scheme/td> td> select data-bindvalue: wound_number_scheme> option valuewound_Id>Wound ID/option> option valueincrement>Increment/option> /select> /td> /tr> tr> td>Condition Being Recorded/td> td> select data-bindvalue: wound_label> option valuewound>Wound/option> option valuelesion>Lesion/option> option valueskin_depigmentation>Vitiligo (Skin Depigmentation)/option> /select> /td> /tr> tr> td> Content p classhint>This content must be valid JSON or it will break the portal!/p> /td> td>textarea data-bindtextInput: content>/textarea>/td> /tr> tr> td> Custom Patient Data p classhint>This content must be valid JSON or it will break the portal!/p> /td> td>textarea data-bindtextInput: $root.org().customPatientData>/textarea>/td> /tr> !-- Deltas --> tr>td colspan2>br />h2>Deltas/h2>/td>/tr> !-- ko if: $root.org().encounter_types || $root.org().visit_types --> tr> td>Delta Selection/td> td> select data-bindvalue: $root.org().delta_by_visit_type_io> option valuedate>By Date/option> option valuevisit>By Visit Type/option> /select> /td> /tr> !-- /ko --> !-- ko if: !delta_by_visit_type() --> tr> td>Default Comparison/td> td> select data-bindvalue: delta_strategy> option valuefirst>First Evaluation/option> option valueprevious>Previous Evaluation/option> /select> /td> /tr> !-- /ko --> !-- ko if: delta_by_visit_type() --> tr> td>Default Comparison/td> td> !-- ko if: $root.org().encounter_types && $root.org().encounter_types.length --> select data-bind options: $root.org().encounter_types, optionsText: visitTypeDesc, optionsValue: visitTypeId, optionsCaption: , value: delta_default_to_visit_type, >/select> !-- /ko --> !-- ko if: $root.org().visit_types && $root.org().visit_types.length --> select data-bind options: $root.org().visit_types, optionsText: settingDesc, optionsValue: settingId, optionsCaption: , value: delta_default_to_visit_type, >/select> !-- /ko --> /td> /tr> !-- /ko --> tr> td>Delta Comparison Mode/td> td> select data-bindvalue: delta_mode> option valuepercent>Percent/option> option valuedifference>Difference/option> /select> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: delta_color /> Delta Color /label> /td> /tr> !-- Feature Toggles --> tr>td colspan2>br />h2>Feature Toggles/h2>/td>/tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: data_center_on /> Data Center /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: portal_dashboard_enabled /> Portal Dashboard /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: patient_head_direction_indicator /> Patient Head Direction Indicator /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: unsigned_evaluations_page /> Unsigned Evaluations Page /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: wound_status_enabled /> Wound Status /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_data_extraction_tool /> Data Extraction Tool /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: amendment_feature_toggle /> Evaluation Amendments /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_pi_deterioration_risk /> Pressure Injury Deterioration Risk Indicator /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: sign_lock_bar_feature_toggle /> Sign & Lock Bar /label> /td> /tr> !-- ko if: $root.settings.use_new_report_service() --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: full_wound_pdf_feature_toggle /> Full Wound PDF /label> /td> /tr> !-- /ko --> tr> td> label classcb_label> input typecheckbox data-bindchecked: network_monitor /> Network Monitor /label> /td> !-- ko if: $root.settings.network_monitor() --> td colspan2> label classcb_label> input typecheckbox data-bindchecked: show_healthy_network_icon /> Show healthy network icon /label> /td> !-- /ko --> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_clinical_dashboard /> Clinical Dashboard /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_usage_dashboard /> Usage Dashboard /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_portal_redesign /> Portal Redesign /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_wound_page_redesign /> Wound Page Redesign /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: tissue_color_on /> Tissue Color /label> /td> /tr> !-- Enable/Disable Features --> tr>td colspan2>br />h2>Enable/Disable Features/h2>/td>/tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: enable_pendo /> Enable Pendo /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: auto_approve_trace /> Automatically Approve Images /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.enable_auto_depth /> Enable Auto-depth /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: patient_accounts /> Enable Patient Accounts /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.use_device_registration_codes /> Enable Device Registration /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_user_creation /> Disable User Creation /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_patient_creation /> Disable Patient Creation /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_facilities /> Disable Facilities /label> /td> /tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: disable_formularies /> Disable Formularies /label> /td> td> !-- ko if: !disable_formularies() --> label classcb_label> !-- TA control that disables org level setting to turn recs on or off --> input typecheckbox data-bindchecked: disable_formulary_recommendations /> Disable Formulary Recommendations /label> !-- /ko --> /td> /tr> !-- ko if: !disable_formularies() --> tr> td> /td> td> !-- ko if: !disable_formulary_recommendations() --> label classcb_label> input typecheckbox data-bindchecked: isolate_formulary_recommendations /> Isolate Formulary Recommendations /label> !-- /ko --> /td> /tr> !-- /ko --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: portal_add_wound /> Allow Wound Creation /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_new_eval /> Disable New Evaluations /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_date_and_time_editing /> Disable Date and Time Editing on Evaluations /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_stat_notification /> Disable Stat Notification Option /label> /td> /tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: disable_sign_and_lock /> Disable Sign & Lock /label> /td> td> !-- ko if: !disable_sign_and_lock() --> label classcb_label> input typecheckbox data-bindchecked: use_signer_locker_role /> Require Sign & Lock User Role /label> !-- /ko --> /td> /tr> !-- ko if: !disable_sign_and_lock() --> tr> td>/td> td> label classcb_label> input typecheckbox data-bindchecked: hide_stand_alone_sign_button /> Hide stand-alone portals Sign & Lock /label> /td> /tr> tr> td>/td> td> label classcb_label> input typecheckbox data-bindchecked: hide_embedded_sign_button /> Hide embedded portals Sign & Lock /label> /td> /tr> tr> td>/td> td> label classcb_label> input typecheckbox data-bindchecked: require_password_on_sign_lock /> Require password on sign and lock /label> /td> /tr> !-- /ko --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_custom_wound_ids /> Disable Custom Wound Numbers /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_push_score /> Disable PUSH Score /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_image_download /> Disable Image Download /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_notes /> Disable Notes /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_tunneling /> Disable Tunneling /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: disable_undermining /> Disable Undermining /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: show_pdf_links /> Show PDF Links /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: show_wound_nav_arrows /> Show Wound Navigation Arrows /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: show_patient_identifiers_when_embedded /> Show Patient Identifiers When Embedded /label> /td> /tr> !-- Show/Hide Fields --> tr>td colspan2>br />h2>Show/Hide Fields/h2>/td>/tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: global_hide_name /> Hide Patient Names /label> /td> td> !-- ko if: !global_hide_name() --> label classcb_label> input typecheckbox data-bindchecked: hide_middle_name /> Hide Middle Name /label> !-- /ko --> /td> /tr> !-- ko if: !global_hide_name() --> tr> td>/td> td> label classcb_label> input typecheckbox data-bindchecked: hide_name_suffix /> Hide Name Suffix /label> /td> /tr> !-- /ko --> tr> td> label classcb_label> input typecheckbox data-bindchecked: hide_dob /> Hide DOB /label> /td> td> label classcb_label> input typecheckbox data-bindchecked: dob_year_only /> Show Year of Birth Only /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_mrn /> Hide MRN /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_emrfinid /> Hide EMR FIN ID /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_phone_extension /> Hide Patient Phone Extension /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_sex /> Hide Patient Sex /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_gender /> Hide Patient Gender /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: hide_race_input /> Hide Patient Race /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: wound_detail_hide_observations_without_values /> Hide Observations Without Values /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.hide_custom_wound_number /> Hide Wound Number /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.hide_custom_wound_location /> Hide Wound Location Text /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.hide_imperial_units /> Hide Imperial Units (patient height/weight) /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.hide_phi_from_qualitative_reviewer /> Hide PHI from Qualitative Reviewer /label> /td> /tr> !-- Required Fields --> tr>td colspan2>br />h2>Required Fields/h2>/td>/tr> !-- ko if: dob_year_only() --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: require_year_of_birth /> Require Year of Birth /label> /td> /tr> !-- /ko --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: require_mrn /> Require Patient MRN /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: require_emrfinid /> Require EMR FIN ID /label> /td> /tr> !-- Permissions --> tr>td colspan2>br />h2>Permissions/h2>/td>/tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.only_creator_modifies_evals /> Only Creator Modifies Evaluations /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.only_creator_locks_evals /> Only Creator Locks Evaluations /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.batch_lock_prior_evals /> Batch Lock Prior Evaluations /label> /td> /tr> !-- ko if: $root.settings.amendment_feature_toggle --> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: $root.settings.only_amendment_admin_amends_evals /> Only Amendment Admin Amends Evaluations /label> /td> /tr> !-- /ko --> !-- Misc --> tr>td colspan2>br />h2>The Rest/h2>/td>/tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: sort_patient_list_by_note_date /> Sort Patients By Note Date /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: sort_patient_list_by_created /> Sort Patients By Created /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: prepop_documentation /> Prepopulate Observations /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: prepop_formulary /> Prepopulate Formularies /label> /td> /tr> tr> td colspan2> label classcb_label> input typecheckbox data-bindchecked: org_intercom /> Error Message Include Intercom /label> /td> /tr> !-- Submit --> tr> td colspan2 classbutton_row> button typesubmit data-bindclick:function(){$root.page().save_org()}>Save/button> /td> /tr> tr> td colspan2 classhint> a href#pageall_settings>Raw Settings/a> /td> /tr> /tbody> /table> /form> !-- enabled standard user roles --> !-- ko with: $root.page() --> !-- ko if: standard_user_role_list().length --> div classstandard_user_role_list> form data-bindsubmit:function(){}> table> tr> th> h2>Standard User Roles/h2> /th> th> label classcb_label> input typecheckbox data-bindchecked: show_role_labels /> show role labels /label> h2>Custom User Roles/h2> /th> /tr> tr> td> !-- ko foreach: standard_user_role_list() --> div> label classcb_label data-bind click: function(){ if($root.page().in_use_user_role_list.indexOf($data.roleLabel) > -1) return; $root.org().toggle_role($data); } > input typecheckbox data-bind attr: {disabled: $root.page().in_use_user_role_list.indexOf($data.roleLabel) > -1}, checked: $root.org().is_role_in_list($data) /> span data-bindtext: roleDesc>/span> !-- ko if: $root.page().show_role_labels() --> span data-bindtext: roleLabel>/span> !-- /ko --> /label> /div> !-- /ko --> /td> td> ul> !-- ko foreach: $root.org().custom_user_role_list($data.standard_user_role_list()) --> li> span data-bindtext: roleDesc>/span> !-- ko if: $root.page().show_role_labels() --> span data-bindtext: roleLabel>/span> !-- /ko --> /li> !-- /ko --> /ul> /td> /tr> /table> /form> /div> !-- /ko --> !-- /ko --> /script> !-- template_admin_section_patient_app_setup --> script typetext/html idtemplate_admin_section_patient_app_setup> form data-bindsubmit:function(){$root.page().save_org()}, with: $root.org()> table idpatient_app_setup classdisplay> tbody data-bindwith: settings> tr> td> label classcb_label> input typecheckbox data-bindchecked: patient_accounts /> Enable Patient Accounts /label> /td> td>/td> /tr> !-- ko if: patient_accounts --> tr> td>Patient-user Provisioning Mode/td> td> select data-bindvalue: $root.settings.patient_user_prov_mode> option valuecontact>Require contact info/option> option valueno_contact>No contact/option> option valuepush_otp>Push OTP/option> /select> /td> /tr> tr> td>Patient-user Provisioning Strategy/td> td> select data-bindvalue: $root.settings.patient_user_prov_strategy> option valuedefault>Default/option> option valuekaiser_pilot>Kaiser Pilot/option> /select> /td> /tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: push_notif_to_patient_on_new_provider_note /> Send provider notification upon patient photo /label> /td> td>/td> /tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: only_provider_adds_notes /> Disable patient notes /label> /td> td> !-- ko if: !only_provider_adds_notes() --> label classcb_label> input typecheckbox data-bindchecked: push_notif_to_provider_on_new_patient_note /> Send provider notification upon patient note /label> !-- /ko --> /td> /tr> tr> td> label classcb_label> input typecheckbox data-bindchecked: push_notif_to_provider_on_new_patient_image /> Send patient notification upon provider note /label> /td> td>/td> /tr> tr> td>Notes label/td> td>input typetext data-bindtextInput: patient_notes_label />/td> /tr> !-- tr> td> label classcb_label> input typecheckbox data-bindchecked: $root.settings.next_image_reminder /> Enable Next Photo Reminder /label> /td> td>/td> /tr> --> !-- /ko --> tr> td colspan2 classbutton_row> button typesubmit data-bindclick:function(){$root.page().save_org()}>Save/button> /td> /tr> /tbody> /table> /form> /script> !-- template_admin_section_organization --> script typetext/html idtemplate_admin_section_organization> form data-bindsubmit:function(){$root.page().save_org()}, with: $root.org()> table idorganization classdisplay> tbody> tr> td data-bindtext: $root.get_content(time_zone)>Time Zone/td> td> select data-bind options: TA.timezones, optionsText: label, optionsValue: value, optionsCaption: , value: settings.timezone, >/select> /td> /tr> tr> td data-bindtext: $root.get_content(primary_measurement_strategy)>Primary Measurement Strategy/td> td> select data-bindvalue: settings.measurement_strategy> option valuemaxLength data-bindtext: $root.get_content(max_length)>Max Length/option> option valuecompass data-bindtext: $root.get_content(compass)>Compass/option> option valueellipse data-bindtext: $root.get_content(ellipse)>Ellipse/option> option valuecenterOfMass data-bindtext: $root.get_content(center_of_mass)>Center of Mass/option> /select> /td> /tr> tr> td data-bindtext: $root.get_content(delta_strategy)>Delta Strategy/td> td> select data-bindvalue: settings.delta_strategy> option valueprevious data-bindtext: $root.get_content(compare_to_previous)>Compare to previous/option> option valuefirst data-bindtext: $root.get_content(compare_to_first)>Compare to first/option> /select> /td> /tr> tr> td data-bindtext: $root.get_content(delta_mode)>Delta Mode/td> td> select data-bindvalue: settings.delta_mode> option valuepercent data-bindtext: $root.get_content(percent)>Percent/option> option valuedifference data-bindtext: $root.get_content(difference)>Difference/option> /select> /td> /tr> tr> td data-bindtext: $root.get_content(delta_value_colors)>Delta Value Colors/td> td> select data-bindvalue: delta_color_input> option valueOff data-bindtext: $root.get_content(off)>Off/option> option valueOn data-bindtext: $root.get_content(on)>On/option> /select> /td> /tr> tr> td data-bindtext: $root.get_content(enable_auto_depth)>Enable Auto-depth/td> td> select data-bindvalue: enable_auto_depth_input> option valueOff data-bindtext: $root.get_content(off)>Off/option> option valueOn data-bindtext: $root.get_content(on)>On/option> /select> /td> /tr> !-- ko if: !$root.settings.disable_formulary_recommendations() --> tr> td data-bindtext: $root.get_content(treatment_recommendations)>Treatment Recommendations/td> td> select data-bindvalue: treatment_recs_input> option valueOff data-bindtext: $root.get_content(off)>Off/option> option valueOn data-bindtext: $root.get_content(on)>On/option> /select> /td> /tr> !-- /ko --> tr> td data-bindtext: $root.get_content(password_policy)>Password Policy/td> td> table idpassword_policy classdisplay password_policy> tbody> tr> td> input typetext data-bindtextInput: settings.password_min_chars /> span data-bindtext: $root.get_content(min_total_characters)>Minimum number of characters/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_min_lowercase /> span data-bindtext: $root.get_content(min_lowercase_characters)>Minimum number of lower case characters/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_min_uppercase /> span data-bindtext: $root.get_content(min_uppercase_characters)>Minimum number of upper case characters/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_min_numeric /> span data-bindtext: $root.get_content(min_numeric_characters)>Minimum number of numeric characters/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_min_special /> span data-bindtext: $root.get_content(min_special_characters)>Minimum number of special characters/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_expires_in_days /> span data-bindtext: $root.get_content(days_til_pw_change)>Days before required password change/span> /td> /tr> !-- tr> td> input typetext data-bindtextInput: settings.password_consecutive_unique /> span data-bindtext: $root.get_content(req_no_unique_pw)>Required number of consecutive unique passwords/span> /td> /tr> tr> td> input typetext data-bindtextInput: settings.password_max_failed_attempts /> span data-bindtext: $root.get_content(max_failed_logins)>Maximum consecutive failed log in attempts/span> /td> /tr> --> /tbody> /table> /td> /tr> /tbody> /table> tr> td colspan2 classbutton_row> button typesubmit data-bind text: $root.get_content(save), click:function(){$root.page().save_org()} >Save/button> /td> /tr> /form> /script> !-- template_admin_section_pdf --> script typetext/html idtemplate_admin_section_pdf> form data-bindsubmit:function(){$root.page().save_org()}, with: $root.org()> fieldset> label classcb_label data-bindclick: function(){settings.report_observations(!settings.report_observations())}> input typecheckbox data-bindchecked: settings.report_observations /> span data-bindtext: $root.get_content(include_observations_in_report)>Include observations in report/span> /label> label classcb_label data-bindclick: function(){settings.report_formulary(!settings.report_formulary())}> input typecheckbox data-bindchecked: settings.report_formulary /> span data-bindtext: $root.get_content(include_formularies_in_report)>Include formularies in report/span> /label> label classcb_label data-bindclick: function(){settings.report_notes(!settings.report_notes())}> input typecheckbox data-bindchecked: settings.report_notes /> span data-bindtext: $root.get_content(include_notes_in_report)>Include notes in report/span> /label> /fieldset> button typesubmit data-bind text: $root.get_content(save), click:function(){$root.page().save_org()} >Save/button> /form> /script> !-- template_admin_section_app --> script typetext/html idtemplate_admin_section_app> form data-bindsubmit:function(){$root.page().save_org()}, with: $root.org()> fieldset> label classcb_label data-bindclick: function(){settings.cache_username(!settings.cache_username())}> input typecheckbox data-bindchecked: settings.cache_username /> span data-bindtext: $root.get_content(cache_username)>Cache username/span> /label> /fieldset> button typesubmit data-bind text: $root.get_content(save), click:function(){$root.page().save_org()} >Save/button> /form> /script> !-- template_admin_section_users --> script typetext/html idtemplate_admin_section_users> !-- ko with: $root.page --> h2 classusers_options> !-- ko template:{name: template_facility_filter, data: { user: $root.user(), parent: $root.page(), menu_id: user_facility_menu, list_id: user_facility_list }} -->!-- /ko --> input typetext data-bindattr: {placeholder: $root.get_content(search_by_name)}, textInput: user_list_filter /> select data-bindvalue: user_list_view> option valueactive data-bindtext: $root.get_content(active)>active/option> option valueinactive data-bindtext: $root.get_content(inactive)>inactive/option> /select> !-- ko if: !$root.settings.disable_user_creation() --> a classbtn href#pageuser_detail data-bindtext: $root.get_content(new_user)>New User/a> !-- /ko --> /h2> div classtable_wrapper users> !-- ko if: !ready() --> table classdisplay> tr> td data-bindtext: $root.get_content(loading)>/td> /tr> /table> !-- /ko --> !-- ko if: ready() --> !-- ko if: !filtered_user_list().length --> table classdisplay> tr> td data-bindtext: $root.get_content(no_users_found)>/td> /tr> /table> !-- /ko --> !-- ko if: filtered_user_list().length --> table classdisplay clickable selectable> tbody data-bindforeach:filtered_user_list> tr> td> a classcelllink data-bindattr:{href: user_admin_link}>/a> span classfullname data-bindtext: fullname>/span> !-- ko if: $data.locked --> a classlock locked titleUser account locked data-bind attr: {title: $root.get_content(user_account_locked)} >/a> !-- /ko --> !-- ko if: $root.desktop_view() --> div classhint second_line data-bindtext: $data.department_names.join(, )>/div> !-- /ko --> /td> td> a classcelllink data-bindattr:{href: user_admin_link}>/a> span data-bindtext: roleDesc_csv>/span> /td> td classunlock> !-- ko if: $data.locked --> a classbtn data-bind text: $root.get_content(unlock), click: function(){$root.page().user_unlock($data)}, clickBubble: false >Unlock/a> !-- /ko --> /td> /tr> /tbody> /table> !-- /ko --> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_devices --> script typetext/html idtemplate_admin_section_devices> !-- ko with: $root.page --> h2 classdevice_options> input typetext data-bindattr: {placeholder: $root.get_content(search)}, textInput: device_list_filter /> a classbtn data-bind text: $root.get_content(new_device), click: function(){$root.page().new_device()}, clickBubble: false >New Device/a> /h2> div classtable_wrapper> !-- ko if: !filtered_device_list().length --> table classdisplay> tr> td data-bindtext: $root.get_content(no_devices_found)>/td> /tr> /table> !-- /ko --> !-- ko if: filtered_device_list().length --> table iddevice_registration classdisplay editable> tbody> tr classth> td>strong data-bindtext: $root.get_content(device_id)>Device ID/strong>/td> td>strong data-bindtext: $root.get_content(registration_code)>Registration Code/strong>/td> td> /td> /tr> !-- ko foreach: filtered_device_list --> tr data-bind css: {active: $data.edit_mode()}, click: function(){if($data.editable()){$data.edit_mode(true)}}, clickBubble: false > td> input typetext data-bind textInput: deviceLabel, css: {active: $data.edit_mode()}, disable: !$data.editable() /> /td> td> input typetext data-bind textInput: deviceRegistrationCode, css: {active: $data.edit_mode()}, disable: !$data.editable() /> /td> td> !-- ko if: !$data.edit_mode() --> a classlock data-bind css: {locked: $data.locked()}, click: function(){$root.page().toggle_device_lock($data)}, clickBubble: false >/a> !-- /ko --> !-- ko if: $data.edit_mode() --> a classbtn active data-bind click: function(){$data.create_code()}, clickBubble: false >✓/a> !-- /ko --> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_patients --> script typetext/html idtemplate_admin_section_patients> !-- ko with: $root.page --> h2 classpatient_options> !-- ko template:{name: template_facility_filter, data: { user: $root.user(), parent: $root.page(), menu_id: user_facility_menu, list_id: user_facility_list }} -->!-- /ko --> input typetext data-bindattr: {placeholder: $root.get_content(search_by_name)}, textInput: patient_list_filter /> /h2> div classtable_wrapper patients> !-- ko if: !ready() --> table classdisplay> tr> td data-bindtext: $root.get_content(loading)>/td> /tr> /table> !-- /ko --> !-- ko if: ready() --> !-- ko if: !dupe_patient_list().length --> table classdisplay> tr> td data-bindtext: $root.get_content(no_patients_msg)>/td> /tr> /table> !-- /ko --> !-- ko if: dupe_patient_list().length --> table classdisplay clickable selectable> tbody data-bindforeach: dupe_patient_list> /tbody> /table> !-- /ko --> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_etiologies --> script typetext/html idtemplate_admin_section_etiologies> !-- ko if: !etiologies().length && !$root.page().new_etiology() --> table classdisplay none_found> tr> td data-bindtext: $root.get_content(no_etiologies_found)>No etiologies found/td> /tr> /table> !-- /ko --> !-- ko if: etiologies().length || $root.page().new_etiology() --> table idetiologies classdisplay accordion_table child_lists> thead> tr> td classmin_width center>/td> td classmin_width order>strong data-bindtext: $root.get_content(order)>Order/strong>/td> td classetiologyLabel>strong data-bindtext: $root.get_content(label)>Label/strong>/td> td>strong data-bindtext: $root.get_content(description)>Description/strong>/td> td>/td> !-- ko if: $root.settings.enable_pi_deterioration_risk --> td>/td> !-- /ko --> td classmin_width centered>strong data-bindtext: $root.get_content(active)>Active/strong>/td> /tr> /thead> tbody> !-- ko foreach: etiologies --> tr data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(etiology, event){$root.page().drag_hover_row(etiology, event)}, mouseleave: function(etiology){$root.page().drag_hover_row_end(etiology)} } > td classmin_width center> a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: {mousedown: function(etiology, event){$root.page().start_drag_row(etiology, event)}} >/a> /td> td classmin_width center order>strong data-bindtext: displayOrder>/strong>/td> td classetiologyLabel data-bindtext: etiologyLabel>/td> td data-bindtext: etiologyDescription>/td> td> a classcelllink data-bind click: function(){$root.page().toggle_sub_accordion($data.etiologyId(), $parent.section_name, etiology)} >/a> span classaccordion_arrow preceding_arrow data-bind css: { active: $root.page().expanded_sections.indexOf(etiology_sub_accordion_ + $data.etiologyId()) ! -1 }>/span> span classlowercase data-bind text: $data.child_etiologies.list().length + + ($data.child_etiologies.list().length ! 1 ? $root.get_content(sub-etiologies) : $root.get_content(sub-etiology)) >/span> /td> !-- ko if: $root.settings.enable_pi_deterioration_risk && $root.page().etiology_mappings().length --> td> select data-bind options: $root.page().etiology_mappings(), optionsCaption: , value: $data.alias >/select> /td> !-- /ko --> td classmin_width center> label classcb_label cb_button data-bindclick: function(){ $data.active(!$data.active()); $root.page().save_etiologies(); }> input typecheckbox data-bindchecked: $data.active /> /label> /td> /tr> tr classchildren> td>/td> td colspan5> div classaccordion child_etiologies data-bind css: { active: $root.page().expanded_sections.indexOf(etiology_sub_accordion_ + $data.etiologyId()) ! -1 }, style: { maxHeight: ( ($root.page().expanded_sections.indexOf(etiology_sub_accordion_ + $data.etiologyId()) ! -1) ? $element.scrollHeight + px : 0px ) } > div> !-- ko foreach: child_etiologies.list --> div classchild_row data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(etiology, event){$root.page().drag_hover_row(etiology, event)}, mouseleave: function(etiology){$root.page().drag_hover_row_end(etiology)} } > label classcb_label cb_button data-bindclick: function(){ $data.active(!$data.active()); $root.page().save_etiologies(); }> input typecheckbox data-bindchecked: $data.active /> /label> !-- ko if: $root.settings.enable_pi_deterioration_risk && $root.page().etiology_mappings().length --> select classpi_map data-bind options: $root.page().etiology_mappings(), optionsCaption: , value: $data.alias >/select> !-- /ko --> a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: { mousedown: function(etiology, event){$root.page().start_drag_row(etiology, event, true)} } >/a> strong data-bindtext: displayOrder() + .>/strong> span classetiologyLabel data-bindtext: etiologyLabel>/span> span classetiologyDescription data-bindtext: etiologyDescription>/span> /div> !-- /ko --> /div> !-- ko if: !new_etiology() --> div classnew_button> a classbtn data-bind text: $root.get_content(new_child_etiology), click: function(etiology, event){$root.page().start_new_child_etiology(etiology, event)} >New Sub-Etiology/a> /div> !-- /ko --> !-- ko if: new_etiology --> div classnew_child_etiology data-bind event: { keyup: function(etiology,event){$root.page().new_child_etiology_keyup(etiology,event)} } > input typetext data-bindtextInput: new_etiology().etiologyLabel placeholderlabel /> input typetext data-bindtextInput: new_etiology().etiologyDescription placeholderdescription /> button data-bind attr: {title: $root.get_content(save)}, click: function(etiology){ $root.page().save_child_etiology(etiology); } >Save/button> a classtrash data-bindclick: function(){new_etiology(null)}>/a> /div> !-- /ko --> /div> /td> /tr> !-- /ko --> /tbody> !-- ko with: $root.page --> !-- ko if: new_etiology --> tbody data-bindevent: {keyup: new_etiology_keyup}> tr classnew> td colspan2 data-bindtext: $root.get_content(new_etiology) + :>New Etiology:/td> td data-bindwith: new_etiology> input typetext data-bindtextInput: etiologyLabel placeholderLabel /> /td> td data-bindwith: new_etiology> input typetext data-bindtextInput: etiologyDescription placeholderDescription /> /td> td> button data-bind text: $root.get_content(save), click: save_new_etiology >Save/button> a classtrash data-bindclick: function(){cancel_new_object(etiology)}>/a> /td> /tr> /tbody> !-- /ko --> !-- /ko --> /table> !-- /ko --> !-- ko with: $root.page --> div classadd_button_row> !-- ko if: !new_etiology() --> a classbtn data-bind text: $root.get_content(new_etiology), click: function(){$root.page().start_new_etiology()}, clickBubble: false >New Etiology/a> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_observations --> script typetext/html idtemplate_admin_section_observations> !-- ko if: !observations().length && !$root.page().new_observation() --> table classdisplay none_found> tr> td data-bindtext: $root.get_content(no_obs_found)>No observations found/td> /tr> /table> !-- /ko --> !-- ko if: observations().length || $root.page().new_observation() --> div classcontrols> label classcb_label data-bindclick: function(){ $root.page().hide_inactive_obs(!$root.page().hide_inactive_obs()); }> input typecheckbox data-bindchecked: $root.page().hide_inactive_obs() /> span data-bindtext: $root.get_content(hide_inactive)>Hide inactive/span> /label> /div> table idobservations classdisplay accordion_table child_lists> thead> tr> td>/td> td classorder>strong data-bindtext: $root.get_content(order)>Order/strong>/td> td>strong data-bindtext: $root.get_content(label)>Label/strong>/td> !-- ko if: $root.settings.encounter_workflow() --> td>strong>Visit Types/strong>/td> !-- /ko --> td>strong data-bindtext: $root.get_content(type)>Type/strong>/td> td colspan2>strong data-bindtext: $root.get_content(response_options)>Response Options/strong>/td> td classmin_width centered>strong data-bindtext: $root.get_content(required)>Required/strong>/td> td classmin_width centered prepopulate>strong data-bindtext: $root.get_content(prepopulate)>Prepopulate/strong>/td> td classmin_width centered>strong data-bindtext: $root.get_content(active)>Active/strong>/td> /tr> /thead> tbody> !-- ko foreach: observations --> !-- ko if: !$root.page().hide_inactive_obs() || $data.active --> tr data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(observation, event){$root.page().drag_hover_row(observation, event)}, mouseleave: function(observation){$root.page().drag_hover_row_end(observation)} } > td> a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: {mousedown: function(observation, event){$root.page().start_drag_row(observation, event)}} >/a> /td> td classorder>strong data-bindtext: displayOrder>/strong>/td> td data-bindtext: obsLabel>/td> !-- ko if: $root.settings.encounter_workflow() --> td> !-- ko template:{ name: template_admin_section_observation_visit_types, data: { observation: $data, visit_types: $root.page().visit_type_list() } } -->!-- /ko --> /td> !-- /ko --> td data-bindtext: response_type>/td> td> !-- ko if: $data.response_type() single-select || $data.response_type() multi-select --> a classcelllink data-bind click: function(){$root.page().toggle_sub_accordion($data.obsId(), $parent.section_name, observation)} >/a> span classaccordion_arrow preceding_arrow data-bind css: { active: $root.page().expanded_sections.indexOf(observation_sub_accordion_ + $data.obsId()) ! -1 || !$data.obsList.list().length }>/span> span classlowercase data-bind text: $data.obsList.list().length + + ($data.obsList.list().length ! 1 ? $root.get_content(options) : $root.get_content(option)) >/span> !-- /ko --> /td> td classnest> !-- ko if: !$data.inUse() --> a classtrash data-bindclick: function(){$root.page().delete_observation_confirm($data)}>/a> !-- /ko --> /td> td> label classcb_label cb_button data-bindclick: function(){ $data.required(!$data.required()); $root.page().save_observations_and_formularies(); }> input typecheckbox data-bindchecked: $data.required /> /label> /td> td> label classcb_label cb_button data-bindclick: function(){ $data.prepopulate(!$data.prepopulate()); $root.page().save_observations_and_formularies(); }> input typecheckbox data-bind disable: !$data.active(), checked: $data.prepopulate /> /label> /td> td> label classcb_label cb_button data-bindclick: function(){ $root.page().toggle_active_child_observations($data); }> input typecheckbox data-bindchecked: $data.active /> /label> /td> /tr> !-- ko if: $data.response_type() single-select || $data.response_type() multi-select --> tr classchildren> td>/td> td colspan8 data-bindattr: {colspan: $root.settings.encounter_workflow() ? 9 : 8}> div classaccordion child_observations data-bind css: { active: $root.page().expanded_sections.indexOf(observation_sub_accordion_ + $data.obsId()) ! -1 || !$data.obsList.list().length }, style: { maxHeight: ( ( $root.page().expanded_sections.indexOf(observation_sub_accordion_ + $data.obsId()) ! -1 || !$data.obsList.list().length ) ? $element.scrollHeight + px : 0px ) } > div> !-- ko foreach: obsList.list --> div classchild_row data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(observation, event){$root.page().drag_hover_row(observation, event)}, mouseleave: function(observation){$root.page().drag_hover_row_end(observation)} } > a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: { mousedown: function(observation, event){$root.page().start_drag_row(observation, event)} } >/a> strong data-bindtext: displayOrder() + .>/strong> span data-bindtext: obsLabel>/span> label classcb_label cb_button cb_active data-bindclick: function(){ $data.active(!$data.active()); setTimeout(function(){ $root.page().check_active_child_observations($parent); $root.page().save_observations_and_formularies(); },100); }> input typecheckbox data-bindchecked: $data.active /> /label> !-- ko if: $root.settings.encounter_workflow() --> !-- ko template:{ name: template_admin_section_observation_visit_types, data: { observation: $data, visit_types: $root.page().filtered_visit_type_list($parents0) } } -->!-- /ko --> !-- /ko --> !-- ko if: !$data.inUse() --> a classtrash data-bind click:function(){$root.page().delete_observation_confirm($data,true)} >/a> !-- /ko --> /div> !-- /ko --> /div> !-- ko if: !new_observation() --> div classnew_button> a classbtn data-bind text: $root.get_content(new_response_option), click: function(observation, event){$root.page().start_new_response(observation, event)} >New Response Option/a> /div> !-- /ko --> !-- ko if: new_observation --> div classnew_response data-bind event: { keyup: function(observation,event){$root.page().new_observation_response_keyup(observation,event)} } > input typetext data-bindtextInput: new_observation().obsLabel /> button data-bind attr: {title: $root.get_content(save)},, click: function(observation){$root.page().save_new_observation_response(observation)} >Save/button> a classtrash data-bindclick: $root.page().cancel_new_response>/a> /div> !-- /ko --> /div> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> /tbody> !-- ko with: $root.page --> !-- ko if: new_observation --> tbody data-bindevent: {keyup: new_observation_keyup}> tr classnew> td colspan2 data-bindtext: $root.get_content(new_observation) + :>New Observation:/td> td data-bindwith: new_observation> input typetext data-bindtextInput: obsLabel /> /td> td colspan2 data-bindwith: new_observation> select data-bindvalue: response_type> option data-bindtext: $root.get_content(text_input)>text input/option> option data-bindtext: $root.get_content(numeric_input)>numeric input/option> option data-bindtext: $root.get_content(textarea)>textarea/option> option data-bindtext: $root.get_content(single_select)>single-select/option> option data-bindtext: $root.get_content(multi_select)>multi-select/option> option data-bindtext: $root.get_content(calendar_date_input)>calendar date input/option> /select> /td> td> button data-bind text: $root.get_content(save), click: save_new_observation >Save/button> /td> td>a classtrash data-bindclick: function(){cancel_new_object(observation)}>/a>/td> /tr> /tbody> !-- /ko --> !-- /ko --> /table> !-- /ko --> !-- ko with: $root.page --> div classadd_button_row> !-- ko if: !new_observation() --> a classbtn data-bind text: $root.get_content(new_observation), click: function(){$root.page().start_new_observation()}, clickBubble: false >New Observation/a> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_observation_visit_types: observation, visit_types --> script typetext/html idtemplate_admin_section_observation_visit_types> div classvisit_type_options data-bindcss: {active: $root.page().expanded_obs_visit_type_list() observation.obsId()}> a classtoggle data-bind click: function(){ if($root.page().expanded_obs_visit_type_list() observation.obsId()){ $root.page().expanded_obs_visit_type_list(null); } else { $root.page().expanded_obs_visit_type_list(observation.obsId()); } } >/a> label data-bindcss: {active: !observation.linkedVisitTypes().length}> input typecheckbox value data-bind checked: !observation.linkedVisitTypes().length, click: function(ob, e){ if(e.target.checked) observation.linkedVisitTypes(); if(!e.target.checked) observation.linkedVisitTypes($root.page().visit_type_list_ids()); return true; } /> span>all/span> /label> !-- ko foreach: visit_types --> label data-bindcss: {active: $parent.observation.linkedVisitTypes_strarray().indexOf(String($data.visitTypeId)) > -1}> input typecheckbox data-bind attr: {value: $data.visitTypeId}, checked: $parent.observation.linkedVisitTypes_strarray /> span data-bindtext: $data.visitTypeDesc>/span> /label> !-- /ko --> div> a classbtn thin data-bind click: function(){ $root.page().save_observations_and_formularies(function(){ $root.page().expanded_obs_visit_type_list(null); }, true); } >Save/a> /div> /div> /script> !-- template_admin_section_formularies --> script typetext/html idtemplate_admin_section_formularies> !-- ko if: !formularyCategories().length && !$root.page().new_formulary_category() --> table classdisplay none_found> tr> td data-bindtext: $root.get_content(no_formularies_found)>No formularies found/td> /tr> /table> !-- /ko --> !-- ko if: formularyCategories().length || $root.page().new_formulary_category() --> table idformularies classdisplay accordion_table child_lists> thead> tr> td>/td> td classorder>strong data-bindtext: $root.get_content(order)>Order/strong>/td> td>strong data-bindtext: $root.get_content(category)>Category/strong>/td> td>strong data-bindtext: $root.get_content(formularies)>Formularies/strong>/td> td classmin_width centered prepopulate>strong data-bindtext: $root.get_content(prepopulate)>Prepopulate/strong>/td> td classmin_width centered active>strong data-bindtext: $root.get_content(active)>Active/strong>/td> td classmin_width centered>/td> /tr> /thead> tbody> !-- ko foreach: formularyCategories --> tr data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(formularyCategory, event){$root.page().drag_hover_row(formularyCategory, event)}, mouseleave: function(formularyCategory){$root.page().drag_hover_row_end(formularyCategory)} } > td> a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: {mousedown: function(formularyCategory, event){$root.page().start_drag_row(formularyCategory, event)}} >/a> /td> td classorder>strong data-bindtext: displayOrder>/strong>/td> td data-bindtext: categoryDesc>/td> td> a classcelllink data-bind click: function(){$root.page().toggle_sub_accordion($data.categoryId(), $parent.section_name, formulary)} >/a> span classaccordion_arrow preceding_arrow data-bind css: { active: $root.page().expanded_sections.indexOf(formulary_sub_accordion_ + $data.categoryId()) ! -1 || !$data.formularies.list().length }>/span> span data-bind text: $data.formularies.list().length + + ($data.formularies.list().length ! 1 ? $root.get_content(options) : $root.get_content(option)) >/span> /td> td> !-- ko if: categoryId --> label classcb_label cb_button data-bind click: function(){ if(!$data.active()) return; if($root.page().expanded_sections.indexOf(formulary_sub_accordion_ + $data.categoryId()) -1){ $root.page().toggle_sub_accordion($data.categoryId(), $parent.section_name, formulary); } $root.page().toggle_prepopulate_child_formularies($data); } > input typecheckbox data-bind disable: !$data.active(), checked: $data.prepopulate /> /label> !-- /ko --> /td> td> !-- ko if: categoryId --> label classcb_label cb_button data-bindclick: function(){ if($root.page().expanded_sections.indexOf(formulary_sub_accordion_ + $data.categoryId()) -1){ $root.page().toggle_sub_accordion($data.categoryId(), $parent.section_name, formulary); } $root.page().toggle_active_child_formularies($data); }> input typecheckbox data-bindchecked: $data.active /> /label> !-- /ko --> /td> td> !-- ko if: !$data.inUse() --> a classtrash data-bindclick:function(){$root.page().delete_formulary_confirm($data)}>/a> !-- /ko --> /td> /tr> tr classchildren> td>/td> td colspan5> div classaccordion child_formularies data-bind css: { active: $root.page().expanded_sections.indexOf(formulary_sub_accordion_ + $data.categoryId()) ! -1 || !$data.formularies.list().length }, style: {maxHeight: ( $root.page().expanded_sections.indexOf(formulary_sub_accordion_ + $data.categoryId()) ! -1 || !$data.formularies.list().length ) ? $element.scrollHeight + px : 0px } > div> !-- ko foreach: formularies.list --> div classchild_row data-bind css: { dragging: $data.selected_for_reorder, droppable_above: $data.reorder_possible_before, droppable_below: $data.reorder_possible_after }, event:{ mousemove: function(dressing, event){$root.page().drag_hover_row(dressing, event)}, mouseleave: function(dressing){$root.page().drag_hover_row_end(dressing)} } > a classicon_reorder titledrag to reorder data-bind attr: {title: $root.get_content(drag_to_reorder)}, event: {mousedown: function(dressing, event){$root.page().start_drag_row(dressing, event)}} >/a> strong data-bindtext: displayOrder() + .>/strong> span data-bindtext: dressingDesc>/span> label classcb_label cb_button cb_active data-bindclick: function(){ $data.active(!$data.active()); setTimeout(function(){ if(!$data.active()) $data.prepopulate(false); $root.page().check_active_child_formularies($parent); $root.page().save_observations_and_formularies(); },100); }> input typecheckbox data-bindchecked: $data.active /> /label> label classcb_label cb_button cb_prepopulate data-bindclick: function(){ if(!$data.active()) return; $data.prepopulate(!$data.prepopulate()); setTimeout(function(){ $root.page().check_prepopulate_child_formularies($parent); $root.page().save_observations_and_formularies(); },100); }> input typecheckbox data-bind disable: !$data.active(), checked: $data.prepopulate /> /label> !-- ko if: $parent.formularies.list().length > 1 && !$data.inUse() --> a classtrash data-bind click:function(){$root.page().delete_formulary_confirm($data,true)} >/a> !-- /ko --> /div> !-- /ko --> /div> !-- ko if: !new_dressing() --> div classnew_button> a classbtn data-bind text: $root.get_content(new_formulary), click: function(formularyCategory, event){ $root.page().start_new_dressing(formularyCategory, event) } >New Formulary/a> /div> !-- /ko --> !-- ko if: new_dressing --> div classnew_dressing data-bind event: {keyup: function(dressing,event){$root.page().new_dressing_keyup(dressing,event)}} > input typetext data-bindtextInput: new_dressing().dressingDesc /> button data-bind text: $root.get_content(save), click: function(dressing){$root.page().save_new_dressing(dressing)} >Save/button> a classtrash data-bindclick: $root.page().cancel_new_dressing>/a> /div> !-- /ko --> /div> /td> /tr> !-- /ko --> /tbody> !-- ko with: $root.page --> !-- ko if: new_formulary_category --> tbody data-bindevent: {keyup: new_formulary_category_keyup}> tr classnew> td colspan2 data-bindtext: $root.get_content(new_category) + :>New Category:/td> td colspan2 data-bindwith: new_formulary_category> input typetext data-bindtextInput: categoryDesc /> /td> td> button data-bind text: $root.get_content(save), click: save_new_formulary_category >Save/button> /td> td>a classtrash data-bindclick: function(){cancel_new_object(formulary_category)}>/a>/td> /tr> /tbody> !-- /ko --> !-- /ko --> /table> !-- /ko --> !-- ko with: $root.page --> div classadd_button_row> !-- ko if: !new_formulary_category() --> a classbtn data-bind text: $root.get_content(new_category), click: function(){$root.page().start_new_formulary_category()}, clickBubble: false >New Category/a> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_facilities --> script typetext/html idtemplate_admin_section_facilities> !-- ko if: facilities().length 1 && !$root.page().new_facility() --> table classdisplay none_found> tr> td data-bindtext: $root.get_content(no_facilities_found)>No facilities found/td> /tr> /table> !-- /ko --> !-- ko if: facilities().length > 1 || $root.page().new_facility() --> table idfacilities classdisplay accordion_table child_lists> thead> tr> td>strong data-bindtext: $root.get_content(facility)>Facility/strong>/td> td colspan2>strong data-bindtext: $root.get_content(departments)>Departments/strong>/td> /tr> /thead> tbody> !-- ko foreach: facilities --> !-- ko if: facilityName() ! Global --> tr> td data-bindtext: facilityName>/td> td> a classcelllink data-bind click: function(){$root.page().toggle_sub_accordion($data.facilityId(), $parent.section_name, facility)} >/a> span classaccordion_arrow preceding_arrow data-bind css: {active: $root.page().expanded_sections.indexOf(facility_sub_accordion_ + $data.facilityId()) ! -1} >/span> span classlowercase data-bind text: $data.departments.list().length + + ( $data.departments.list().length ! 1 ? $root.get_content(departments) : $root.get_content(department) ) >/span> /td> td> !-- ko if: !inUse() --> a classtrash data-bindclick:function(){$root.page().delete_facility_confirm($data)}>/a> !-- /ko --> /td> /tr> tr classchildren> td>/td> td> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf(facility_sub_accordion_ + $data.facilityId()) ! -1 }, style: { maxHeight: (($root.page().expanded_sections.indexOf(facility_sub_accordion_ + $data.facilityId()) ! -1) ? $element.scrollHeight + px : 0px ) } > div> !-- ko foreach: departments.list --> div classchild_row > span data-bindtext: departmentName>/span> !-- ko if: !inUse() --> a classtrash data-bind click:function(department){$root.page().delete_department_confirm(department,true)} >/a> !-- /ko --> /div> !-- /ko --> /div> !-- ko if: !new_department() --> div classnew_button> a classbtn data-bind text: $root.get_content(new_department), click: function(facility, event){$root.page().start_new_department(facility, event)} >New Department/a> /div> !-- /ko --> !-- ko if: new_department --> div classnew_department data-bind event: {keyup: function(facility,event){$root.page().new_department_keyup(facility,event)}} > input typetext data-bind textInput: new_department().departmentName, attr: { placeholder: $root.get_content(department) + ( departments.list().length > 0 ? : ( + $root.get_content(required) + ) ) } /> button data-bind attr: {title: $root.get_content(save)}, click: function(facility){$root.page().save_new_department(facility)} >Save/button> !-- ko if: departments.list().length --> a classtrash data-bind click: function(facility){$root.page().cancel_new_department(facility)} >/a> !-- /ko --> /div> !-- /ko --> /div> /td> td>/td> /tr> !-- /ko --> !-- /ko --> /tbody> !-- ko with: $root.page --> !-- ko if: new_facility --> tbody data-bindevent: {keyup: new_facility_keyup}> tr classnew> td colspan3> span data-bindtext: $root.get_content(new_facility)>New Facility/span>: input typetext data-bindtextInput: new_facility().facilityName /> button data-bind attr: {title: $root.get_content(save)}, click: save_new_facility >Save/button> a classtrash data-bindclick: function(){cancel_new_object(facility)}>/a> /td> /tr> /tbody> !-- /ko --> !-- /ko --> /table> !-- /ko --> !-- ko with: $root.page --> div classadd_button_row> !-- ko if: !new_facility() && !has_unsaved_facilities() --> a classbtn data-bind text: $root.get_content(new_facility), click: function(){$root.page().start_new_facility()}, clickBubble: false >New Facility/a> !-- /ko --> /div> !-- /ko --> /script> !-- template_admin_section_encounters --> script typetext/html idtemplate_admin_section_encounters> !-- ko if: !visit_types.length --> table classdisplay none_found> tr> td data-bindtext: $root.get_content(no_encounter_visit_types_found)>No encounter visit types found/td> /tr> /table> br />br />br /> !-- /ko --> !-- ko if: visit_types.length --> table idvisit_types classdisplay accordion_table> thead> tr> td>strong data-bindtext: $root.get_content(label)>Label/strong>/td> td>strong data-bindtext: $root.get_content(description)>Description/strong>/td> td>/td> /tr> /thead> tbody> !-- ko foreach: visit_types --> tr> td data-bindtext: visitTypeLabel>/td> td data-bindtext: visitTypeDesc>/td> td>a classicon icon_pencil titleedit data-bindclick: function(){ $root.page().focus_visit_type(new TA.model_visit_type($root.page().visit_types, { visitTypeId: visitTypeId, visitTypeLabel: visitTypeLabel, visitTypeDesc: visitTypeDesc })) }>/a>/td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> !-- ko with: $root.page --> !-- ko if: new_visit_type --> table idvisit_types classdisplay accordion_table> thead> tr> td>/td> td>strong data-bindtext: $root.get_content(label)>Label/strong>/td> td>strong data-bindtext: $root.get_content(description)>Description/strong>/td> td>/td> /tr> /thead> tbody data-bindevent: {keyup: new_visit_type_keyup}> tr classnew> td data-bindtext: $root.get_content(new_encounter_visit_type) + :>New encounter visit type:/td> td data-bindwith: new_visit_type> input typetext data-bindtextInput: visitTypeLabel placeholderLabel /> /td> td data-bindwith: new_visit_type> input typetext data-bindtextInput: visitTypeDesc placeholderDescription /> /td> td> a classbtn data-bind text: $root.get_content(save), click: save_new_visit_type >Save/a> a classbtn danger data-bind text: $root.get_content(cancel), click: function(){cancel_new_object(visit_type)} >Cancel/a> /td> /tr> /tbody> /table> !-- /ko --> !-- ko if: focus_visit_type --> table idvisit_types classdisplay accordion_table> thead> tr> td>strong data-bindtext: $root.get_content(label)>Label/strong>/td> td>strong data-bindtext: $root.get_content(description)>Description/strong>/td> td>/td> /tr> /thead> tbody data-bindevent: {keyup: focus_visit_type_keyup}> tr classnew> td data-bindwith: focus_visit_type> input typetext data-bindtextInput: visitTypeLabel placeholderLabel /> /td> td data-bindwith: focus_visit_type> input typetext data-bindtextInput: visitTypeDesc placeholderDescription /> /td> td> a classbtn data-bind text: $root.get_content(save), click: save_focus_visit_type >Save/a> a classbtn danger data-bind text: $root.get_content(cancel), click: function(){$root.page().focus_visit_type(null)} >Cancel/a> /td> /tr> /tbody> /table> !-- /ko --> !-- /ko --> !-- ko with: $root.page --> div classadd_button_row> !-- ko if: !new_visit_type() --> a classbtn data-bind text: $root.get_content(new_encounter_visit_type), click: function(){$root.page().start_new_visit_type()}, clickBubble: false >New encounter visit type/a> !-- /ko --> /div> !-- /ko --> /script> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> all_settings -- functionality for raw settings admin page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() all_settings && page()}> !-- ko if: active_page() all_settings && page() --> !-- ko with: page --> div classpage_content> h1>All Settings/h1> div classall_settings> form data-bindsubmit:function(){save_settings()}> table classdisplay> tr> td> Filter: input typetext data-bindtextInput: settings_filter /> /td> /tr> /table> div idsettings_scroller classsettings_scroller> table classdisplay> tbody> !-- ko foreach: settingList() --> tr> td data-bindtext: settingDesc>/td> td data-bindtext: settingLabel>/td> td> textarea data-bindtextInput: settingValue>/textarea> /td> /tr> !-- /ko --> /tbody> /table> /div> table classdisplay> tr> td classbutton_row> button typesubmit data-bindclick:function(){save_settings()}>Save/button> /td> /tr> /table> /form> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> tracy -- functionality for the QA tracy page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() tracy && page()}> !-- ko if: active_page() tracy && page() --> !-- ko with: page --> div classpage_content> h1 classstatus tracy_status> Tracy span classpending> Pending: span data-bindtext:pending_visits.list().length>/span> /span> a classvolume data-bindcss: {muted:mute}, click:function(){mute(!mute())}>/a> !-- ko if: $root.mobile_view() && active_visit() --> span classage> Age: span idmobile_active_visit_clock data-bind text:format_timer(active_visit().created()), attr:{data-date:active_visit().created()} >/span> /span> a classmenu_toggle active data-bindcss: {active:expand_menu}, click:function(){expand_menu(!expand_menu())}>/a> !-- /ko --> !-- ko if: !$root.mobile_view() && active_evaluation() && active_evaluation().woundAnalysis().approved --> section classdecision_history> div> strong>Approved/strong> !-- ko if: active_evaluation().no_analysis_messages().length --> !-- ko foreach: active_evaluation().no_analysis_messages() --> div data-bindtext: $data>/div> !-- /ko --> !-- /ko --> /div> /section> !-- /ko --> /h1> div classtracy> section classmenu data-bindcss: {active:expand_menu() || !active_visit()}> !-- ko if: pending_visits.list() && pending_visits.list().length --> table idtrace_list classdisplay clickable selectable> tbody data-bindforeach: pending_visits.list> tr data-bind css: { active: $parent.active_evaluation() && $data.woundEvaluationId() $parent.active_evaluation().woundEvaluationId() }, click:function(){$parent.active_visit($data)} > td> span data-bindtext:$parent.format_timer(created()), attr:{data-date:created}>/span> /td> td data-bindtext:installation>/td> /tr> /tbody> /table> !-- /ko --> !-- ko if: history.list() && history.list().length --> h2>History/h2> table idhistory_trace_list classdisplay clickable selectable> tbody data-bindforeach: history.list> tr data-bind css: { active: $parent.active_evaluation() && $data.woundEvaluationId() $parent.active_evaluation().woundEvaluationId() }, click:function(){$parent.active_visit($data)} > td> span data-bindtext: $root.helpers.past_date_parse(created()).format(M/D h:mm\u00A0a)>/span> /td> td data-bindtext:installation>/td> /tr> /tbody> /table> a classbtn data-bindclick:function(){load_trace_history(true)}>load more history/a> !-- /ko --> /section> !-- ko if: active_evaluation --> section classcontrols data-bindcss: {active:active_evaluation() && dot_tool.ready()}> !-- ko if: active_evaluation().signatureId() --> Signed & Locked !-- /ko --> !-- ko if: !active_evaluation().signatureId() --> !-- ko if: !$root.mobile_view() --> label classcb_label show_analysis data-bindclick: function(){show_analysis(!show_analysis())}> input typecheckbox data-bindchecked: show_analysis /> Show Outline /label> table classdisplay compact> tbody> tr> td>Area/td> td>strong data-bindtext:analysis_area>/strong>/td> /tr> tr> td>Length/td> td>strong data-bindtext:analysis_length>/strong>/td> /tr> tr> td>Width/td> td>strong data-bindtext:analysis_width>/strong>/td> /tr> /tbody> /table> !-- /ko --> !-- ko if: !has_changes() --> a classbtn hide_inactive data-bind css: {active: !noDot() && !noWound() && !exceedsMaxAngle()}, click:approve_analysis >approve/a> a classbtn reject mobile data-bind click:function(){ if(noDot() || noWound() || exceedsMaxAngle()) reject(); else show_rejections(!show_rejections()) }, text: (noDot() || noWound() || exceedsMaxAngle()) ? submit : reject >/a> !-- /ko --> !-- ko if: !has_changes() || $root.mobile_view() --> div classrejections_wrapper> div classrejections data-bindcss: {active:show_rejections() && !has_changes()}> div> input typecheckbox data-bindchecked: noDot /> label data-bindclick: function(){noDot(!noDot())}> No dot /label> /div> div> input typecheckbox data-bindchecked: noWound /> label data-bindclick: function(){noWound(!noWound())}> No wound /label> /div> div> input typecheckbox data-bindchecked: exceedsMaxAngle /> label data-bindclick: function(){exceedsMaxAngle(!exceedsMaxAngle())}> Max angle /label> /div> /div> /div> !-- /ko --> !-- ko if: !has_changes() --> span classhide_inactive desktop data-bindcss: {active:noDot() || noWound() || exceedsMaxAngle()}> a classbtn reject data-bindclick:reject>submit/a> /span> !-- /ko --> !-- ko if: has_changes() --> a classbtn data-bindclick:submit_retrace>submit/a> span classhide_inactive data-bindcss: {active:trace_tool.points().length}> a classbtn warn data-bindclick:function(){trace_tool.undo()}>undo/a> /span> a classbtn warn desktop data-bindclick:reset_visit>reset/a> !-- /ko --> !-- ko if: !$root.mobile_view() --> label classcb_label show_rotator data-bindclick: function(){dot_tool.show_rotator(!dot_tool.show_rotator())}> input typecheckbox data-bindchecked: dot_tool.show_rotator /> Dot Rotator /label> !-- /ko --> !-- ko if: $root.mobile_view() && active_evaluation() && active_evaluation().woundAnalysis().approved --> section classdecision_history> div> strong>Approved/strong> !-- ko if: active_evaluation().no_analysis_messages().length --> !-- ko foreach: active_evaluation().no_analysis_messages() --> div data-bindtext: $data>/div> !-- /ko --> !-- /ko --> /div> /section> !-- /ko --> !-- /ko --> /section> section idtracy_workspace classimg_wrapper data-bindcss: {active:active_evaluation() && dot_tool.ready()}> !-- ko if: !active_evaluation().signatureId() --> div data-bindtemplate:{name: template_dot_tool, data: dot_tool}>/div> !-- /ko --> !-- ko with: trace_tool --> div idtracy_trace_wrapper>/div> !-- /ko --> div idtracy_analysis_wrapper classhide_inactive data-bind css: {active:!trace_tool.tracing() && !trace_tool.points().length && !noWound() && show_analysis()} >/div> div idtracy_dot_wrapper classhide_inactive data-bind css: {active:!dot_tool.is_set() && !noDot()} >/div> div idtracy_analysis_img data-bindattr:{style: container_style}>/div> /section> !-- ko if: $root.mobile_view() --> section classdimensions> span> Area: strong data-bindtext:analysis_area>/strong> /span> span> Length strong data-bindtext:analysis_length>/strong> /span> span> Width strong data-bindtext:analysis_width>/strong> /span> /section> div classmobile_controls> label classcb_label show_analysis data-bindclick: function(){show_analysis(!show_analysis())}> input typecheckbox data-bindchecked: show_analysis /> Show Outline /label> label classcb_label show_rotator data-bindclick: function(){dot_tool.show_rotator(!dot_tool.show_rotator())}> input typecheckbox data-bindchecked: dot_tool.show_rotator /> Dot Rotator /label> /div> !-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> reports -- meta reports ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() reports && page()}> !-- ko if: active_page() reports && page() --> !-- ko with: page --> div classpage_content> h1 data-bindtext: $root.get_content(reports)>Reports/h1> div classreports> div classcsv hide_inactive data-bindcss: {active: show_csv}> a classhide_csv data-bindclick: function(){show_csv(false)}>CSV/a> a classclose_popup data-bindclick: function(){show_csv(false)}>/a> textarea disabled data-bindvalue: csv>/textarea> div> a classbtn data-bind text: $root.get_content(download), click: function(){download_csv()} >download/a> div classhint data-bindtext: $root.get_content(csv_copy_instructions)> If the download does not work, you may copy and paste the list directly into a spreadsheet /div> /div> /div> nav classtabs neutral_tabs> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(summary_statistics), is_default: true}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(wound_dashboard)}} -->!-- /ko --> !-- ko template:{ name: template_nav_tab, data: {tab_name: $root.get_content(wound_log)}} -->!-- /ko --> /nav> div classneutral_tabs> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(summary_statistics), is_default: true, tab_content_template: template_reports_section_summary_statistics } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(wound_dashboard), tab_content_template: template_reports_section_wound_dashboard } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: $root.get_content(wound_log), tab_content_template: template_reports_section_wound_log } } -->!-- /ko --> /div> !-- template_reports_table_th: report_key str, column_key str, column_text optional, str, centered optional, boolean --> script typetext/html idtemplate_reports_table_th> th classcentered data-bind html : ( $data.column_text || $root.get_content(report_column_title_ + column_key, true) || $root.get_content(column_key, true) ) + span>/span>, css: { sort_asc: $root.page()report_key + _sort_by() column_key, sort_desc: $root.page()report_key + _sort_by() column_key + _desc, centered: $data.centered }, click: function(){$root.page().set_sort_by(report_key, column_key)} > /th> /script> !-- template_reports_section_summary_statistics --> script typetext/html idtemplate_reports_section_summary_statistics> table classdisplay compact scrollbody data-bindwith: $root.page()> thead> tr> !-- ko if: !summary_statistics_hide_facility_column() --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: facility }} -->!-- /ko --> !-- /ko --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: total_patients, column_text: $root.get_content(patients), centered: true }} -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: total_wounds, column_text: $root.get_content(wounds), centered: true }} -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: total_deteriorated, centered: true }} -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: total_improved, centered: true }} -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: { report_key: summary_statistics, column_key: total_healed, column_text: $root.get_content(healed), centered: true }} -->!-- /ko --> /tr> /thead> tbody classdivider>tr>td>/td>/tr>/tbody> tbody classscrollbody_scroller data-bindforeach: sorted_summary_statistics_data()> tr> !-- ko if: !$parent.summary_statistics_hide_facility_column() --> td data-bindtext: facility>/td> !-- /ko --> td classcentered data-bindtext: total_patients.toLocaleString()>/td> td classcentered data-bindtext: total_wounds.toLocaleString()>/td> td classcentered data-bindtext: total_deteriorated.toLocaleString()>/td> td classcentered data-bindtext: total_improved.toLocaleString()>/td> td classcentered data-bindtext: total_healed.toLocaleString()>/td> /tr> /table> /script> !-- template_reports_section_wound_dashboard --> script typetext/html idtemplate_reports_section_wound_dashboard> table classdisplay compact scrollbody data-bindwith: $root.page()> thead> tr> !-- th>/th> --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: facility} } -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: patient_name} } -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: patient_mrn} } -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: wound_location} } -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: signed_date} } -->!-- /ko --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_dashboard, column_key: provider} } -->!-- /ko --> /tr> /thead> tbody classdivider>tr>td>/td>/tr>/tbody> tbody classscrollbody_scroller data-bindforeach: sorted_wound_dashboard_data()> tr> !-- td data-bindtext: $index() + 1>/td> --> td data-bindtext: facility>/td> td data-bindtext: patient_name>/td> td data-bindtext: patient_mrn>/td> td data-bindtext: wound_location>/td> td data-bindtext: $parent.formatted_date(signed_date)>/td> td data-bindtext: provider>/td> /tr> /table> /script> !-- template_reports_section_wound_log --> script typetext/html idtemplate_reports_section_wound_log> !-- ko with: $root.page() --> !-- ko if: data() --> div classtab_sub_nav> a classbtn thin neutral data-bind css: {active: show_wound_log_data_options}, click: function(){show_wound_log_data_options(!show_wound_log_data_options())} > Data Options /a> a classbtn thin neutral data-bind css: {active: show_wound_log_filters}, click: function(){show_wound_log_filters(!show_wound_log_filters())} > Filters /a> a classshow_csv data-bindclick: function(){show_csv(wound_log)}>CSV/a> /div> div classsettings data-bind css: {active: show_wound_log_data_options}, style: {maxHeight: show_wound_log_data_options() ? $element.scrollHeight + px : 0px} > div classnote>* Options that do not exist in the data set are not shown/div> h2>Data/h2> div> Fields: label classcb_label> input typecheckbox data-bindchecked: show_counter /> span>Counter/span> /label> !-- ko foreach: available_wound_log_fields --> label classcb_label> input typecheckbox data-bind value: $parent.to_key($data), checked: $parent.wound_log_fields /> span data-bindtext: $parent.to_label($data)>/span> /label> !-- /ko --> /div> div> Measurements: !-- ko foreach: available_wound_log_measurements --> label classcb_label> input typecheckbox data-bind value: $parent.to_key($data), checked: $parent.wound_log_fields /> span data-bindtext: $data>/span> /label> !-- /ko --> /div> div> Observations: !-- ko foreach: data().observations.labels --> label classcb_label> input typecheckbox data-bind value: $parent.to_key($data), checked: $parent.wound_log_observations /> span data-bindtext: $data>/span> /label> !-- /ko --> /div> div> Formularies: !-- ko foreach: data().formularies.categories --> label classcb_label> input typecheckbox data-bind value: $parent.to_key($data), checked: $parent.wound_log_formularies /> span data-bindtext: $data>/span> /label> !-- /ko --> /div> /div> div classsettings data-bind css: {active: show_wound_log_filters}, style: {maxHeight: show_wound_log_filters() ? $element.scrollHeight + px : 0px} > !-- ko if: !show_wound_log_data_options() --> div classnote>* Options that do not exist in the data set are not shown/div> !-- /ko --> h2>Filters/h2> div> Facilities: !-- ko with: wound_log_data() --> !-- ko if: $data && $data.filter_values --> !-- ko foreach: $data.filter_values.facilities --> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().wound_log_filters.facilities /> span data-bindtext: $data>/span> /label> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- ko if: wound_log_data() && wound_log_data().filter_values --> !-- ko foreach: {data: data().observations.labels, as: ob_label} --> !-- ko if: $parent.wound_log_observations().indexOf($parent.to_key(ob_label)) > -1 --> div> span data-bindtext: $data>/span> !-- ko foreach: $parent.wound_log_data().filter_values$parent.to_key(ob_label) --> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().wound_log_filters$root.page().to_key(ob_label) /> span data-bindtext: $data>/span> /label> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko foreach: {data: data().formularies.categories, as: formulary_label} --> !-- ko if: $parent.wound_log_formularies().indexOf($parent.to_key(formulary_label)) > -1 --> div> span data-bindtext: $data>/span> !-- ko foreach: $parent.wound_log_data().filter_values$parent.to_key(formulary_label) --> label classcb_label> input typecheckbox data-bind value: $data, checked: $root.page().wound_log_filters$root.page().to_key(formulary_label) /> span data-bindtext: $data>/span> /label> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> /div> table classdisplay compact scrollbody> thead> tr> !-- ko if: show_counter --> th classcounter>/th> !-- /ko --> !-- ko foreach: available_wound_log_fields --> !-- ko if: $parent.wound_log_fields.indexOf($parent.to_key($data)) > - 1 --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_log, column_key: $parent.to_key($data), column_text: $parent.to_label($data)} } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko foreach: available_wound_log_measurements --> !-- ko if: $parent.wound_log_fields.indexOf($parent.to_key($data)) > - 1 --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_log, column_key: $parent.to_key($data), column_text: $data} } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko foreach: data().observations.labels --> !-- ko if: $root.page().wound_log_observations().indexOf($parent.to_key($data)) > -1 --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_log, column_key: $parent.to_key($data), column_text: $data} } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko foreach: data().formularies.categories --> !-- ko if: $root.page().wound_log_formularies().indexOf($parent.to_key($data)) > -1 --> !-- ko template:{ name: template_reports_table_th, data: {report_key: wound_log, column_key: $parent.to_key($data), column_text: $data} } -->!-- /ko --> !-- /ko --> !-- /ko --> /tr> /thead> tbody classdivider>tr>td>/td>/tr>/tbody> tbody classscrollbody_scroller data-bindforeach: {data: sorted_wound_log_data(), as: row}> tr> !-- ko if: $parent.show_counter --> td classcounter data-bindtext: $index() + 1>/td> !-- /ko --> !-- ko foreach: $parent.available_wound_log_fields --> !-- ko if: $root.page().wound_log_fields.indexOf($root.page().to_key($data)) > - 1 --> td data-bind text: ($root.page().to_key($data).indexOf(_date) > -1) ? $root.page().formatted_date(row$root.page().to_key($data)0) : row$root.page().to_key($data).join(, ) >/td> !-- /ko --> !-- /ko --> !-- ko foreach: $parent.available_wound_log_measurements --> !-- ko if: $root.page().wound_log_fields.indexOf($root.page().to_key($data)) > - 1 --> td data-bind text: ($root.page().to_key($data).indexOf(_date) > -1) ? $root.page().formatted_date(row$root.page().to_key($data)0) : $root.page().add_units(row, $root.page().to_key($data)) >/td> !-- /ko --> !-- /ko --> !-- ko foreach: $parent.data().observations.labels --> !-- ko if: $root.page().wound_log_observations().indexOf($root.page().to_key($data)) > -1 --> td data-bindtext: row$root.page().to_key($data).join(, )>/td> !-- /ko --> !-- /ko --> !-- ko foreach: $parent.data().formularies.categories --> !-- ko if: $root.page().wound_log_formularies().indexOf($root.page().to_key($data)) > -1 --> td data-bindtext: row$root.page().to_key($data).join(, )>/td> !-- /ko --> !-- /ko --> /tr> /table> !-- /ko --> !-- /ko --> /script> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> reporting -- deterioration risk report ------------------------------------------------------------> div classpage data-bind css: { active: active_page() reporting && page(), no_scroll: page() && page().has_dynamic_component && !page().has_dynamic_component() } > !-- ko if: active_page() reporting && page() --> !-- ko with: page --> !-- ko if: active_report() data_extract --> !-- ko if: report() --> !-- ko with: report() --> !-- ko if: active_data_extract --> div classdata_extract_modal_bg>/div> div classdata_extract_modal data-bindwith: active_data_extract> h2 data-bindtext: $root.get_content(create_new_data_extract)>Create New Data Extract/h2> div classdata_extract_parameters> fieldset> span data-bindtext: $root.get_content(data_extract_name) + *>Data Extract Name */span> input typetext data-bindtextInput: reportName /> /fieldset> fieldset> span data-bindtext: $root.get_content(date_range)>Date Range/span> label classcb_label> input typeradio namecustom_dates valuefalse data-bindchecked: custom_dates /> span data-bindtext: $root.get_content(all_dates)>All Dates/span> /label> label classcb_label> input typeradio namecustom_dates valuetrue data-bindchecked: custom_dates /> span data-bindtext: $root.get_content(custom_range)>Custom Range/span> /label> !-- ko if: custom_dates() true --> div classcustom_dates> span data-bind>Start Date/span> input typetext data-bind textInput: start_date, attr: {placeholder: $root.settings.locale_input_date_format().toLowerCase()}, event:{ focus: function(obj,event){ event.target.blur(); if(!start_calendar_input.active()) start_calendar_input.toggle_calendar(obj,event); }, click: function(){} }, clickBubble: false > /div> div classcustom_dates> span data-bind>End Date/span> input typetext data-bind textInput: end_date, attr: {placeholder: $root.settings.locale_input_date_format().toLowerCase()}, event:{ focus: function(obj,event){ event.target.blur(); if(!end_calendar_input.active()) end_calendar_input.toggle_calendar(obj,event); }, click: function(){} }, clickBubble: false > /div> !-- /ko --> /fieldset> fieldset> span data-bindtext: $root.get_content(filters)>Filters/span> label classcb_label> input typecheckbox data-bindchecked: includeObservations /> span data-bindtext: $root.get_content(include_observations_and_formularies)>Include Observations and Formularies/span> /label> /fieldset> fieldset> span> span data-bindhtml: $root.get_content(facility_and_department)>Facility & Department/span> a classbtn thin round selected capitalize data-bind text: $root.get_content(select_all), click: function(){select_all_facilities($root.user().facilityList())} >Select All/a> /span> !-- ko foreach: $root.user().facilityList() --> !-- ko if: facilityName ! Global --> !-- ko if: $root.user().facilityList().length > 1 --> div classfacility> a classbtn thin round selected capitalize data-bind text: $root.get_content(select_all), click: function(){$parent.select_all_departments($data)} >Select All/a> a classaccordion_arrow data-bind css: {active: $root.page().expanded_sections.indexOf(facility_ + facilityName) ! -1}, click: function(patient){$root.page().toggle_accordion(facility_ + facilityName)} >/a> span data-bind text: facilityName, click: function(){}, click: function(patient){$root.page().toggle_accordion(facility_ + facilityName)} >/span> /div> !-- /ko --> div classaccordion data-bind css: {active: $root.page().expanded_sections.indexOf(facility_ + facilityName) ! -1}, style: {maxHeight: (($root.page().expanded_sections.indexOf(facility_ + facilityName) ! -1) ? ($element.scrollHeight + 20) + px : 0px)} > !-- ko foreach: $data.departmentList --> label classcb_label data-bindclick: function(){$parents1.toggle_department($data)}> input typecheckbox data-bindchecked: $parents1.departments().indexOf(departmentId) ! -1 /> span data-bindtext: departmentName>/span> /label> !-- /ko --> /div> !-- /ko --> !-- /ko --> /fieldset> /div> div classbtn_row> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){$parent.active_data_extract(null)} >Cancel/a> a classbtn selected data-bind text: $root.get_content(generate_data_extract), click: function(){$parent.submit_data_extract()} >Generate Data Extract/a> /div> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> div classpage_content> div iddynamic_reporting classdynamic_component reports reporting dynamic_component_typereporting dynamic_component_payload%7B%22id%22%3A%22reporting%22%7D match_idreporting> !-- ko if: !$root.org().dynamic_component_map || !$root.org().dynamic_component_map.REPORTING --> nav> !-- ko if: $root.settings.enable_pi_deterioration_risk() --> !-- ko if: !active_report() || active_report() pressure_injury_risk --> h1 data-bindtext: $root.get_content(pressure_injury_deterioration_risk_report)> Pressure Injury Deterioration Risk Report /h1> !-- /ko --> !-- /ko --> /nav> !-- /ko --> !-- template_reports_section_data_extract_list_tr_th --> script typetext/html idtemplate_reports_section_data_extract_list_tr_th> th data-bind css: { neutral: collection.sort() ! $data.sort_label, asc: collection.sort() $data.sort_label && collection.sort_direction() asc, desc: collection.sort() $data.sort_label && collection.sort_direction() desc }, text: $root.get_content($data.content_label), click: function(){collection.sort_click($data.sort_label)} >/th> /script> !-- ko if: active_report() --> !-- ko if: active_report() pressure_injury_risk --> !-- ko if: report() --> !-- ko template:{name: template_reports_section_pressure_injury_risk_report} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: active_report() data_extract --> !-- ko if: report() --> !-- ko with: report() --> div classdata_extract> header> a classbtn data-bind text: $root.get_content(create_new_data_extract), click: function(){start_new_data_extract()} >Create New Data Extract/a> h1 data-bindtext: $root.get_content(data_extracts)>Data Extracts/h1> /header> !-- ko if: !$root.settings.enable_portal_redesign() --> table classdisplay compact scrollbody> thead> tr> !-- ko template:{ name: template_reports_section_data_extract_list_tr_th, data: {sort_label: report_name, content_label: data_extract_name, collection: data_extract_collection}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_data_extract_list_tr_th, data: {sort_label: created, content_label: created, collection: data_extract_collection}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_data_extract_list_tr_th, data: {sort_label: username, content_label: created_by, collection: data_extract_collection}} -->!-- /ko --> th data-bindtext: $root.get_content(date_range)>Date Range/th> th data-bindtext: $root.get_content(departments)>Departments/th> th data-bindtext: $root.get_content(size)>Size/th> th>/th> /tr> /thead> !-- ko if: $root.page().ready() && !data_extract_collection.list().length --> tbody> tr> td colspan6 classno_data data-bindtext: $root.get_content(no_data_extracts_found)> No data extracts found /td> /tr> /tbody> !-- /ko --> !-- ko if: data_extract_collection.list().length --> tbody classscrollbody_scroller data-bindforeach: data_extract_collection.list()> tr> td data-bindtext: reportName>/td> td data-bindtext: $root.page().formatted_date(createdDate())>/td> td data-bindtext: createdByUserName>/td> td data-bindhtml: $parent.formatted_date_range(fromDate(), toDate(), createdDate())>/td> td data-bindhtml: $parent.formatted_departments_list(departments())>/td> td data-bindtext: $root.page().formatted_filesize(reportSize())>/td> td classreport_status> span data-bindhtml: $parent.formatted_link($data)>/span> !-- ko if: $data.reportStatus() SUCCESS --> a classtrash data-bind attr: {title: $root.get_content(delete)}, click: function(){$data.delete_report_confirmation()} >/a> !-- /ko --> /td> /tr> /tbody> !-- /ko --> /table> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko with: report() --> !-- ko if: data_extract_collection.table() --> !-- ko template:{name: template_nhsg_table, data: data_extract_collection.table()} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: report() --> !-- ko with: report() --> !-- ko template:{name: template_nhsg_pagination, data: { page_size: data_extract_collection.page_size, page: data_extract_collection.page, allow_all: false, total_count: data_extract_collection.total_count } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- template_reports_section_pressure_injury_risk_report_tr_th --> script typetext/html idtemplate_reports_section_pressure_injury_risk_report_tr_th> th data-bind css: { neutral: $root.page().report().sort() ! $data.sort_label, asc: $root.page().report().sort() $data.sort_label && $root.page().report().sort_direction() asc, desc: $root.page().report().sort() $data.sort_label && $root.page().report().sort_direction() desc }, text: $root.get_content($data.content_label), click: function(){$root.page().report().sort_click($data.sort_label)} >/th> /script> !-- template_reports_section_pressure_injury_risk_report --> script typetext/html idtemplate_reports_section_pressure_injury_risk_report> !-- ko if: $root.page().ready() --> !-- ko if: $root.page().report() && $root.page().report().ready() --> !-- ko if: !$root.page().report().report_data_length() --> div classno_data data-bindtext: $root.get_content(no_data_msg)>/div> !-- /ko --> !-- ko if: $root.page().report().report_data_length() --> !-- ko if: !$root.settings.enable_portal_redesign() --> table classdisplay compact scrollbody clickable selectable data-bindwith: $root.page()> thead> tr data-bindwith: $root.page().report()> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: departmentName, content_label: department}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: firstName, content_label: first_name}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: lastName, content_label: last_name}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: medicalRecordNumber, content_label: mrn}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: dateOfBirth, content_label: dob}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: mostRecentEvalDate, content_label: last_seen}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: location, content_label: wound_location}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: stage, content_label: wound_graduation_stage}} -->!-- /ko --> !-- ko template:{ name: template_reports_section_pressure_injury_risk_report_tr_th, data: {sort_label: bucketOrdinal, content_label: risk}} -->!-- /ko --> /tr> /thead> tbody classdivider>tr>td>/td>/tr>/tbody> tbody classscrollbody_scroller data-bindforeach: report().report_data()> tr> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.departmentName>/span>/td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.firstName>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.lastName>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.medicalRecordNumber>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.dateOfBirth>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindhtml: $root.page().formatted_date_and_time($data.mostRecentEvalDate)>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.location>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.stage>/span> /td> td class> a classcelllink data-bindattr: {href: #pagewound_detail&patientId + patientId + &woundId + woundId}>/a> span data-bindtext: $data.bucket>/span> /td> /tr> /table> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> !-- ko with: $root.page().report() --> !-- ko if: table() --> !-- ko template:{name: template_nhsg_table, data: table()} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko with: $root.page().report() --> !-- ko template:{name: template_nhsg_pagination, data: { page_size: page_size, page: page, allow_all: false, total_count: report_data_length } } -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /script> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> data_center ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() data_center && page()}> !-- ko if: active_page() data_center && page() --> !-- ko with: page --> div classpage_content> div classdata_center> a classbtn new_report data-bind text: $root.get_content(create_new_report), attr: {href: #pagedata_center_report} >Create New Report/a> h1 data-bindtext: $root.get_content(data_center)>Data Center/h1> div classdata_center_reports> h2 data-bindtext: $root.get_content(patient_reports)>Patient Reports/h2> !-- ko template:{name: template_data_center_report_link_list, data: $data.patient_reports} -->!-- /ko --> h2 data-bindtext: $root.get_content(wound_reports)>Wound Reports/h2> !-- ko template:{name: template_data_center_report_link_list, data: $data.wound_reports} -->!-- /ko --> h2 data-bindtext: $root.get_content(evaluation_reports)>Evaluation Reports/h2> !-- ko template:{name: template_data_center_report_link_list, data: $data.evaluation_reports} -->!-- /ko --> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> template_data_center_report_link_list data: model_data_center_report_collection ------------------------------------------------------------> script typetext/html idtemplate_data_center_report_link_list> div classdata_center_report_link_list> !-- ko if: !$data.list().length --> div classno_data data-bindtext: $root.get_content(no_reports_found)>No reports found/div> !-- /ko --> !-- ko if: $data.list().length --> !-- ko foreach: $data.list() --> div> a data-bind text: $data.title, attr: {href: #pagedata_center_report&reportId + $data.reportId()} >/a> /div> !-- /ko --> !-- /ko --> /div> /script> !--------------------------------------------------------- -> data_center_report ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() data_center_report && page()}> !-- ko if: active_page() data_center_report && page() --> !-- ko with: page --> div classpage_content> div classdata_center data_center_report> !-- ko if: !$data.report.reportId() --> h1 data-bindtext: $root.get_content(create_new_report)>Create New Report/h1> !-- /ko --> !-- ko if: $data.report.reportId() --> h1 data-bindtext: $root.get_content(edit)>Edit Report/h1> !-- /ko --> div classreport_metadata> div> div classlabel required data-bindtext: $root.get_content(report_title)>Report Title/div> input typetext data-bindvalue: $data.report.title> /div> div> div classlabel required data-bindtext: $root.get_content(this_reports_data_is) + :>This reports data is:/div> label classnew_cb_label data-bind css: {checked: $data.report.focus() patient}, text: $root.get_content(patient_focused), click: function(){$data.report.focus(patient)} > Patient Focused /label> label classnew_cb_label data-bind css: {checked: $data.report.focus() wound}, text: $root.get_content(wound_focused), click: function(){$data.report.focus(wound)} > Wound Focused /label> label classnew_cb_label data-bind css: {checked: $data.report.focus() evaluation}, text: $root.get_content(evaluation_focused), click: function(){$data.report.focus(evaluation)} > Evaluation Focused /label> /div> /div> !-- ko if: $data.report.focus() --> h1 data-bindtext: $root.get_content(choose_report_columns)>Choose Report Columns/h1> div classinstructions> h3 data-bindtext: $root.get_content(choosing_columnns)>Choosing Columns/h3> p data-bindhtml: $root.get_content(choosing_columns_instructions)>/p> /div> div classcolumns idcolumns> div classcolumn> h2 data-bindtext: $root.get_content(available_columns)>Available Columns/h2> div classcolumn_scroller> !-- ko foreach: $data.available_fields() --> h3 classfirst data-bindtext: $root.get_content($data.label_key)>/h3> !-- ko foreach: $data.fields --> !-- ko template:{name: template_data_center_drag_tile, data: $data} -->!-- /ko --> !-- /ko --> !-- /ko --> /div> /div> div classcolumn> h2 data-bindtext: $root.get_content(selected_columns)>Selected Columns/h2> div classcolumn_scroller> /div> /div> /div> div classbtn_row> a classbtn neutral data-bind text: $root.get_content(cancel), attr: {href: #pagedata_center} >Cancel/a> !-- ko if: !$data.report.reportId() --> a classbtn neutral data-bind text: $root.get_content(create_report), click: function(){$data.save_report()} >Create Report/a> a classbtn data-bind text: $root.get_content(create_and_run_report), click: function(){$data.save_report(true)} >Create and Run Report/a> !-- /ko --> !-- ko if: $data.report.reportId() --> a classbtn neutral data-bind text: $root.get_content(save_report), click: function(){$data.save_report()} >Save Report/a> a classbtn data-bind text: $root.get_content(save_and_run_report), click: function(){$data.save_report(true)} >Save and Run Report/a> !-- /ko --> /div> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> template_data_center_drag_tile data: ------------------------------------------------------------> script typetext/html idtemplate_data_center_drag_tile> div classdrag_tile> span>/span>span>/span>span>/span>span>/span>span>/span>span>/span> a data-bindtext: $data.label>/a> /div> /script> !--------------------------------------------------------- -> dashboard ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() dashboard && page()}> !-- ko if: active_page() dashboard && page() --> !-- ko with: page --> div classpage_content> div classdashboard> h1 data-bindtext: $root.get_content(dashboards)>Dashboards/h1> div classfilters> !-- ko template:{name: template_facility_filter, data: { user: $root.user(), parent: $root.page(), menu_id: user_facility_menu, list_id: user_facility_list }} -->!-- /ko --> span classdates> span data-bindtext: $root.get_content(date_range)>Date Range/span>: !-- ko template:{name: template_calendar_input, data: $data.start_calendar_input} -->!-- /ko --> – !-- ko template:{name: template_calendar_input, data: $data.end_calendar_input} -->!-- /ko --> /span> /div> div classtotal_panels> !-- ko foreach: $data.dashboard_collection.list() --> !-- ko template:{name: template_dashboard_total_panel, data: $data} -->!-- /ko --> !-- /ko --> /div> div classgraph_panels> !-- ko foreach: $data.dashboard_collection.list() --> !-- ko if: !$data.charted_on() --> !-- ko template:{name: template_dashboard_graph_panel, data: $data} -->!-- /ko --> !-- /ko --> !-- /ko --> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> template_dashboard_total_panel data: model_dashboard ------------------------------------------------------------> script typetext/html idtemplate_dashboard_total_panel> div classdashboard_total> h4 data-bindtext: $data.dashboardName()>/h4> h2 data-bindtext: $data.total_count()>/h2> /div> /script> !--------------------------------------------------------- -> template_dashboard_graph_panel data: model_dashboard ------------------------------------------------------------> script typetext/html idtemplate_dashboard_graph_panel> div classdashboard_graph> h2 data-bindtext: $data.group_title() || $data.dashboardName()>/h2> div classdashboard_graph_canvas_wrapper> canvas data-bindattr: {id: dashboard_graph_ + $data.dashboardId()}>/canvas> /div> /div> /script> !--------------------------------------------------------- -> usage_dashboard ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() usage_dashboard && page()}> !-- ko if: active_page() usage_dashboard && page() --> !-- ko with: page --> div classpage_content> div idusage_dashboard classusage_dashboard data-bindcss: {load_failed: load_failed}> h1 data-bindtext: $root.get_content(usage_dashboard)>Usage Dashboard/h1> !-- ko if: load_failed() --> !-- ko template:{name: toast_message, data: { class: error, message: $root.get_content(report_not_found) }} -->!-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> clinical_dashboard ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() clinical_dashboard && page()}> !-- ko if: active_page() clinical_dashboard && page() --> !-- ko with: page --> div classpage_content> div idclinical_dashboard classclinical_dashboard data-bindcss: {load_failed: load_failed}> h1 data-bindtext: $root.get_content(clinical_dashboard)>Clinical Dashboard/h1> !-- ko if: load_failed() --> !-- ko template:{name: toast_message, data: { class: error, message: $root.get_content(report_not_found) }} -->!-- /ko --> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> event_audit_log -- event log viewer ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() event_audit_log && page()}> !-- ko if: active_page() event_audit_log && page() --> !-- ko with: page --> div classpage_content event_audit_log> h1>Event Audit Log/h1> div classfilters data-bindcss: {busy: !ready()}> div classinstallation_wrapper> input typetext placeholderInstallation data-bindtextInput: installation_search /> div classhide_inactive filtered_installations data-bind css: {active: filtered_installations().length}, foreach: filtered_installations > a data-bindtext: $data, click: function(){$parent.installation($data)}, clickBubble: false>/a> /div> /div> input typetext placeholderEvent ID (optional) data-bindtextInput: event_id /> a classbtn data-bindclick: function(){load_events()}>Search/a> br /> !-- ko if: installation() && !event_id() --> input typetext placeholderDate data-bind textInput: date, click: function(obj, event){ $data.date_calendar_input.active(true); $data.date_calendar_input.position_calendar(event.target.parentNode); }, clickBubble: false /> input typetext placeholderUser ID data-bindtextInput: user_id /> select data-bind options: operations, optionsText: operation, optionsValue: operation, value: operation >/select> a classbtn data-bindclick: function(){load_events()}>Search/a> !-- /ko --> /div> !-- ko template:{name: template_nhsg_table, data: events_table()} -->!-- /ko --> !-- ko if: empty_table_msg() --> div classempty_table_msg data-bindtext: empty_table_msg>/div> !-- /ko --> !-- ko template:{name: template_nhsg_pagination, data: { page: page, page_size: page_size, allow_all: false, total_count: result_count } } -->!-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> settings_manager -- settings management tool ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() settings_manager && page()}> !-- ko if: active_page() settings_manager && page() --> !-- ko with: page --> div classpage_content> h1>Settings/h1> a classlink data-bindclick: function(){$root.page().active_setting_id(new)}>New Setting/a> div idsettings_manager classsettings_manager> !-- ko template:{name: template_nhsg_table, data: settings_table()} -->!-- /ko --> !-- ko template:{name: template_nhsg_pagination, data: { page: page, page_size: page_size, allow_all: false, total_count: result_count } } -->!-- /ko --> div classmodal_pagecover data-bindcss: {active: active_setting()}> !-- ko if: active_setting() && active_setting().ready() --> section classmodal idmodal> h1 data-bindtext: active_setting_modal_title>/h1> div> form data-bindwith: active_setting> div classleftcol> fieldset data-bindcss: {invalid: $data.invalid_fields && $data.invalid_fields.indexOf(name) > -1}> span>Name/span> input typetext data-bindtextInput: name /> /fieldset> !-- ko foreach: $root.page().metadata() --> fieldset data-bindcss: {invalid: $parent.invalid_fields && $parent.invalid_fields.indexOf($data.name) > -1}> span data-bindtext: $root.page().metadata_label($data.name)>/span> !-- ko if: $data.controlType textarea --> textarea data-bindtextInput: $parent.metadata$data.name>/textarea> !-- /ko --> !-- ko if: $data.controlType single-select --> !-- ko if: $data.dataType boolean --> ul classcb_list> li> label classcb_label data-bindclick: function(){$parent.metadata$data.name(true)}> input typeradio valuetrue data-bindchecked: $parent.metadata$data.name /> span>true/span> /label> /li> li> label classcb_label data-bindclick: function(){$parent.metadata$data.name(false)}> input typeradio valuefalse data-bindchecked: $parent.metadata$data.name /> span>false/span> /label> /li> /ul> !-- /ko --> !-- ko if: $data.dataType ! boolean --> !-- ko if: $data.name ! FEATURE || !$parents1.show_new_feature() --> select data-bind options: .concat($data.fieldOptions), value: $parent.metadata$data.name >/select> !-- /ko --> !-- ko if: $data.name FEATURE && $parents1.show_new_feature() --> input idadd_new_feature_input typetext placeholderAdd new feature data-bindtextInput: $parents1.new_feature /> div classbtn_row> a classbtn neutral data-bindclick: function(){$parents1.show_new_feature(false)}>Cancel/a> a classbtn data-bindclick: function(){$parents1.add_feature()}>Save/a> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $data.controlType multi-select --> !-- ko foreach: $data.fieldOptions --> label classcb_label data-bindclick: function(){$parents1.toggle_metadata($parent, $data)}> input typecheckbox data-bindchecked: $parents1.metadata$parent.name().indexOf($data) ! -1 /> span data-bindtext: $data>/span> /label> !-- /ko --> !-- /ko --> /fieldset> !-- /ko --> /div> div classrightcol> fieldset data-bindcss: {invalid: $data.invalid_fields && $data.invalid_fields.indexOf(field_type) > -1}> span>Type/span> select data-bind options: $root.page().field_types, value: field_type >/select> /fieldset> !-- ko if: field_type() --> fieldset data-bindcss: {invalid: $data.invalid_fields && $data.invalid_fields.indexOf(selectionOptions) > -1}> span>Options/span> !-- ko if: field_type() boolean --> ul>li>span>true/span>/li>li>span>false/span>/li>/ul> !-- /ko --> !-- ko if: field_type() text --> ul>li>span>any text value/span>/li>/ul> !-- /ko --> !-- ko if: field_type() numeric --> ul>li>span>any numeric value/span>/li>/ul> !-- /ko --> !-- ko if: field_type() single-select || field_type() multi-select --> ul classcb_list> !-- ko foreach: $data.selectionOptions() --> li> label classcb_label data-bindclick: function(){$parent.remove_selection_option($data)}> input typecheckbox checked /> span data-bindtext: $data>/span> /label> /li> !-- /ko --> /ul> input placeholderadd new option typetext data-bind textInput: new_selection_option, event: {keyup: new_selection_option_keyup} /> !-- /ko --> /fieldset> fieldset classdefault data-bindcss: {invalid: $data.invalid_fields && $data.invalid_fields.indexOf(setting_value) > -1}> span>Default Value/span> !-- ko if: controlType() text && dataType() text --> input typetext data-bindvalue: settingValue /> !-- /ko --> !-- ko if: controlType() text && dataType() numerical --> input typenumber data-bindvalue: settingValue /> !-- /ko --> !-- ko if: field_type() boolean || field_type() single-select || field_type() multi-select --> !-- ko if: !selectionOptions().length --> div classhint>Please add response options.../div> !-- /ko --> !-- ko if: selectionOptions().length --> select data-bind options: .concat(,selectionOptions()), value: settingValue > /select> !-- /ko --> !-- /ko --> /fieldset> !-- /ko --> fieldset> span>Dependencies/span> ul classcb_list> !-- ko foreach: dependencies --> li> label classcb_label data-bindclick: function(){$parent.remove_dependency($data)}> input typecheckbox checked /> span data-bindtext: $data>/span> /label> /li> !-- /ko --> /ul> select data-bind options: dependency_options, optionsText: name, optionsValue: name, value: new_dependency >/select> /fieldset> /div> /form> /div> a classbtn neutral data-bindclick: function(){$root.page().active_setting(null)}>Cancel/a> a classbtn data-bindclick: function(){$root.page().save_setting()}>Save/a> /section> !-- /ko --> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> tools -- ta tools ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() tools && page()}> !-- ko if: active_page() tools && page() --> !-- ko with: page --> div classpage_content> h1>Tools/h1> div classadmin tools> nav classtabs neutral_tabs> !-- ko template:{name: template_nav_tab, data: {tab_name: Users, is_default: true}} -->!-- /ko --> !-- ko template:{name: template_nav_tab, data: {tab_name: Patients}} -->!-- /ko --> !-- ko template:{name: template_nav_tab, data: {tab_name: Wounds and Evaluations}} -->!-- /ko --> !-- ko template:{name: template_nav_tab, data: {tab_name: Installations}} -->!-- /ko --> /nav> div classneutral_tabs> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: Users, is_default: true, tab_content_template: template_tools_section_search_users } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: Patients, tab_content_template: template_tools_section_patients } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: Wounds and Evaluations, tab_content_template: template_tools_section_wounds_evals } } -->!-- /ko --> !-- ko template:{ name: template_nav_tab_content, data: { tab_name: Installations, tab_content_template: template_tools_section_installations } } -->!-- /ko --> /div> !-- template_tools_section_search_users --> script typetext/html idtemplate_tools_section_search_users> div classtools_search data-bindwith: $root.page()> form data-bindsubmit:function(){search_users()}> fieldset> label> span>User ID/span> input typetext data-bindtextInput: userId /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(username) ! -1}> label> span>Username/span> input typetext data-bindtextInput: username /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(email) ! -1}> label> span>Email Address (w/ installation)/span> input typetext data-bindtextInput: email /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(lastName) ! -1}> label> span>Last Name (w/ installation)/span> input typetext data-bindtextInput: lastName /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(installation) ! -1}> label> span>Installation/span> input typetext data-bindtextInput: installation_search /> /label> div classhide_inactive filtered_installations data-bind css: {active: filtered_installations().length}, foreach: filtered_installations > a data-bindtext: $data, click: function(){$parent.installation($data)}, clickBubble: false>/a> /div> /fieldset> fieldset> button typesubmit data-bindclick:function(){search_users()}>Search Users/button> /fieldset> /form> div classuser_list data-bindwith: $root.page()> !-- ko if: has_searched() && !user_list().length --> div classno_users>No users found/div> !-- /ko --> !-- ko if: user_list().length --> table classdisplay accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions() }> thead> tr> th classsortlink data-bind click: function(){ $root.page().user_list_sort( $root.page().user_list_sort() userid_asc ? userid_desc : userid_asc ) }, css: { asc: $root.page().user_list_sort() userid_asc, desc: $root.page().user_list_sort() userid_desc } >user ID/th> th classsortlink data-bind click: function(){ $root.page().user_list_sort( $root.page().user_list_sort() username_asc ? username_desc : username_asc ) }, css: { asc: $root.page().user_list_sort() username_asc, desc: $root.page().user_list_sort() username_desc } >username/th> th classsortlink data-bind click: function(){ $root.page().user_list_sort( $root.page().user_list_sort() email_asc ? email_desc : email_asc ) }, css: { asc: $root.page().user_list_sort() email_asc, desc: $root.page().user_list_sort() email_desc } >email/th> th classsortlink data-bind click: function(){ $root.page().user_list_sort( $root.page().user_list_sort() name_asc ? name_desc : name_asc ) }, css: { asc: $root.page().user_list_sort() name_asc, desc: $root.page().user_list_sort() name_desc } >name/th> th classsortlink data-bind click: function(){ $root.page().user_list_sort( $root.page().user_list_sort() installation_asc ? installation_desc : installation_asc ) }, css: { asc: $root.page().user_list_sort() installation_asc, desc: $root.page().user_list_sort() installation_desc } >installation/th> th>actions/th> /tr> /thead> tbody data-bindforeach: sorted_user_list> tr> td data-bindtext: $data.userId>/td> td> !-- ko if: $data.isLocked --> a classlock locked>/a> !-- /ko --> span data-bindtext: $data.username>/span> /td> td data-bindtext: $data.email>/td> td data-bindtext: $root.page().fullname($data)>/td> td data-bindtext: $data.installation>/td> td> !-- ko if: $root.page().active_pw_reset() $data.userId --> div classpassword_reset> form data-bindsubmit:function(){password_reset($data)}> new password: input typetext data-bindtextInput: $root.page().new_password /> button typesubmit data-bindclick:function(){$root.page().password_reset($data)}>Submit/button> /form> a classhint data-bindclick: function(){$root.page().active_pw_reset(null)}>cancel/a> /div> !-- /ko --> !-- ko if: $root.page().active_pw_reset() ! $data.userId --> a data-bindclick: function(){$root.page().active_pw_reset($data.userId)}>reset password/a>br /> a data-bindclick: function(){ $root.modal.confirmation_message($root.page().send_new_user_email_confirmation_msg($data)); $root.modal.confirmation_callback function(){$root.page().send_new_user_email($data)}; }>resend new user welcome email/a>br /> a data-bindclick: function(){$root.page().delete_user_active($data)}>delete user/a> !-- ko if: $data.isLocked --> br /> a data-bindclick: function(){$root.page().unlock_user($data)}>unlock user/a> !-- /ko --> !-- /ko --> /td> /tr> /tbody> /table> div classdelete_user_eval_inheritance hide_inactive data-bindcss: {active: $root.page().delete_user_active}> Attribute users created evals to new user ID: input typetext data-bindtextInput: $root.page().additionalUserId /> a classbtn data-bindclick: function(){$root.page().delete_user()}>delete user/a> a data-bindclick: function(){$root.page().delete_user_active(null)}>cancel/a> /div> div classdefault_reset_password> Default password reset: input typetext data-bindtextInput: $root.page().default_reset_password /> /div> !-- /ko --> /div> /div> /script> !-- template_tools_section_patients --> script typetext/html idtemplate_tools_section_patients> div classtools_search data-bindwith: $root.page()> form data-bindsubmit: function(){}> fieldset data-bindcss: {error: missing_info().indexOf(installation) ! -1}> label> span>Installation/span> input typetext data-bindtextInput: installation_search /> /label> div classhide_inactive filtered_installations data-bind css: {active: filtered_installations().length}, foreach: filtered_installations > a data-bindtext: $data, click: function(){$parent.installation($data)}, clickBubble: false>/a> /div> /fieldset> /form> /div> table classhide_inactive display clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()}, css: {active: $root.page().installation()} > tbody> !-- ko template:{ name: template_admin_section, data: { section_name: Archive Patient, section_template: template_tools_section_archive_patient } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Edit Patient, section_template: template_tools_section_edit_patient } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Merge Patients, section_template: template_tools_section_merge_patients } } -->!-- /ko --> /tbody> /table> /script> !-- template_tools_section_wounds_evals --> script typetext/html idtemplate_tools_section_wounds_evals> div classtools_search data-bindwith: $root.page()> form data-bindsubmit: function(){}> fieldset data-bindcss: {error: missing_info().indexOf(installation) ! -1}> label> span>Installation/span> input typetext data-bindtextInput: installation_search /> /label> div classhide_inactive filtered_installations data-bind css: {active: filtered_installations().length}, foreach: filtered_installations > a data-bindtext: $data, click: function(){$parent.installation($data)}, clickBubble: false>/a> /div> /fieldset> /form> /div> table classhide_inactive display clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()}, css: {active: $root.page().installation()} > tbody> !-- ko template:{ name: template_admin_section, data: { section_name: Reset Evaluation Approval Status, section_template: template_tools_section_reset_approved } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Archive Wound, section_template: template_tools_section_archive_wound } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Archive Evaluation, section_template: template_tools_section_archive_evaluation } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Move Wound To Another Patient, section_template: template_tools_section_move_wound } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Move Evaluation To Another Wound, section_template: template_tools_section_move_evaluation } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Edit Evaluation Date/Time, section_template: template_tools_section_edit_evaluation_time } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Unlock Evaluation, section_template: template_tools_section_unlock_evaluation } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Resolve Infinite Analysis, section_template: template_tools_section_resolve_infinite_analysis } } -->!-- /ko --> /tbody> /table> /script> !-- template_tools_section_installations --> script typetext/html idtemplate_tools_section_installations> div classtools_search data-bindwith: $root.page()> form data-bindsubmit: function(){}> fieldset data-bindcss: {error: missing_info().indexOf(installation) ! -1}> label> span>Installation/span> input typetext data-bindtextInput: installation_search /> /label> div classhide_inactive filtered_installations data-bind css: {active: filtered_installations().length}, foreach: filtered_installations > a data-bindtext: $data, click: function(){$parent.installation($data)}, clickBubble: false>/a> /div> /fieldset> /form> /div> table classhide_inactive display clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()}, css: {active: $root.page().installation()} > tbody> !-- ko template:{ name: template_admin_section, data: { section_name: Deactivate Installation, section_template: template_tools_section_deactivate_installation } } -->!-- /ko --> /tbody> /table> /script> !-- template_tools_section_deactivate_installation --> script typetext/html idtemplate_tools_section_deactivate_installation> !-- ko with: $root.page() --> !-- ko if: active_installation() --> form data-bindsubmit:function(){}> fieldset classinfo> strong data-bindtext: active_installation().installation>/strong> is currently strong data-bind css: { green: active_installation().active, red: !active_installation().active }, text: active_installation().active ? active : inactive >/strong> /fieldset> !-- ko if: active_installation().active --> button typesubmit data-bindclick:function(){toggle_installation_active_flag(false)}> Deactivate strong data-bindtext: active_installation().installation>/strong> /button> !-- /ko --> !-- ko if: !active_installation().active --> button typesubmit data-bindclick:function(){toggle_installation_active_flag(true)}> Activate strong data-bindtext: active_installation().installation>/strong> /button> !-- /ko --> /form> !-- /ko --> !-- /ko --> /script> !-- template_tools_section_reset_approved --> script typetext/html idtemplate_tools_section_reset_approved> !-- ko with: $root.page() --> form data-bindsubmit:function(){reset_approved()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> button typesubmit data-bindclick:function(){reset_approved()}>Reset/button> /form> !-- /ko --> /script> !-- template_tools_section_archive_patient --> script typetext/html idtemplate_tools_section_archive_patient> !-- ko with: $root.page() --> form data-bindsubmit:function(){archive_patient()}> fieldset data-bindcss: {error: missing_info().indexOf(patientId) ! -1}> label> span>Patient ID/span> input typetext data-bindtextInput: patientId /> /label> /fieldset> button typesubmit data-bindclick:function(){archive_patient()}>Archive Patient/button> /form> !-- /ko --> /script> !-- template_tools_section_edit_patient --> script typetext/html idtemplate_tools_section_edit_patient> !-- ko with: $root.page() --> form data-bindsubmit:function(){get_patient()}> fieldset data-bindcss: {error: missing_info().indexOf(patientId) ! -1}> label> span>Patient ID/span> input typetext data-bindtextInput: patientId /> /label> /fieldset> button typesubmit data-bindclick:function(){get_patient()}>Get Patient/button> /form> !-- ko if: $data.patient() --> form classfieldset_blocks data-bindsubmit:function(){update_patient()}> !-- ko with: $data.patient() --> div stylefloat: left; width: 350px> fieldset> label> span>Patient ID/span> input disabled typetext data-bindtextInput: patientId /> /label> /fieldset> fieldset> label> span>Patient EMR ID/span> input typetext data-bindtextInput: patientEmrId /> /label> /fieldset> fieldset> label> span>EMR FIN ID/span> input typetext data-bindtextInput: emrFinId /> /label> /fieldset> fieldset> label> span>EMR Encounter ID/span> input typetext data-bindtextInput: emrEncounterId /> /label> /fieldset> fieldset> label> span>EMR Location ID/span> input typetext data-bindtextInput: emrLocationId /> /label> /fieldset> fieldset> label> span>Patient Type/span> select data-bindvalue: patientType> option>/option> option>INPATIENT/option> option>OUTPATIENT/option> /select> /label> /fieldset> /div> div stylefloat: left; width: 350px> fieldset> label> span>MRN/span> input typetext data-bindtextInput: medicalRecordNumber /> /label> /fieldset> fieldset> label> span>First Name/span> input typetext data-bindtextInput: firstName /> /label> /fieldset> fieldset> label> span>Middle Name/span> input typetext data-bindtextInput: middleName /> /label> /fieldset> fieldset> label> span>Last Name/span> input typetext data-bindtextInput: lastName /> /label> /fieldset> fieldset> label> span>DOB/span> input typetext data-bind textInput: formatted_dateOfBirth, click: function(obj, event){ $data.formatted_dateOfBirth_calendar_input.active(true); $data.formatted_dateOfBirth_calendar_input.position_calendar(event.target.parentNode); }, clickBubble: false /> /label> /fieldset> fieldset> label> span>Email/span> input typetext data-bindtextInput: email /> /label> /fieldset> /div> div styleclear: both>/div> !-- /ko --> fieldset> button typesubmit data-bindclick:function(){update_patient()}>Save Patient/button> /fieldset> /form> !-- /ko --> !-- /ko --> /script> !-- template_tools_section_merge_patients --> script typetext/html idtemplate_tools_section_merge_patients> !-- ko with: $root.page() --> div classmerge_patients primary_patient> form classlookup data-bindsubmit:function(){get_patient(primary)}> fieldset> label> span>Primary Patient ID/span> input typetext data-bindtextInput: primary_patientId /> /label> /fieldset> button typesubmit data-bindclick:function(){get_patient(primary)}>Get Patient/button> /form> !-- ko if: $data.primary_patient() --> form data-bindsubmit:function(){merge_patients()}> !-- ko with: $data.primary_patient() --> fieldset classfield_selector> input typeradio checked /> /fieldset> fieldset classselected> label> span>Primary Patient ID/span> input disabled typetext data-bindtextInput: patientId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.medicalRecordNumber /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.medicalRecordNumber() left, rejected: $root.page().merge_map.medicalRecordNumber() right }, click: function(){$root.page().merge_map.medicalRecordNumber(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.medicalRecordNumber(left)}>/div> span>MRN/span> input disabled typetext data-bindtextInput: medicalRecordNumber /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.firstName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.firstName() left, rejected: $root.page().merge_map.firstName() right }, click: function(){$root.page().merge_map.firstName(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.firstName(left)}>/div> span>First Name/span> input disabled typetext data-bindtextInput: firstName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.middleName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.middleName() left, rejected: $root.page().merge_map.middleName() right }, click: function(){$root.page().merge_map.middleName(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.middleName(left)}>/div> span>Middle Name/span> input disabled typetext data-bindtextInput: middleName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.lastName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.lastName() left, rejected: $root.page().merge_map.lastName() right }, click: function(){$root.page().merge_map.lastName(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.lastName(left)}>/div> span>Last Name/span> input disabled typetext data-bindtextInput: lastName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.dateOfBirth /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.dateOfBirth() left, rejected: $root.page().merge_map.dateOfBirth() right }, click: function(){$root.page().merge_map.dateOfBirth(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.dateOfBirth(left)}>/div> span>DOB/span> input disabled typetext data-bindtextInput: dateOfBirth /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.email /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.email() left, rejected: $root.page().merge_map.email() right }, click: function(){$root.page().merge_map.email(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.email(left)}>/div> span>Email/span> input disabled typetext data-bindtextInput: email /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.patientEmrId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.patientEmrId() left, rejected: $root.page().merge_map.patientEmrId() right }, click: function(){$root.page().merge_map.patientEmrId(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.patientEmrId(left)}>/div> span>Patient EMR ID/span> input disabled typetext data-bindtextInput: patientEmrId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.emrFinId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrFinId() left, rejected: $root.page().merge_map.emrFinId() right }, click: function(){$root.page().merge_map.emrFinId(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrFinId(left)}>/div> span>EMR FIN ID/span> input disabled typetext data-bindtextInput: emrFinId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.emrEncounterId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrEncounterId() left, rejected: $root.page().merge_map.emrEncounterId() right }, click: function(){$root.page().merge_map.emrEncounterId(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrEncounterId(left)}>/div> span>EMR Encounter ID/span> input disabled typetext data-bindtextInput: emrEncounterId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.emrLocationId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrLocationId() left, rejected: $root.page().merge_map.emrLocationId() right }, click: function(){$root.page().merge_map.emrLocationId(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrLocationId(left)}>/div> span>EMR Location ID/span> input disabled typetext data-bindtextInput: emrLocationId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueleft data-bindchecked: $root.page().merge_map.patientType /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.patientType() left, rejected: $root.page().merge_map.patientType() right }, click: function(){$root.page().merge_map.patientType(left)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.patientType(left)}>/div> span>Patient Type/span> select disabled data-bindvalue: patientType> option>/option> option>INPATIENT/option> option>OUTPATIENT/option> /select> /label> /fieldset> !-- /ko --> br /> fieldset classbtn_row> /fieldset> /form> !-- /ko --> /div> div classmerge_patients secondary_patient> form classlookup data-bindsubmit:function(){get_patient(secondary)}> fieldset> label> span>Subordinate Patient ID/span> input typetext data-bindtextInput: secondary_patientId /> /label> /fieldset> button typesubmit data-bindclick:function(){get_patient(secondary)}>Get Patient/button> /form> !-- ko if: $data.secondary_patient() --> form data-bindsubmit:function(){merge_patients()}> !-- ko with: $data.secondary_patient() --> fieldset classfield_selector> input disabled typeradio /> /fieldset> fieldset classrejected> label> span>Subordinate Patient ID/span> input disabled typetext data-bindtextInput: patientId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.medicalRecordNumber /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.medicalRecordNumber() right, rejected: $root.page().merge_map.medicalRecordNumber() left }, click: function(){$root.page().merge_map.medicalRecordNumber(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.medicalRecordNumber(right)}>/div> span>MRN/span> input disabled typetext data-bindtextInput: medicalRecordNumber /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.firstName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.firstName() right, rejected: $root.page().merge_map.firstName() left }, click: function(){$root.page().merge_map.firstName(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.firstName(right)}>/div> span>First Name/span> input disabled typetext data-bindtextInput: firstName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.middleName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.middleName() right, rejected: $root.page().merge_map.middleName() left }, click: function(){$root.page().merge_map.middleName(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.middleName(right)}>/div> span>Middle Name/span> input disabled typetext data-bindtextInput: middleName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.lastName /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.lastName() right, rejected: $root.page().merge_map.lastName() left }, click: function(){$root.page().merge_map.lastName(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.lastName(right)}>/div> span>Last Name/span> input disabled typetext data-bindtextInput: lastName /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.dateOfBirth /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.dateOfBirth() right, rejected: $root.page().merge_map.dateOfBirth() left }, click: function(){$root.page().merge_map.dateOfBirth(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.dateOfBirth(right)}>/div> span>DOB/span> input disabled typetext data-bindtextInput: dateOfBirth /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.email /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.email() right, rejected: $root.page().merge_map.email() left }, click: function(){$root.page().merge_map.email(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.email(right)}>/div> span>Email/span> input disabled typetext data-bindtextInput: email /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.patientEmrId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.patientEmrId() right, rejected: $root.page().merge_map.patientEmrId() left }, click: function(){$root.page().merge_map.patientEmrId(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.patientEmrId(right)}>/div> span>Patient EMR ID/span> input disabled typetext data-bindtextInput: patientEmrId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.emrFinId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrFinId() right, rejected: $root.page().merge_map.emrFinId() left }, click: function(){$root.page().merge_map.emrFinId(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrFinId(right)}>/div> span>EMR FIN ID/span> input disabled typetext data-bindtextInput: emrFinId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.emrEncounterId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrEncounterId() right, rejected: $root.page().merge_map.emrEncounterId() left }, click: function(){$root.page().merge_map.emrEncounterId(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrEncounterId(right)}>/div> span>EMR Encounter ID/span> input disabled typetext data-bindtextInput: emrEncounterId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.emrLocationId /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.emrLocationId() right, rejected: $root.page().merge_map.emrLocationId() left }, click: function(){$root.page().merge_map.emrLocationId(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.emrLocationId(right)}>/div> span>EMR Location ID/span> input disabled typetext data-bindtextInput: emrLocationId /> /label> /fieldset> div classclear>/div> fieldset classfield_selector> input typeradio valueright data-bindchecked: $root.page().merge_map.patientType /> /fieldset> fieldset data-bind css: { selected: $root.page().merge_map.patientType() right, rejected: $root.page().merge_map.patientType() left }, click: function(){$root.page().merge_map.patientType(right)} > label> div classlabel_click_cover data-bindclick: function(){$root.page().merge_map.patientType(right)}>/div> span>Patient Type/span> select disabled data-bindvalue: patientType> option>/option> option>INPATIENT/option> option>OUTPATIENT/option> /select> /label> /fieldset> br /> fieldset classbtn_row> button typesubmit data-bindclick:function(){$root.page().merge_patients()}>Merge Patients/button> /fieldset> !-- /ko --> /form> !-- /ko --> /div> div classclear>/div> !-- /ko --> /script> !-- template_tools_section_archive_wound --> script typetext/html idtemplate_tools_section_archive_wound> !-- ko with: $root.page() --> form data-bindsubmit:function(){archive_wound()}> fieldset data-bindcss: {error: missing_info().indexOf(woundId) ! -1}> label> span>Wound ID/span> input typetext data-bindtextInput: woundId /> /label> /fieldset> button typesubmit data-bindclick:function(){archive_wound()}>Archive Wound/button> /form> !-- /ko --> /script> !-- template_tools_section_archive_evaluation --> script typetext/html idtemplate_tools_section_archive_evaluation> !-- ko with: $root.page() --> form data-bindsubmit:function(){archive_evaluation()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> button typesubmit data-bindclick:function(){archive_evaluation()}>Archive Evaluation/button> /form> !-- /ko --> /script> !-- template_tools_section_move_wound --> script typetext/html idtemplate_tools_section_move_wound> !-- ko with: $root.page() --> form data-bindsubmit:function(){move_wound()}> fieldset data-bindcss: {error: missing_info().indexOf(woundId) ! -1}> label> span>Wound ID to move/span> input typetext data-bindtextInput: woundId /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(patientId) ! -1}> label> span>New Parent Patient ID/span> input typetext data-bindtextInput: patientId /> /label> /fieldset> button typesubmit data-bindclick:function(){move_wound()}>Move Wound/button> /form> !-- /ko --> /script> !-- template_tools_section_move_evaluation --> script typetext/html idtemplate_tools_section_move_evaluation> !-- ko with: $root.page() --> form data-bindsubmit:function(){move_evaluation()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID to move/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(woundId) ! -1}> label> span>New Parent Wound ID/span> input typetext data-bindtextInput: woundId /> /label> /fieldset> button typesubmit data-bindclick:function(){move_evaluation()}>Move Evaluation/button> /form> !-- /ko --> /script> !-- template_tools_section_edit_evaluation_time --> script typetext/html idtemplate_tools_section_edit_evaluation_time> !-- ko with: $root.page() --> form data-bindsubmit:function(){edit_evaluation_time()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> !-- ko template:{name: template_calendar_input, data: $data.calendar_input} -->!-- /ko --> /fieldset> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> !-- ko template:{name: template_time_input, data: $data.time_input} -->!-- /ko --> /fieldset> button typesubmit data-bindclick:function(){edit_evaluation_time()}>Save Evaluation/button> p classhint>Enter date and time local to strong data-bindtext: timezone>/strong>/p> /form> !-- /ko --> /script> !-- template_tools_section_unlock_evaluation --> script typetext/html idtemplate_tools_section_unlock_evaluation> !-- ko with: $root.page() --> form data-bindsubmit:function(){unlock_evaluation()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> button typesubmit data-bindclick:function(){unlock_evaluation()}>Unlock Evaluation/button> /form> !-- /ko --> /script> !-- template_tools_section_resolve_infinite_analysis --> script typetext/html idtemplate_tools_section_resolve_infinite_analysis> !-- ko with: $root.page() --> form data-bindsubmit:function(){resolve_infinite_analysis()}> fieldset data-bindcss: {error: missing_info().indexOf(woundEvaluationId) ! -1}> label> span>Evaluation ID/span> input typetext data-bindtextInput: woundEvaluationId /> /label> /fieldset> button typesubmit data-bindclick:function(){resolve_infinite_analysis()}>Resolve Infinite Analysis/button> /form> !-- /ko --> /script> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> language_admin -- language tools ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() language_admin && page()}> !-- ko if: active_page() language_admin && page() --> !-- ko with: page --> div classpage_content> div classlanguage_admin> !-- ko if: translations --> div classtranslation_files> Platform: select data-bindvalue: active_translation_file> option>/option> option>Android/option> option>Android - Patient App/option> option>iOS X/option> option>iOS X - Patient App/option> option>Portal/option> option>Backend/option> /select> label classcb_label> input typecheckbox data-bindchecked: export_missing_strings_only /> show only missing translations /label> a classclose_popup data-bind click:function(){translations(false)}, clickBubble: false >/a> !-- ko if: active_translation_file --> textarea data-bindvalue: translation_file_text>/textarea> !-- /ko --> /div> !-- /ko --> h1>Language Tools/h1> div> section> h2> Languages input typetext placeholderfilter data-bindtextInput: language_search /> a classbtn data-bindclick: function(){init_new_language()}>new language/a> /h2> table classdisplay> thead> tr> th colspan2>language/th> th>key/th> th classcentered>complete/th> th classcentered>actions/th> /tr> /thead> tbody> !-- ko if: new_language --> tr data-bindwith: new_language> td>input typetext data-bind textInput: languageDesc, event: {blur: function(lang, event){ var l lang.languageDesc.slice(0,1).toUpperCase(); var anguage lang.languageDesc.slice(1); lang.languageDesc l + anguage; event.target.value lang.languageDesc; }} />/td> td>input typetext data-bindtextInput: nativeDesc />/td> td>input typetext data-bind textInput: languageLabel, event: {focus: function(lang, event){ lang.languageLabel $root.page().abbreviation_lookup(lang.languageDesc); event.target.value lang.languageLabel; }} />/td> td>0%/td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().new_language(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().create_language()}>save/a> /td> /tr> !-- /ko --> !-- ko if: !filtered_languages().length --> tr>td colspan3>No languages found/td>/tr> !-- /ko --> !-- ko foreach: filtered_languages --> !-- ko if: $parent.edit_language() && $parent.edit_language().languageId $data.languageId --> tr data-bindwith: $parent.edit_language> td>input typetext data-bindtextInput: languageDesc />/td> td>input typetext data-bindtextInput: nativeDesc />/td> td>input typetext data-bindtextInput: languageLabel />/td> td classcentered data-bindtext: $root.page().percent_complete($data)>/td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().edit_language(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().update_language()}>save/a> /td> /tr> !-- /ko --> !-- ko if: !$parent.edit_language() || $parent.edit_language().languageId ! $data.languageId --> tr> td data-bindtext: languageDesc>/td> td data-bindtext: nativeDesc>/td> td data-bindtext: languageLabel>/td> td classcentered data-bindtext: $root.page().percent_complete($data)>/td> td classcentered> a classbtn data-bindclick:function(){$parent.edit_language($data)}>edit/a> a classbtn data-bindclick:function(){$parent.publish_language($data)}>publish/a> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> !-- ko if: !import_portal_form() --> a classbtn thin data-bindclick: function(){import_portal_form(true)}>import portal language file/a> !-- /ko --> !-- ko if: import_portal_form() --> div classimport_portal_form> input typefile accepttext/javascript data-bindevent:{change:function(){import_portal_file_element($element)}} /> !-- ko if: import_portal_file_element() --> a classbtn data-bindclick: function(){import_portal_file()}>submit/a> !-- /ko --> a classbtn data-bind click: function(){ import_portal_file_element(null); import_portal_form(false); } >cancel/a> /div> !-- /ko --> /section> section> h2> Platforms a classbtn data-bindclick: function(){init_new_platform()}>new platform/a> /h2> table classdisplay> thead> tr> th>platform/th> th>key/th> th classcentered>actions/th> /tr> /thead> tbody> !-- ko if: new_platform --> tr data-bindwith: new_platform> td>input typetext data-bindtextInput: platformDesc />/td> td>input typetext data-bindtextInput: platformLabel />/td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().new_platform(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().create_platform()}>save/a> /td> /tr> !-- /ko --> !-- ko foreach: platforms --> !-- ko if: $parent.edit_platform() && $parent.edit_platform().platformId $data.platformId --> tr data-bindwith: $parent.edit_platform> td>input typetext data-bindtextInput: platformDesc />/td> td>input typetext data-bindtextInput: platformLabel />/td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().edit_platform(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().update_platform()}>save/a> /td> /tr> !-- /ko --> !-- ko if: !$parent.edit_platform() || $parent.edit_platform().platformId ! $data.platformId --> tr> td data-bindtext: platformDesc>/td> td data-bindtext: platformLabel>/td> td classcentered> a classbtn data-bindclick:function(){$parent.edit_platform($data)}>edit/a> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> /section> section> h2> Properties input typetext placeholderfilter data-bindtextInput: property_search /> a classbtn data-bindclick: function(){init_new_property()}>new property/a> /h2> table classdisplay> thead> tr> th>property/th> th>platforms/th> th classcentered>actions/th> /tr> /thead> tbody> !-- ko if: new_property --> tr data-bindwith: new_property> td>input typetext data-bindtextInput: propertyName />/td> td> select multipletrue data-bind options: $root.page().platforms, optionsText: platformDesc, optionsValue: platformId, selectedOptions: platformIds, attr: {size: $root.page().platforms().length} >/select> /td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().new_property(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().create_property()}>save/a> /td> /tr> !-- /ko --> !-- ko if: !filtered_properties().length --> tr>td colspan3>No properties found/td>/tr> !-- /ko --> !-- ko foreach: filtered_properties --> !-- ko if: $parent.edit_property() && $parent.edit_property().propertyId $data.propertyId --> tr data-bindwith: $parent.edit_property> td>input typetext data-bindtextInput: propertyName />/td> td> select multipletrue data-bind options: $root.page().platforms, optionsText: platformDesc, optionsValue: platformId, selectedOptions: platformIds, attr: {size: $root.page().platforms().length} >/select> /td> td classcentered stacked> a classbtn danger data-bindclick:function(){$root.page().edit_property(null)}>cancel/a> a classbtn data-bindclick:function(){$root.page().update_property()}>save/a> /td> /tr> !-- /ko --> !-- ko if: !$parent.edit_property() || $parent.edit_property().propertyId ! $data.propertyId --> tr> td data-bindtext: propertyName>/td> td data-bindtext: $parent.property_platforms($data.platformIds)>/td> td classcentered> a classbtn data-bindclick:function(){$parent.edit_property($data)}>edit/a> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> /section> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> translations -- translations page ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() translations && page()}> !-- ko if: active_page() translations && page() --> !-- ko with: page --> div classpage_content> div classlanguage_admin translations> h1>Translations/h1> !-- input classimport typefile data-bind /> --> div> section> table classdisplay> thead> tr> th> Reference Langauge: select data-bind options: languages, optionsText: select_label, optionsValue: languageId, value: reference_language >/select> /th> th> Target Langauge: select data-bind options: languages, optionsText: select_label, optionsValue: languageId, value: target_language >/select> /th> /tr> /thead> tbody> !-- ko if: translations_loaded --> tr> td classfilter colspan2> label>filter:/label> input typetext placeholderkey or content data-bindtextInput: property_filter /> label classcb_label> input typecheckbox data-bindchecked: missing_strings_only /> show only missing translations /label> select data-bind options: platforms, optionsText: platformDesc, optionsValue: platformId, selectedOptions: platforms_filter, optionsCaption: All platforms >/select> /td> /tr> !-- ko foreach: filtered_properties --> tr> td> div data-bindtext: source_data.string>/div> div classhint> span data-bindtext: key: + propertyName>/span> span data-bindtext: platform: + $parent.property_platforms($data.platformIds)>/span> /div> /td> td> textarea data-bind textInput: target_data.string, attr: {placeholder: $parent.target_language_object.target_placeholder}, event: {blur: function(property, event){ $root.page().save_translation(property, event); }} >/textarea> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> /section> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !--------------------------------------------------------- -> cds_config -- config for clinical decision support ------------------------------------------------------------> div classpage data-bindcss: {active: active_page() cds_config && page()}> !-- ko if: active_page() cds_config && page() --> !-- ko with: page --> div classpage_content> div classcds_config> h1>Clinical Decision Support Configuration/h1> div classadmin cds_config page_table> table classdisplay clickable selectable accordion_table data-bind descendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()} > tbody> !-- ko template:{ name: template_admin_section, data: { section_name: Alias Definitions, section_template: template_admin_section_alias_definitions, definitions: $root.page().cds_alias_collection.list, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Observations, section_template: template_admin_section_observation_aliasing, observations: $root.org().observations.list, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Formularies, section_template: template_admin_section_formularies_aliasing, formularyCategories: $root.org().formularyCategories.list, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Functional Properties, section_template: template_admin_section_functional_properties, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Functional Property Groups, section_template: template_admin_section_functional_property_groups, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Rules, section_template: template_admin_section_cds_rules, page: $root.page() } } -->!-- /ko --> !-- ko template:{ name: template_admin_section, data: { section_name: Rule Groups, section_template: template_admin_section_cds_rule_groups, page: $root.page() } } -->!-- /ko --> /tbody> /table> !-- template_cds_config_alias_input --> script typetext/html idtemplate_cds_config_alias_input> input typetext data-bind textInput: field, event: {keyup: function(){$root.page().form_keyup(field_key)}} > /script> !-- template_cds_config_alias_select --> script typetext/html idtemplate_cds_config_alias_select> select data-bind options: options, optionsText: $data.optionsText || cdsAliasType, optionsValue: $data.optionsValue || cdsAliasType, value: field, optionsCaption: , event: {change: function(){if(!$data.no_save_on_change) $root.page().save_changes(key)}} >/select> /script> !-- template_cds_config_row_state --> script typetext/html idtemplate_cds_config_row_state> div data-bindcss: { pending: $root.page().pending_changes.indexOf(key) > -1, saving: $root.page().saving_changes.indexOf(key) > -1, saved: $root.page().saved_changes.indexOf(key) > -1 }> span classpending>/span> span classsaving>/span> span classsaved>/span> !-- ko if: $data.trash --> a classtrash data-bind click: function(){$root.page().delete_row(key)}, event: { mouseenter: function(){$root.page().row_highlight(key)}, mouseleave: function(){if($root.page().row_highlight() key) $root.page().row_highlight(null)} } >/a> !-- /ko --> /div> /script> !-- template_admin_section_alias_definitions --> script typetext/html idtemplate_admin_section_alias_definitions> !-- ko if: !definitions().length && !page.fully_loaded() --> table classdisplay none_found> tr> td>Loading alias definitions.../td> /tr> /table> !-- /ko --> !-- ko if: definitions().length || page.fully_loaded() --> !-- ko if: !definitions().length --> table classdisplay none_found> tr> td>No alias definitions found/td> /tr> /table> !-- /ko --> !-- ko if: definitions().length --> table classdisplay> thead> tr> td>Type/td> td>Alias/td> td classfeedback>/td> /tr> /thead> tbody> !-- ko foreach: definitions --> tr> td> select data-bind options: {cdsAliasTypeId: 1, label: Observation: left-hand side}, {cdsAliasTypeId: 2, label: Observation: right-hand side}, {cdsAliasTypeId: 3, label: Functional Property} , optionsText: label, optionsValue: cdsAliasTypeId, value: $data.cdsAliasTypeId, optionsCaption: , event: {change: function(){$root.page().save_changes($data.key())}} >/select> /td> td> !-- ko template:{ name: template_cds_config_alias_input, data: { field: $data.cdsAliasType, field_key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key()} } -->!-- /ko --> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> !-- /ko --> /script> !-- template_admin_section_observation_aliasing --> script typetext/html idtemplate_admin_section_observation_aliasing> !-- ko if: !page.fully_loaded() --> table classdisplay none_found> tr> td>Loading observation info.../td> /tr> /table> !-- /ko --> !-- ko if: page.fully_loaded() --> !-- ko if: !observations().length --> table classdisplay none_found> tr> td>No observations found/td> /tr> /table> !-- /ko --> !-- ko if: observations().length --> table classdisplay> thead> tr> td>Label/td> td>Type/td> td>Alias/td> td classfeedback>/td> /tr> /thead> tbody> !-- ko foreach: observations --> tr> td data-bindtext: obsLabel>/td> td data-bindtext: response_type>/td> td> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.left_hand_side(), field: $data.ruleLeftHandSideAlias, key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key()} } -->!-- /ko --> /td> /tr> !-- ko if: $data.response_type() single-select || $data.response_type() multi-select --> !-- ko foreach: obsList.list --> tr classchild_row> td data-bindtext: obsLabel>/td> td>/td> td> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.right_hand_side(), field: $data.ruleRightHandSideAlias, key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key()} } -->!-- /ko --> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> /tbody> /table> !-- /ko --> !-- /ko --> /script> !-- template_admin_section_formularies_aliasing --> script typetext/html idtemplate_admin_section_formularies_aliasing> !-- ko if: !formularyCategories().length --> table classdisplay none_found> tr> td>No formularies found/td> /tr> /table> !-- /ko --> !-- ko if: formularyCategories().length --> table classdisplay> thead> tr> td>Category/td> td>Products/td> td>Alias/td> td classfeedback>/td> /tr> /thead> tbody> !-- ko foreach: formularyCategories --> tr> td data-bindtext: categoryDesc>/td> td>/td> td> !-- ko template:{ name: template_cds_config_alias_input, data: { field: $data.alias, field_key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key()} } -->!-- /ko --> /td> /tr> !-- ko foreach: formularies.list --> tr classchild_row> td>/td> td data-bindtext: dressingDesc>/td> td> !-- ko template:{ name: template_cds_config_alias_input, data: { field: $data.alias, field_key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key()} } -->!-- /ko --> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> !-- /ko --> /script> !-- template_admin_section_functional_properties --> script typetext/html idtemplate_admin_section_functional_properties> !-- ko if: !page.functional_property_collection.list().length --> table classdisplay none_found> tr> !-- ko if: !page.fully_loaded() --> td>Loading functional properties.../td> !-- /ko --> !-- ko if: page.fully_loaded() --> td>No functional properties have been defined/td> !-- /ko --> /tr> /table> !-- /ko --> !-- ko if: page.functional_property_collection.list().length --> table classdisplay> thead> tr> td classfp_label>Label/td> td>Type/td> td classalias_options>Alias/td> td>Info/td> td>/td> /tr> /thead> tbody> !-- ko foreach: page.functional_property_collection.list() --> tr data-bindcss: {highlight: $root.page().row_highlight() $data.key()}> td classfp_label> !-- ko if: $root.page().fp_label_in_edit_mode() ! $data.key() --> span data-bindtext: functionalPropertyLabel>/span> a classicon_edit data-bind click: function(){ $root.page().fp_label_in_edit_mode($data.key()) } >/a> !-- /ko --> !-- ko if: $root.page().fp_label_in_edit_mode() $data.key() --> textarea data-bind textInput: functionalPropertyLabel, event: {keyup: function(){$root.page().form_keyup($data.key())}} >/textarea> a classicon_check data-bind click: function(){$root.page().fp_label_in_edit_mode(null)} >/a> !-- /ko --> /td> td> select classfp_type data-bind value: functionalPropertyTypeId, event: {change: function(){$root.page().save_changes($data.key())}} > option>/option> option value1>PRODUCT/option> option value2>CONSIDERATION/option> /select> /td> td classalias_options> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.functional_property_side(), field: $data.fpAlias, key: $data.key() } } -->!-- /ko --> /td> td classinfo> a classbtn thin neutral data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + functionalPropertyId() ) ! -1 }, click: function(){ $root.page().close_accordion(sub_accordion_fp_reference_ + functionalPropertyId()); $root.page().toggle_sub_accordion(fp_content_ + functionalPropertyId(), Functional Properties); }> Content span classaccordion_arrow data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + functionalPropertyId() ) ! -1 } >/span> /a> a classbtn thin neutral data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + functionalPropertyId() ) ! -1 }, click: function(){ $root.page().close_accordion(sub_accordion_fp_content_ + functionalPropertyId()); $root.page().toggle_sub_accordion(fp_reference_ + functionalPropertyId(), Functional Properties); }> References span classaccordion_arrow data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + functionalPropertyId() ) ! -1 } >/span> /a> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key(), trash: true} } -->!-- /ko --> /td> /tr> tr classchildren data-bind css: {highlight: $root.page().row_highlight() $data.key()}, with: functional_property_content() > td classchild colspan4> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + $parent.functionalPropertyId() ) ! -1 }, style: { maxHeight: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + $parent.functionalPropertyId() ) ! -1 ? $element.scrollHeight + px : 0px } > div classchild_row> div classfp_content> h3>Content:/h3> !-- ko if: !$root.page().fully_loaded() --> div>Loading content.../div> !-- /ko --> !-- ko if: $root.page().fully_loaded() --> !-- ko if: $root.page().fp_content_in_edit_mode() ! key() --> !-- ko if: !content() --> div>No content has been added to this functional property/div> !-- /ko --> !-- ko if: content() --> div data-bindhtml: content>/div> !-- /ko --> div classbutton_row> a classbtn data-bind click: function(){ $root.page().fp_content_in_edit_mode(key()); $root.page().resize_accordion( sub_accordion_fp_content_ + $parent.functionalPropertyId() ); } >Edit/a> /div> !-- /ko --> !-- ko if: $root.page().fp_content_in_edit_mode() key() --> textarea data-bindtextInput: content>/textarea> div classbutton_row> a classbtn data-bind click: function(){ if(!$data.functionalPropertyContentId()){ $root.page().functional_property_content_collection.list.push($data); } $root.page().save_changes(key()); $root.page().fp_content_in_edit_mode(null); $root.page().resize_accordion( sub_accordion_fp_content_ + $parent.functionalPropertyId() ); } >Save/a> /div> !-- /ko --> !-- /ko --> /div> /div> /div> /td> td classchild feedback> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + $parent.functionalPropertyId() ) ! -1 }, style: { maxHeight: $root.page().expanded_sections.indexOf( sub_accordion_fp_content_ + $parent.functionalPropertyId() ) ! -1 ? $element.scrollHeight + px : 0px } > !-- ko template:{name: template_cds_config_row_state, data: {key: key()}} -->!-- /ko --> /div> /td> /tr> tr classchildren data-bind css: {highlight: $root.page().row_highlight() $data.key()}, with: functional_property_references() > td classchild colspan4> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ) ! -1 }, style: { maxHeight: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ) ! -1 ? $element.scrollHeight + px : 0px } > div classchild_row> div classfp_content> h3>References:/h3> !-- ko if: !$root.page().fully_loaded() --> div>Loading references.../div> !-- /ko --> !-- ko if: $root.page().fully_loaded() --> !-- ko if: $root.page().fp_content_in_edit_mode() ! key() --> !-- ko if: !reference() --> div>No references have been added to this functional property/div> !-- /ko --> !-- ko if: reference() --> div data-bindhtml: reference>/div> !-- /ko --> div classbutton_row> a classbtn data-bind click: function(){ $root.page().fp_content_in_edit_mode(key()); $root.page().resize_accordion( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ); } >Edit/a> /div> !-- /ko --> !-- ko if: $root.page().fp_content_in_edit_mode() key() --> textarea data-bindtextInput: reference>/textarea> div classbutton_row> a classbtn data-bind click: function(){ if(!$data.functionalPropertyReferenceId()){ $root.page().functional_property_reference_collection.list.push($data); } $root.page().save_changes(key()); $root.page().fp_content_in_edit_mode(null); $root.page().resize_accordion( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ); } >Save/a> /div> !-- /ko --> !-- /ko --> /div> /div> /div> /td> td classchild feedback> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ) ! -1 }, style: { maxHeight: $root.page().expanded_sections.indexOf( sub_accordion_fp_reference_ + $parent.functionalPropertyId() ) ! -1 ? $element.scrollHeight + px : 0px } > !-- ko template:{name: template_cds_config_row_state, data: {key: key()}} -->!-- /ko --> /div> /td> /tr> !-- /ko --> /tbody> tbody> !-- ko if: page.show_new_functional_property_form() && page.new_functional_property() --> tr classnew data-bindwith: page.new_functional_property> td> input typetext data-bindtextInput: functionalPropertyLabel placeholderLabel /> /td> td> select classfp_type data-bindvalue: functionalPropertyTypeId> option>/option> option value1>PRODUCT/option> option value2>CONSIDERATION/option> /select> /td> td> input typetext data-bindtextInput: fpAlias placeholderAlias /> /td> td> !-- ko if: $root.page().saving_changes.indexOf(functional_property_new) -1 && $root.page().saved_changes.indexOf(functional_property_new) -1 --> button data-bind click: function(){$root.page().save_new_cds_object(functional_property_new)} >Save/button> !-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: functional_property_new, trash: true} } -->!-- /ko --> /td> /tr> !-- /ko --> !-- ko if: !page.show_new_functional_property_form() --> tr> td colspan5 classadd_button_row> a classbtn data-bind click: function(){page.show_new_functional_property_form(true)} >New Funcitonal Property/a> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> /script> !-- template_admin_section_functional_property_groups --> script typetext/html idtemplate_admin_section_functional_property_groups> !-- ko if: !page.functional_property_group_collection.list().length --> table classdisplay none_found> tr> !-- ko if: !page.fully_loaded() --> td>Loading functional property groups.../td> !-- /ko --> !-- ko if: page.fully_loaded() --> td>No functional property groups have been defined/td> !-- /ko --> /tr> /table> !-- /ko --> !-- ko if: page.functional_property_group_collection.list().length --> table classdisplay> thead> tr> td classcenter>Priority/td> td>Label/td> td classcenter>Type/td> td classcenter>Formularies/td> td classcenter>Functional Properties/td> td>/td> /tr> /thead> tbody> !-- ko foreach: page.functional_property_group_collection.list() --> tr data-bindcss: {highlight: $root.page().row_highlight() $data.key()}> td classcenter data-bindtext: priority>/td> td classfp_label> !-- ko if: $root.page().fp_label_in_edit_mode() ! $data.key() --> span data-bindtext: functionalPropertyGroupLabel>/span> a classicon_edit data-bind click: function(){ $root.page().fp_label_in_edit_mode($data.key()) } >/a> !-- /ko --> !-- ko if: $root.page().fp_label_in_edit_mode() $data.key() --> textarea data-bind textInput: functionalPropertyGroupLabel, event: {keyup: function(){$root.page().form_keyup($data.key())}} >/textarea> a classicon_check data-bind click: function(){$root.page().fp_label_in_edit_mode(null)} >/a> !-- /ko --> /td> td classcenter> select data-bind value: anyAll, options: ALL, ANY, event: {change: function(){$root.page().save_changes($data.key())}} > /td> td classcenter> a classcelllink data-bindclick: function(){ $root.page().close_accordion(sub_accordion_fpg_props_ + functionalPropertyGroupId()); $root.page().toggle_sub_accordion(fpg_obs_ + functionalPropertyGroupId(), Functional Properties); }>/a> span data-bindtext: formularyCategories().length>/span> a classaccordion_arrow data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fpg_obs_ + functionalPropertyGroupId() ) ! -1 } >/a> /td> td classcenter> a classcelllink data-bindclick: function(){ $root.page().close_accordion(sub_accordion_fpg_obs_ + functionalPropertyGroupId()); $root.page().toggle_sub_accordion(fpg_props_ + functionalPropertyGroupId(), Functional Properties); }>/a> span data-bindtext: functionalPropertyIds().length>/span> a classaccordion_arrow data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fpg_props_ + functionalPropertyGroupId() ) ! -1 } >/a> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key(), trash: true} } -->!-- /ko --> /td> /tr> tr classchildren data-bind css: {highlight: $root.page().row_highlight() $data.key()} > td classchild colspan5> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fpg_obs_ + functionalPropertyGroupId() ) ! -1 }, style: { maxHeight: ($root.page().expanded_sections.indexOf( sub_accordion_fpg_obs_ + functionalPropertyGroupId() ) ! -1) ? $element.scrollHeight + px : 0px } > div classchild_row> div classfp_content> h3>Formulary Categories:/h3> !-- ko if: !$root.page().fully_loaded() --> div>Loading formulary categories.../div> !-- /ko --> !-- ko if: $root.page().fully_loaded() --> table classdisplay alias_list> tbody> !-- ko if: !formularyCategories().length --> tr> td colspan3>No formulary categories have been added to this group/td> /tr> !-- /ko --> !-- ko foreach: formularyCategories --> tr data-bind with: $root.org().formularyCategories.find_by_id( $data.obsId, TA.model_formulary_category )> td colspan2 data-bindtext: categoryDesc>/td> td classfeedback> a classtrash data-bind click: function(){ $parents1.remove_formulary_category($parent.obsId); $root.page().save_changes($parents1.key()); } >/a> /td> /tr> !-- /ko --> tr> !-- td>/td> --> td classalias> select data-bind options: unused_formulary_categories(), optionsText: categoryDesc, optionsValue: categoryId, value: $data.new_categoryId, optionsCaption: Add Formulary Category, event: {change: function(){ $data.add_formulary_category(function(){ $root.page().save_changes($data.key()); $root.page().resize_accordion( sub_accordion_fpg_obs_ + functionalPropertyGroupId() ); }); }} >/select> /td> td>/td> td classfeedback>/td> /tr> /tbody> /table> !-- /ko --> /div> /div> /div> /td> td classchild>/td> /tr> tr classchildren data-bind css: {highlight: $root.page().row_highlight() $data.key()} > td classchild colspan5> div classaccordion data-bind css: { active: $root.page().expanded_sections.indexOf( sub_accordion_fpg_props_ + functionalPropertyGroupId() ) ! -1 }, style: { maxHeight: $root.page().expanded_sections.indexOf( sub_accordion_fpg_props_ + functionalPropertyGroupId() ) ! -1 ? $element.scrollHeight + px : 0px } > div classchild_row> div classfp_content> h3>Functional Properties:/h3> !-- ko if: !$root.page().fully_loaded() --> div>Loading functional properties.../div> !-- /ko --> !-- ko if: $root.page().fully_loaded() --> table classdisplay alias_list> tbody> !-- ko if: !functionalPropertyIds().length --> tr> td colspan3>No functional properties have been added to this group/td> /tr> !-- /ko --> !-- ko foreach: functionalPropertyIds --> tr data-bind with: $root.page().functional_property_collection.find_by_id( $data, TA.model_functional_property )> td classalias data-bindtext: fpAlias>/td> td data-bindtext: functionalPropertyLabel>/td> td classfeedback> a classtrash data-bind click: function(){ $parents1.remove_functional_property($parent); $root.page().save_changes($parents1.key()); } >/a> /td> /tr> !-- /ko --> tr> td classalias> select data-bind options: unused_functional_properties(), optionsText: fpAlias, optionsValue: functionalPropertyId, value: $data.new_functionalPropertyId, optionsCaption: Add Functional Property, event: {change: function(){ var functionalPropertyId $data.new_functionalPropertyId(); if(!functionalPropertyId) return; $data.functionalPropertyIds.push(functionalPropertyId); $data.new_functionalPropertyId(null); $root.page().save_changes($data.key()); $root.page().resize_accordion( sub_accordion_fpg_props_ + functionalPropertyGroupId() ); }} >/select> /td> td>/td> td>/td> /tr> /tbody> /table> !-- /ko --> /div> /div> /div> /td> td classchild>/td> /tr> !-- /ko --> /tbody> tbody> !-- ko if: page.show_new_functional_property_group_form() && page.new_functional_property_group() --> tr classnew data-bindwith: page.new_functional_property_group> td classcenter data-bindtext: priority>/td> td> input typetext data-bindtextInput: functionalPropertyGroupLabel placeholderLabel /> /td> td> select data-bindoptions: ALL, ANY, value: $data.anyAll>/select> /td> td>/td> td classcenter> !-- ko if: $root.page().saving_changes.indexOf(functional_property_group_new) -1 && $root.page().saved_changes.indexOf(functional_property_group_new) -1 --> button data-bind click: function(){ $root.page().save_new_cds_object(functional_property_group_new) } >Save/button> !-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: functional_property_group_new, trash: true} } -->!-- /ko --> /td> /tr> !-- /ko --> !-- ko if: !page.show_new_functional_property_group_form() --> tr> td colspan6 classadd_button_row> a classbtn data-bind click: function(){page.show_new_functional_property_group_form(true)} >New Funcitonal Property Group/a> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> /script> !-- template_admin_section_cds_rules --> script typetext/html idtemplate_admin_section_cds_rules> !-- ko if: !page.cds_rule_collection.list().length --> table classdisplay none_found> tr> !-- ko if: !page.fully_loaded() --> td>Loading rules.../td> !-- /ko --> !-- ko if: page.fully_loaded() --> td>No rules have been defined/td> !-- /ko --> /tr> /table> !-- /ko --> !-- ko if: page.cds_rule_collection.list().length --> table classdisplay> thead> tr> td>Outcome/td> td>Type/td> td classalias_options>Alias/td> td>/td> /tr> /thead> tbody> !-- ko foreach: page.cds_rule_collection.list() --> tr data-bindcss: {highlight: $root.page().row_highlight() $data.key()}> td> !-- ko if: $root.page().fp_label_in_edit_mode() ! $data.key() --> span data-bindtext: outcome>/span> a classicon_edit data-bind click: function(){ $root.page().fp_label_in_edit_mode($data.key()) } >/a> !-- /ko --> !-- ko if: $root.page().fp_label_in_edit_mode() $data.key() --> textarea data-bind textInput: outcome, event: {keyup: function(){$root.page().form_keyup($data.key())}} >/textarea> a classicon_check data-bind click: function(){$root.page().fp_label_in_edit_mode(null)} >/a> !-- /ko --> /td> td> select classfp_type data-bind value: functionalPropertyType, event: {change: function(){$root.page().save_changes($data.key())}} > option>/option> option value1>PRODUCT/option> option value2>CONSIDERATION/option> /select> /td> td classalias_options> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.functional_property_side(), field: $data.outcomeAlias, key: $data.key() } } -->!-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key(), trash: true} } -->!-- /ko --> /td> /tr> !-- /ko --> /tbody> tbody> !-- ko if: page.show_new_cds_rule_form() && page.new_cds_rule() --> tr classnew data-bindwith: page.new_cds_rule> td> input typetext data-bindtextInput: outcome placeholderLabel /> /td> td> select classfp_type data-bindvalue: functionalPropertyType> option>/option> option value1>PRODUCT/option> option value2>CONSIDERATION/option> /select> /td> td> input typetext data-bindtextInput: outcomeAlias placeholderAlias /> /td> td> !-- ko if: $root.page().saving_changes.indexOf(cds_rule_new) -1 && $root.page().saved_changes.indexOf(cds_rule_new) -1 --> button data-bind click: function(){$root.page().save_new_cds_object(cds_rule_new)} >Save/button> !-- /ko --> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: cds_rule_new, trash: true} } -->!-- /ko --> /td> /tr> !-- /ko --> !-- ko if: !page.show_new_cds_rule_form() --> tr> td colspan5 classadd_button_row> a classbtn data-bind click: function(){page.show_new_cds_rule_form(true)} >New Rule/a> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> /script> !-- template_admin_section_cds_rule_groups --> script typetext/html idtemplate_admin_section_cds_rule_groups> !-- ko if: !page.cds_rule_group_collection.list().length --> table classdisplay none_found> tr> !-- ko if: !page.fully_loaded() --> td>Loading rule groups.../td> !-- /ko --> !-- ko if: page.fully_loaded() --> td>No rule groups have been defined/td> !-- /ko --> /tr> /table> !-- /ko --> !-- ko if: page.cds_rule_group_collection.list().length --> table classdisplay cds_rule_group_collection> tbody> !-- ko foreach: page.cds_rule_group_collection.list() --> tr data-bind css: { highlight: $root.page().row_highlight() $data.key(), even: $data.grouping even, odd: $data.grouping odd }> td> !-- ko if: $data.first_of_group --> !-- ko if: $data.left_side_view() function --> a classalias_or_value icon_function titlefunction - click to change data-bind click: function(){$data.left_side_edit(alias)} >/a> input typetext placeholderfunction name data-bind value: $data.ruleLeftSideFunctionName /> !-- /ko --> !-- ko if: $data.left_side_view() alias --> a classalias_or_value icon_alias titlealias - click to change data-bind click: function(){$data.left_side_edit(function)} >/a> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.left_hand_side(), field: $data.ruleLeftSideAlias, key: $data.key() } } -->!-- /ko --> !-- /ko --> !-- /ko --> /td> td> select data-bind options: $root.page().cds_rule_operator_collection.list, optionsText: name, optionsValue: ruleOperatorTypeId, value: $data.operator, optionsCaption: , event: {change: function(){$root.page().save_changes($data.key())}} >/select> /td> td> !-- ko if: IS_NULL,IS_NOT_NULL,IS_TRUE,IS_FALSE.indexOf( $root.page().cds_rule_operator_collection.find_by_id($data.operator(), TA.model_cds_rule_operator).name() ) -1 --> !-- ko if: $data.right_side_view() text --> a classalias_or_value icon_text titletext value - click to change data-bind click: function(){$data.right_side_edit(numeric)} >/a> input typetext placeholdertext value data-bind value: $data.ruleRightSideValue /> !-- /ko --> !-- ko if: $data.right_side_view() numeric --> a classalias_or_value icon_numeric titlenumber value - click to change data-bind click: function(){$data.right_side_edit(alias)} >/a> input typetext inputmodetel placeholdernumber value data-bind value: $data.ruleRightSideNumericalValue /> !-- /ko --> !-- ko if: $data.right_side_view() alias --> a classalias_or_value icon_alias titlealias - click to change data-bind click: function(){$data.right_side_edit(text)} >/a> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.right_hand_side(), field: $data.ruleRightSideAlias, key: $data.key() } } -->!-- /ko --> !-- /ko --> !-- /ko --> /td> td> span classalias_or_value icon_therefore titletherefore>/span> select data-bind options: $root.page().cds_rule_collection.list, optionsText: outcomeAlias, optionsValue: ruleId, value: $data.ruleId, optionsCaption: , event: {change: function(){$root.page().save_changes($data.key())}} >/select> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: $data.key(), trash: true} } -->!-- /ko --> /td> /tr> !-- /ko --> /tbody> tbody> !-- ko if: page.show_new_cds_rule_group_form() && page.new_cds_rule_group() --> tr classnew double data-bindwith: page.new_cds_rule_group> td> !-- ko if: $data.left_side_view() function --> a classalias_or_value icon_function titlefunction - click to change data-bind click: function(){$data.left_side_edit(alias)} >/a> input typetext placeholderfunction name data-bind value: $data.ruleLeftSideFunctionName /> !-- /ko --> !-- ko if: $data.left_side_view() alias --> a classalias_or_value icon_alias titlealias - click to change data-bind click: function(){$data.left_side_edit(function)} >/a> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.left_hand_side(), field: $data.ruleLeftSideAlias, key: $data.key(), no_save_on_change: true } } -->!-- /ko --> !-- /ko --> /td> td> select data-bind options: $root.page().cds_rule_operator_collection.list, optionsText: name, optionsValue: ruleOperatorTypeId, value: $data.operator, optionsCaption: >/select> /td> td> !-- ko if: IS_NULL,IS_NOT_NULL,IS_TRUE,IS_FALSE.indexOf( $root.page().cds_rule_operator_collection.find_by_id($data.operator(), TA.model_cds_rule_operator).name() ) -1 --> !-- ko if: $data.right_side_view() text --> a classalias_or_value icon_text titletext value - click to change data-bind click: function(){$data.right_side_edit(numeric)} >/a> input typetext placeholdertext value data-bind value: $data.ruleRightSideValue /> !-- /ko --> !-- ko if: $data.right_side_view() numeric --> a classalias_or_value icon_numeric titlenumber value - click to change data-bind click: function(){$data.right_side_edit(alias)} >/a> input typetext inputmodetel placeholdernumber value data-bind value: $data.ruleRightSideNumericalValue /> !-- /ko --> !-- ko if: $data.right_side_view() alias --> a classalias_or_value icon_alias titlealias - click to change data-bind click: function(){$data.right_side_edit(text)} >/a> !-- ko template:{ name: template_cds_config_alias_select, data: { options: $root.page().cds_alias_collection.right_hand_side(), field: $data.ruleRightSideAlias, key: $data.key(), no_save_on_change: true } } -->!-- /ko --> !-- /ko --> !-- /ko --> /td> td> span classalias_or_value icon_therefore titletherefore>/span> select data-bind options: $root.page().cds_rule_collection.list, optionsText: outcomeAlias, optionsValue: ruleId, value: $data.ruleId, optionsCaption: >/select> /td> td classfeedback> !-- ko template:{ name: template_cds_config_row_state, data: {key: cds_rule_group_new, trash: true} } -->!-- /ko --> /td> /tr> tr classnew double button_row data-bindwith: page.new_cds_rule_group> td colspan5> !-- ko if: $root.page().saving_changes.indexOf(cds_rule_group_new) -1 && $root.page().saved_changes.indexOf(cds_rule_group_new) -1 --> button data-bind click: function(){$root.page().save_new_cds_object(cds_rule_group_new)} >Save/button> !-- /ko --> /td> /tr> !-- /ko --> !-- ko if: !page.show_new_cds_rule_group_form() --> tr> td colspan5 classadd_button_row> a classbtn data-bind click: function(){page.show_new_cds_rule_group_form(true)} >New Rule Group/a> /td> /tr> !-- /ko --> /tbody> /table> !-- /ko --> /script> /div> /div> /div> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div>!-- end .page_wrapper --> /div>!-- end .main --> !-- ko if: $root.settings.network_monitor() --> div classnework_status data-bind css: {online: $root.network_online}, click: function(){$root.version_click()} > !-- ko if: $root.network_online() && $root.settings.show_healthy_network_icon() --> !-- ko template: icon_wifi -->!-- /ko --> !-- /ko --> !-- ko if: !$root.network_online() --> !-- ko template: icon_alert -->!-- /ko --> !-- ko template: icon_wifi_off -->!-- /ko --> !-- /ko --> /div> !-- /ko --> div classversion data-bind text: v + version, click: function(){$root.version_click()} >/div> !--------------------------------------------------------- -> icons -- reusable knockout icon templates https://icons.getbootstrap.com/ ------------------------------------------------------------> div> !--------------------------------------------------------- -> icon_paint_bucket https://icons.getbootstrap.com/icons/paint-bucket/ ------------------------------------------------------------> script typetext/html idicon_paint_bucket> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM6.192 2.78c-.458-.677-.927-1.248-1.35-1.643a2.972 2.972 0 0 0-.71-.515c-.217-.104-.56-.205-.882-.02-.367.213-.427.63-.43.896-.003.304.064.664.173 1.044.196.687.556 1.528 1.035 2.402L.752 8.22c-.277.277-.269.656-.218.918.055.283.187.593.36.903.348.627.92 1.361 1.626 2.068.707.707 1.441 1.278 2.068 1.626.31.173.62.305.903.36.262.05.64.059.918-.218l5.615-5.615c.118.257.092.512.05.939-.03.292-.068.665-.073 1.176v.123h.003a1 1 0 0 0 1.993 0H14v-.057a1.01 1.01 0 0 0-.004-.117c-.055-1.25-.7-2.738-1.86-3.494a4.322 4.322 0 0 0-.211-.434c-.349-.626-.92-1.36-1.627-2.067-.707-.707-1.441-1.279-2.068-1.627-.31-.172-.62-.304-.903-.36-.262-.05-.64-.058-.918.219l-.217.216zM4.16 1.867c.381.356.844.922 1.311 1.632l-.704.705c-.382-.727-.66-1.402-.813-1.938a3.283 3.283 0 0 1-.131-.673c.091.061.204.15.337.274zm.394 3.965c.54.852 1.107 1.567 1.607 2.033a.5.5 0 1 0 .682-.732c-.453-.422-1.017-1.136-1.564-2.027l1.088-1.088c.054.12.115.243.183.365.349.627.92 1.361 1.627 2.068.706.707 1.44 1.278 2.068 1.626.122.068.244.13.365.183l-4.861 4.862a.571.571 0 0 1-.068-.01c-.137-.027-.342-.104-.608-.252-.524-.292-1.186-.8-1.846-1.46-.66-.66-1.168-1.32-1.46-1.846-.147-.265-.225-.47-.251-.607a.573.573 0 0 1-.01-.068l3.048-3.047zm2.87-1.935a2.44 2.44 0 0 1-.241-.561c.135.033.324.11.562.241.524.292 1.186.8 1.846 1.46.45.45.83.901 1.118 1.31a3.497 3.497 0 0 0-1.066.091 11.27 11.27 0 0 1-.76-.694c-.66-.66-1.167-1.322-1.458-1.847z/> /svg> /script> !--------------------------------------------------------- -> icon_wifi https://icons.getbootstrap.com/icons/wifi/ ------------------------------------------------------------> script typetext/html idicon_wifi> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM15.384 6.115a.485.485 0 0 0-.047-.736A12.444 12.444 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c2.507 0 4.827.802 6.716 2.164.205.148.49.13.668-.049z/> path dM13.229 8.271a.482.482 0 0 0-.063-.745A9.455 9.455 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.576 1.336c.206.132.48.108.653-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.61-.091l.016-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.707-.707z/> /svg> /script> !--------------------------------------------------------- -> icon_wifi_off https://icons.getbootstrap.com/icons/wifi-off/ ------------------------------------------------------------> script typetext/html idicon_wifi_off> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM10.706 3.294A12.545 12.545 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c.63 0 1.249.05 1.852.148l.854-.854zM8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065 8.448 8.448 0 0 1 3.51-1.27L8 6zm2.596 1.404.785-.785c.63.24 1.227.545 1.785.907a.482.482 0 0 1 .063.745.525.525 0 0 1-.652.065 8.462 8.462 0 0 0-1.98-.932zM8 10l.933-.933a6.455 6.455 0 0 1 2.013.637c.285.145.326.524.1.75l-.015.015a.532.532 0 0 1-.611.09A5.478 5.478 0 0 0 8 10zm4.905-4.905.747-.747c.59.3 1.153.645 1.685 1.03a.485.485 0 0 1 .047.737.518.518 0 0 1-.668.05 11.493 11.493 0 0 0-1.811-1.07zM9.02 11.78c.238.14.236.464.04.66l-.707.706a.5.5 0 0 1-.707 0l-.707-.707c-.195-.195-.197-.518.04-.66A1.99 1.99 0 0 1 8 11.5c.374 0 .723.102 1.021.28zm4.355-9.905a.53.53 0 0 1 .75.75l-10.75 10.75a.53.53 0 0 1-.75-.75l10.75-10.75z/> /svg> /script> !--------------------------------------------------------- -> icon_alert https://icons.getbootstrap.com/icons/exclamation-triangle-fill/ ------------------------------------------------------------> script typetext/html idicon_alert> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z/> /svg> /script> !--------------------------------------------------------- -> icon_arrow_left https://icons.getbootstrap.com/icons/arrow-90deg-left/ ------------------------------------------------------------> script typetext/html idicon_arrow_left> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z/> /svg> /script> !--------------------------------------------------------- -> icon_arrow_right https://icons.getbootstrap.com/icons/arrow-90deg-right/ ------------------------------------------------------------> script typetext/html idicon_arrow_right> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z/> /svg> /script> !--------------------------------------------------------- -> icon_arrows_move https://icons.getbootstrap.com/icons/arrows-move/ ------------------------------------------------------------> script typetext/html idicon_arrows_move> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10zM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8z/> /svg> /script> !--------------------------------------------------------- -> icon_back (flipped) https://icons.getbootstrap.com/icons/play/ ------------------------------------------------------------> script typetext/html idicon_back> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM1.195,4.499L7,7.866V1.131L1.195,4.499z M0.404,5.194C0.019,4.975-0.114,4.484,0.106,4.1 C0.177,3.976,0.28,3.874,0.404,3.803L6.767,0.11C7.287-0.191,8,0.154,8,0.807V8.19c0,0.653-0.713,0.998-1.232,0.696L0.404,5.194z/> /svg> /script> !--------------------------------------------------------- -> icon_camera https://icons.getbootstrap.com/icons/camera/ ------------------------------------------------------------> script typetext/html idicon_camera> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM15 12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.172a3 3 0 0 0 2.12-.879l.83-.828A1 1 0 0 1 6.827 3h2.344a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 12.828 5H14a1 1 0 0 1 1 1v6zM2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2z/> path dM8 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm0 1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z/> /svg> /script> !--------------------------------------------------------- -> icon_close https://icons.getbootstrap.com/icons/x-circle/ ------------------------------------------------------------> script typetext/html idicon_close> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z/> path dM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z/> /svg> /script> !--------------------------------------------------------- -> icon_download https://icons.getbootstrap.com/icons/download/ ------------------------------------------------------------> script typetext/html idicon_download> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z/> path dM7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z/> /svg> /script> !--------------------------------------------------------- -> icon_folder https://icons.getbootstrap.com/icons/folder2/ ------------------------------------------------------------> script typetext/html idicon_folder> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9zM2.5 3a.5.5 0 0 0-.5.5V6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5zM14 7H2v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V7z/> /svg> /script> !--------------------------------------------------------- -> icon_gear https://icons.getbootstrap.com/icons/gear/ ------------------------------------------------------------> script typetext/html idicon_gear> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z/> path dM9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z/> /svg> /script> !--------------------------------------------------------- -> icon_grip https://icons.getbootstrap.com/icons/grip-horizontal/ ------------------------------------------------------------> script typetext/html idicon_grip> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM2 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2z/> /svg> /script> !--------------------------------------------------------- -> icon_lock https://icons.getbootstrap.com/icons/lock-fill/ ------------------------------------------------------------> script typetext/html idicon_lock> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z/> /svg> /script> !--------------------------------------------------------- -> icon_pdf https://icons.getbootstrap.com/icons/file-earmark-pdf/ ------------------------------------------------------------> script typetext/html idicon_pdf> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z/> path dM4.603 14.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.697 19.697 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.712 5.712 0 0 1-.911-.95 11.651 11.651 0 0 0-1.997.406 11.307 11.307 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.266.266 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.71 12.71 0 0 1 1.01-.193 11.744 11.744 0 0 1-.51-.858 20.801 20.801 0 0 1-.5 1.05zm2.446.45c.15.163.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.876 3.876 0 0 0-.612-.053zM8.078 7.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z/> /svg> /script> !--------------------------------------------------------- -> icon_pen https://icons.getbootstrap.com/icons/vector-pen/ ------------------------------------------------------------> script typetext/html idicon_pen> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM10.646.646a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1 0 .708l-1.902 1.902-.829 3.313a1.5 1.5 0 0 1-1.024 1.073L1.254 14.746 4.358 4.4A1.5 1.5 0 0 1 5.43 3.377l3.313-.828L10.646.646zm-1.8 2.908-3.173.793a.5.5 0 0 0-.358.342l-2.57 8.565 8.567-2.57a.5.5 0 0 0 .34-.357l.794-3.174-3.6-3.6z/> path fill-ruleevenodd dM2.832 13.228 8 9a1 1 0 1 0-1-1l-4.228 5.168-.026.086.086-.026z/> /svg> /script> !--------------------------------------------------------- -> icon_play https://icons.getbootstrap.com/icons/play/ ------------------------------------------------------------> script typetext/html idicon_play> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM10.804 8 5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z/> /svg> /script> !--------------------------------------------------------- -> icon_question_circle https://icons.getbootstrap.com/icons/question-circle/ ------------------------------------------------------------> script typetext/html idicon_question_circle> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z/> path dM5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z/> /svg> /script> !--------------------------------------------------------- -> icon_skip_back https://icons.getbootstrap.com/icons/skip-backward/ ------------------------------------------------------------> script typetext/html idicon_skip_back> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM.5 3.5A.5.5 0 0 1 1 4v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v2.94l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L8.5 8.752v2.94c0 .653-.713.998-1.233.696L1 8.752V12a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm7 1.133L1.696 8 7.5 11.367V4.633zm7.5 0L9.196 8 15 11.367V4.633z/> /svg> /script> !--------------------------------------------------------- -> icon_skip_foward https://icons.getbootstrap.com/icons/skip-forward/ ------------------------------------------------------------> script typetext/html idicon_skip_foward> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.752l-6.267 3.636c-.52.302-1.233-.043-1.233-.696v-2.94l-6.267 3.636C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696L7.5 7.248v-2.94c0-.653.713-.998 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5zM1 4.633v6.734L6.804 8 1 4.633zm7.5 0v6.734L14.304 8 8.5 4.633z/> /svg> /script> !--------------------------------------------------------- -> icon_trash https://icons.getbootstrap.com/icons/trash3/ ------------------------------------------------------------> script typetext/html idicon_trash> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z/> /svg> /script> !--------------------------------------------------------- -> icon_undo https://icons.getbootstrap.com/icons/arrow-counterclockwise/ ------------------------------------------------------------> script typetext/html idicon_undo> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z/> path dM8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z/> /svg> /script> !--------------------------------------------------------- -> icon_unlock https://icons.getbootstrap.com/icons/unlock-fill/ ------------------------------------------------------------> script typetext/html idicon_unlock> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z/> /svg> /script> !--------------------------------------------------------- -> icon_upload https://icons.getbootstrap.com/icons/upload/ ------------------------------------------------------------> script typetext/html idicon_upload> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z/> path dM7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708l3-3z/> /svg> /script> !--------------------------------------------------------- -> icon_wrench https://icons.getbootstrap.com/icons/wrench/ ------------------------------------------------------------> script typetext/html idicon_wrench> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path dM.102 2.223A3.004 3.004 0 0 0 3.78 5.897l6.341 6.252A3.003 3.003 0 0 0 13 16a3 3 0 1 0-.851-5.878L5.897 3.781A3.004 3.004 0 0 0 2.223.1l2.141 2.142L4 4l-1.757.364L.102 2.223zm13.37 9.019.528.026.287.445.445.287.026.529L15 13l-.242.471-.026.529-.445.287-.287.445-.529.026L13 15l-.471-.242-.529-.026-.287-.445-.445-.287-.026-.529L11 13l.242-.471.026-.529.445-.287.287-.445.529-.026L13 11l.471.242z/> /svg> /script> !--------------------------------------------------------- -> icon_zoom_in https://icons.getbootstrap.com/icons/zoom-in/ ------------------------------------------------------------> script typetext/html idicon_zoom_in> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z/> path dM10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z/> path fill-ruleevenodd dM6.5 3a.5.5 0 0 1 .5.5V6h2.5a.5.5 0 0 1 0 1H7v2.5a.5.5 0 0 1-1 0V7H3.5a.5.5 0 0 1 0-1H6V3.5a.5.5 0 0 1 .5-.5z/> /svg> /script> !--------------------------------------------------------- -> icon_zoom_out https://icons.getbootstrap.com/icons/zoom-out/ ------------------------------------------------------------> script typetext/html idicon_zoom_out> svg xmlnshttp://www.w3.org/2000/svg fillcurrentColor viewBox0 0 16 16> path fill-ruleevenodd dM6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z/> path dM10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z/> path fill-ruleevenodd dM3 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z/> /svg> /script> /div> !--------------------------------------------------------- -> templates -- reusable knockout templates ------------------------------------------------------------> div> !--------------------------------------------------------- -> template_nhsg_pagination data: page_size page allow_all total_count ------------------------------------------------------------> script typetext/html idtemplate_nhsg_pagination> div classnhsg_pagination> !-- ko if: (total_count() || total_count() 0) && (page() || page() 0) --> span data-bindtext: $root.get_content(rows_per_page) + :>Rows per page:/span> select data-bindvalue: page_size> option>25/option> option>50/option> option>100/option> !-- ko if: !allow_all --> option>200/option> !-- /ko --> !-- ko if: allow_all --> option>all/option> !-- /ko --> /select> span data-bind text: total_count() 1 ? 1 + $root.get_content(of) + 1 : (page() * page_size() + 1) + - + Math.min(parseInt(page()) * parseInt(page_size()) + parseInt(page_size()), total_count()) + + $root.get_content(of) + + total_count() >/span> a classarrow previous data-bind click: function(){if(page() > 0) page(page() - 1)} >/a> a classarrow next data-bind click: function(){if(page() Math.ceil(total_count() / page_size()) - 1) page(page() + 1)} >/a> !-- /ko --> /div> /script> !--------------------------------------------------------- -> template_nhsg_table data: model_table ------------------------------------------------------------> script typetext/html idtemplate_nhsg_table> div classtable_nhsg_wrapper data-bind style: {maxHeight: $data.settings.max_height() || none}, attr: {id: $data.id}, event: {scroll: function(data, event){$data.record_table_scroll(data, event)}}, descendantsComplete: function(elem){ setTimeout(function(){ $data.table(elem); },100); }, > table classnhsg data-bind css: { reference: $data.settings.table_type() reference, data: $data.settings.table_type() data, condensed: $data.settings.condensed(), vertical_dividers: $data.settings.vertical_dividers() } > !-- ko if: $data.thead().length --> thead> tr> !-- ko if: $data.settings.expandable_child_rows --> th classarrow>/th> !-- /ko --> !-- ko foreach: $data.thead() --> th data-bind html: $data.html, css: { sortable: $data.sort_field, active: $parent.sort_field() $data.sort_field, sorted_asc: $parent.sort_field() $data.sort_field && $parent.sort_order() asc, sorted_desc: $parent.sort_field() $data.sort_field && $parent.sort_order() desc }, style: { width: $data.width || auto }, click: function(){ if($data.sort_field){ if($data.sort_field ! $parent.sort_field()){ $parent.sort_field($data.sort_field); $parent.sort_order(asc); } else { $parent.sort_order($parent.sort_order() asc ? desc : asc); } $parent.do_sort($data.sort_type); } } >/th> !-- /ko --> /tr> /thead> !-- /ko --> tbody> !-- ko if: $data.tbody().length --> !-- ko foreach: $data.tbody() --> tr> !-- ko foreach: $data --> td data-bindhtml: $data>/td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: typeof $data.tbody_mapped() object --> !-- ko if: !$data.settings.allow_mapped_html() --> !-- ko with: $data.tbody_mapped() --> !-- ko foreach: {data: $data.rows, as: row} --> tr data-bindcss: { group_header: row.group_header, inactive: inactive }> !-- ko if: row.no_results_message --> td data-bindattr: {colspan: $parent.map.length}, html: row.no_results_message>/td> !-- /ko --> !-- ko if: row.group_header --> td classarrow data-bind css: {active: $parents1.closed_groups.indexOf(row.group) -1}, attr: {colspan: $parent.map.length} > a classcelllink data-bindclick: function(){$parents1.toggle_group(row.group)}>/a> a classaccordion_arrow>/a> span data-bindhtml: row.group_header>/span> /td> !-- /ko --> !-- ko if: !row.no_results_message && !row.group_header --> !-- ko if: !row.href --> !-- ko foreach: {data: $parent.map, as: map} --> td data-bindtext: typeof rowmap function ? rowmap() : rowmap>/td> !-- /ko --> !-- /ko --> !-- ko if: row.href --> !-- ko foreach: {data: $parent.map, as: map} --> td> a classcelllink data-bindattr: {href: row.href}>/a> span data-bindtext: typeof rowmap function ? rowmap() : rowmap>/span> /td> !-- /ko --> !-- /ko --> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $data.settings.allow_mapped_html() --> !-- ko with: $data.tbody_mapped() --> !-- ko foreach: {data: $data.rows, as: row} --> tr data-bind css: { collapsed: !row.group_header && $parents1.closed_groups.indexOf(row.group) > -1, group_header: row.group_header, inactive: row.inactive, parent: $parents1.settings.expandable_child_rows && $data.children && $data.children.length }, click: function(){ if($parents1.settings.expandable_child_rows && $data.children && $data.children.length){ $parents1.toggle_child_row($data.child_row_id) } return true; }> !-- ko if: row.no_results_message --> td data-bindattr: {colspan: $parent.map.length}, html: row.no_results_message>/td> !-- /ko --> !-- ko if: row.group_header --> td classarrow data-bind css: {active: $parents1.closed_groups.indexOf(row.group) -1}, attr: {colspan: $parent.map.length} > a classcelllink data-bindclick: function(){$parents1.toggle_group(row.group)}>/a> a classaccordion_arrow>/a> span data-bindhtml: row.group_header>/span> /td> !-- /ko --> !-- ko if: !row.no_results_message && !row.group_header --> !-- ko if: $parents1.settings.expandable_child_rows --> !-- ko if: $data.children && $data.children.length --> td classarrow data-bindcss: {active: $parents1.expanded_sections.indexOf($data.child_row_id) > -1 || ($root.page().expand_all && $root.page().expand_all())}> span classaccordion_arrow>/span> /td> !-- /ko --> !-- ko if: !$data.children || !$data.children.length --> td>/td> !-- /ko --> !-- /ko --> !-- ko foreach: {data: $parent.map, as: map} --> td data-bind css: { bold: $parents2.settings.bold_cells.indexOf(map) > -1, centered: $parents2.settings.centered_cells.indexOf(map) > -1, numeric: $parents2.settings.numeric_cells.indexOf(map) > -1 }, html: typeof rowmap function ? rowmap() : rowmap >/td> !-- /ko --> !-- /ko --> /tr> !-- ko if: !row.no_results_message --> !-- ko if: $parents1.settings.expandable_child_rows --> !-- ko if: $data.children && $data.children.length --> tr classchildren data-bindcss: {active: $parents1.expanded_sections.indexOf($data.child_row_id) > -1 || ($root.page().expand_all && $root.page().expand_all())}> td data-bindattr: {colspan: $parent.map.length + 1}> !-- ko foreach: $data.children --> div classchild_row data-bind css: {clickable: typeof $data object && ($data.href || ($data.click && typeof $data.click function))}, style: {height: $parents2.expanded_sections.indexOf($parent.child_row_id) > -1 || ($root.page().expand_all && $root.page().expand_all()) ? Math.max(48, $element.scrollHeight) + px : 0px}, click: function(){ if(typeof $data object && $data.click && typeof $data.click function) $data.click(); return true; } > !-- ko if: typeof $data object && $data.href --> a classcelllink data-bindattr: {href: $data.href}>/a> !-- /ko --> div data-bindhtml: typeof $data object ? $data.html : $data>/div> /div> !-- /ko --> /td> /tr> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /tbody> /table> /div> /script> !--------------------------------------------------------- -> template_language_selector data: ------------------------------------------------------------> script typetext/html idtemplate_language_selector> div classlanguage_selector> a classicon_translate_white data-bind text: $root.get_content(select_language), attr: {title: $root.get_content(select_language)}, click: function(){language_selector_active(!language_selector_active())} >select language/a> div classlanguage_options data-bindcss: {active: language_selector_active}> !-- ko foreach: TA.available_languages --> a data-bind text: label, css: {active: $root.active_language code}, click: function(){ $root.selected_language(code); $root.language_selector_active(false); } >/a> !-- /ko --> /div> /div> /script> !--------------------------------------------------------- -> template_nav_tab data: tab_name: string is_default: boolean ------------------------------------------------------------> script typetext/html idtemplate_nav_tab> !-- ko if: !$root.page().visible_sections || $root.page().visible_sections.indexOf($data.tab_name) ! -1 --> h1 classtab data-bind html: $data.tab_name, css: {active: $root.page().active_tab() $data.tab_name || (!$root.page().active_tab() && $data.is_default)}, click: function(){$root.page().active_tab($data.tab_name)} >/h1> !-- /ko --> /script> !--------------------------------------------------------- -> template_nav_tab_content data: tab_name: string tab_content_template: string is_default: boolean other data to pass to content template ------------------------------------------------------------> script typetext/html idtemplate_nav_tab_content> div classtab_content data-bindcss: { active: $root.page().active_tab() $data.tab_name || (!$root.page().active_tab() && $data.is_default) }> !-- ko template:{name: $data.tab_content_template, data: $data} -->!-- /ko --> /div> /script> !--------------------------------------------------------- -> template_triptych_card used by wound_detail data: page: view_model_wound_detail wound: model_wound evaluation: model_evaluation, comparison_evaluation: model_evaluation, position: previous | active | next ------------------------------------------------------------> script typetext/html idtemplate_triptych_card> !-- ko if: !evaluation --> section classevaluation_detail_placeholder>/section> !-- /ko --> !-- ko if: evaluation --> section classevaluation_detail data-bind attr:{id: evaluation_detail_ + evaluation.woundEvaluationId()}, css: { editing: $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _formularies, amending: evaluation.amending() } > h2 data-bindtemplate:{ name: template_evaluation_nav, data: { page: page, evaluation: evaluation, position: position, type: triptych } } >/h2> div classphoto_wrapper> div classphoto> div classpatient_head_direction_workspace data-bind css: {active: page.active_patient_head_direction_indicator() evaluation.woundEvaluationId()}, event: { click: function(obj, event){page.preview_patient_head_direction(evaluation, event)}, mousemove: function(obj, event){page.preview_patient_head_direction(evaluation, event)} } > a classbtn data-bind text: $root.get_content(confirm), click: function(){page.set_patient_head_direction(evaluation)} >Confirm/a> a classbtn neutral data-bind text: $root.get_content(cancel), click: function(){ evaluation.preview_patientHeadDirection(evaluation.patientHeadDirection()); page.active_patient_head_direction_indicator(null); } >Cancel/a> /div> img data-bindattr:{src: evaluation.img_src()} /> div classanalysis_wrapper data-bindcss: {active: page.pink_layer_visible}, attr:{id: position + _analysis_layer_pink}>/div> div classanalysis_wrapper data-bindcss: {active: page.red_layer_visible}, attr:{id: position + _analysis_layer_red}>/div> div classanalysis_wrapper data-bindcss: {active: page.yellow_layer_visible}, attr:{id: position + _analysis_layer_yellow}>/div> div classanalysis_wrapper data-bindcss: {active: page.black_layer_visible}, attr:{id: position + _analysis_layer_black}>/div> div classanalysis_wrapper data-bindcss: {active: page.other_layer_visible}, attr:{id: position + _analysis_layer_other}>/div> div classanalysis_wrapper data-bindcss: {active: page.perimeter_layer_visible}, attr:{id: position + _analysis_layer_perimeter}>/div> div classanalysis_wrapper data-bindcss: {active: page.axis_layer_visible}, attr:{id: position + _analysis_layer_axis}>/div> !-- ko if: !$root.settings.disable_undermining() --> div classanalysis_wrapper data-bind css: {active: page.undermines_layer_visible}, attr:{id: position + _analysis_layer_undermines} >/div> !-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> div classanalysis_wrapper data-bind css: {active: page.tunnels_layer_visible}, attr:{id: position + _analysis_layer_tunnels} >/div> !-- /ko --> !-- ko if: !evaluation.no_photo() --> a classzoom data-bindclick:function(){$root.page().zoom_photo(evaluation.img_src())}>/a> !-- /ko --> !-- ko template:{name: template_patient_head_direction_indicator, data: {evaluation: evaluation}} -->!-- /ko --> !-- ko if: $root.page().show_pdf_links() --> a classpdf data-bindattr: {href: evaluation.pdf_link()}>/a> !-- /ko --> !-- ko if: !evaluation.no_photo() --> !-- ko if: !$root.settings.disable_image_download() --> h4> a classsave titlesave photo download data-bind attr: { title: $root.get_content(save_photo), href:evaluation.img_src() }, click: function(){return true}, clickBubble: false >/a> !-- ko if: !$root.page().hide_dates() --> span data-bindtext: $root.get_content(photo)>Photo/span>: span data-bindtext: evaluation.credit()>/span> !-- /ko --> /h4> !-- /ko --> !-- /ko --> /div> /div> div classpie_and_progress> !-- ko if: $root.settings.dressing_removal_video() --> !-- ko if: evaluation.dressingRemovalVideoUri() --> div classunboxing_video> a classbtn data-bind text: $root.get_content(dressing_removal_video), click: function(){$root.page().show_unboxing_video(evaluation.dressingRemovalVideoUri())} > dressing removal video /a> /div> !-- /ko --> !-- /ko --> !-- ko if: evaluation.signedById() --> !-- ko with: evaluation --> div classsigned> div classcurrent_version> strong data-bindtext: $root.get_content(signed) + :>Signed:/strong> span data-bindtext: signedBy>/span> !-- ko if: !$root.page().hide_dates() --> span data-bindhtml: $root.page().formatted_date_and_time(signedOn())>/span> !-- /ko --> div> !-- ko if: !$root.settings.amendment_feature_toggle() --> !-- ko if: $root.user().has_role(ta_admin) --> a classhint data-bind click: function(){$root.page().confirm_ta_unlock($data)} > Unlock /a> !-- /ko --> !-- /ko --> !-- ko if: amendable --> a classhint data-bindclick: function(){amending(!amending())}> span data-bind text: amending() ? $root.get_content(cancel_amendment) : $root.get_content(make_amendment) > Make Amendment /span> /a> !-- ko if: versionList().length > 0 --> a classhint data-bindclick: function(){ $root.page().show_version_list($root.page().show_version_list() ! triptych ? triptych: null) }> span data-bindtext: $root.get_content(version_history)>Version History/span> /a> !-- /ko --> !-- /ko --> /div> /div> div classversion_list data-bind css: {active: $root.page().show_version_list() triptych}, style: {maxHeight: $root.page().show_version_list() triptych ? $element.scrollHeight + px : 0px}, > !-- ko foreach: versionList() --> a data-bind click: function(){$parent.active_version($data.current ? null : $data.id)} > span data-bindtext: version>/span>: span data-bindtext: signedByName>/span> !-- ko if: !$root.page().hide_dates() --> span classcreated data-bindhtml: $root.page().formatted_date_and_time(created, null, true)>/span> !-- /ko --> /a> !-- /ko --> /div> /div> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.tissue_color_on() --> div classpie_chart_wrapper> canvas data-bindattr: {id: position + _pie_chart} classpie_chart width145 height145>/canvas> /div> !-- /ko --> div classprogress_wrapper data-bindwith: evaluation> !-- ko if: timepointLabel() --> h3 classevaluation_label data-bindtext: timepointLabel>/h3> !-- /ko --> !-- ko if: !$root.settings.disable_push_score() --> h3 classpush_score> span data-bindtext: $root.get_content(push_score)>/span>: !-- ko if: has_analysis() && woundAnalysis().measurements --> span data-bindhtml: Number(pushScore()) || —>/span> !-- /ko --> !-- ko if: !has_analysis() || !woundAnalysis().measurements --> span>—/span> !-- /ko --> /h3> !-- /ko --> !-- ko if: healed() --> !-- ko if: !$root.settings.wound_status_enabled() --> h3 classhealed> strong classcapitalize data-bindtext: $root.get_content(healed)>Healed/strong> !-- ko if: !$root.page().read_only() && !$data.read_only() --> a classundo data-bind text: ( + $root.get_content(undo) + ), click: function(evaluation){unmark_healed(evaluation)} >(undo)/a> !-- /ko --> /h3> !-- /ko --> !-- /ko --> div> !-- ko if: $root.settings.wound_status_enabled() --> div classwound_status> span data-bindtext: $root.get_content(wound_status) + :>Wound Status:/span> div classmultiselect singleselect dropdown> div classaccordion_multiselect data-bind css: {disable: $root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()}, click: function(){ if($root.page().read_only() || $data.read_only() || $root.user().serena_eval_shuffle()) return; if($root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()) $root.page().active_dropdown(null); else $root.page().active_dropdown(evaluation_status_ + $data.woundEvaluationId()); }, clickBubble: false > div classsummary> !-- ko if: $data.woundEvaluationStatus() && $data.woundEvaluationStatus().status --> span classchip> span data-bindtext: $data.woundEvaluationStatus().status.toLowerCase()>/span> /span> !-- /ko --> /div> a classaccordion_arrow active data-bind>/a> /div> div classoptions data-bind css: {active: $root.page().active_dropdown() evaluation_status_ + $data.woundEvaluationId()} > div class> div data-bindclick: function(){ $data.woundEvaluationStatus({status:ACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(active)>active/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:INACTIVE}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(inactive)>inactive/span> /div> /div> div> div data-bindclick: function(){ $data.woundEvaluationStatus({status:HEALED}); $root.page().active_dropdown(null); }> span data-bindtext: $root.get_content(healed)>healed/span> /div> /div> /div> /div> /div> !-- /ko --> !-- ko if: (!$root.page().read_only() && !$data.read_only()) || $root.user().serena_eval_shuffle() --> !-- ko if: !$root.settings.wound_status_enabled() --> !-- ko if: !healed() && !$root.settings.disable_mark_healed() && !$root.user().serena_eval_shuffle()--> a classbtn selected data-bind text: $root.get_content(mark_healed), click: function(evaluation){mark_healed(evaluation)} >Mark Healed/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_sign_and_lock() --> !-- ko if: !$data.signedById() && ($data.no_photo() || ($data.analysisPending && !$data.analysisPending() && approved && approved())) --> !-- ko if: !$root.settings.only_creator_locks_evals() || $data.user().userId $root.user().userId() --> a classbtn data-bind css: {danger: !$root.settings.enable_portal_redesign()}, text: $root.get_content(sign_and_lock), click: function(evaluation){$root.page().confirm_sign_lock(evaluation)} >Sign & Lock/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> /div> !-- ko if: !$root.page().hide_dates() --> !-- ko if: $root.settings.visit_based_obs() && evaluation.visitTypeId() --> h3 data-bindtext: $root.get_content(visit_type) + : + $root.org().get_visit_type_name(evaluation.visitTypeId())>/h3> !-- /ko --> !-- check for an encounter level visit type --> !-- ko if: $root.settings.encounter_workflow() && evaluation.visitTypeDesc && evaluation.visitTypeDesc() --> h3 data-bindtext: $root.get_content(visit_type) + : + evaluation.visitTypeDesc()>/h3> !-- /ko --> !-- ko if: $root.settings.randomize_patient() && !$root.user().is_read_only() --> !-- ko if: evaluation.visitTypeId() $root.settings.randomize_patient() --> !-- ko if: !$root.page().active_patient().randomizationAllocation() --> br /> a classbtn data-bind click:function(){$root.page().active_patient().randomize_patient()} >Randomize/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> div classinfo data-bindcss: {disable_delta_colors: !$root.settings.delta_color()}> !--------------------------------------------------------- -> post-debridement ------------------------------------------------------------> !-- ko if: evaluation.debridement() --> h3 classpost_debridement data-bindtext: $root.get_content(post_debridement)>/h3> !-- /ko --> div classno_analysis_messages hide_inactive data-bind css: {active:!evaluation.has_analysis()}, with: evaluation > !-- ko foreach: analysisPending_messages() --> h6 classanalyzing data-bindtext: $data>/h6> !-- /ko --> !-- ko if: analysisPending_messages().length --> div classspinner active>/div> !-- /ko --> !-- ko foreach: no_analysis_messages() --> h6> span data-bindtext: $data>/span> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !$root.page().read_only() || $root.user().serena_eval_shuffle() --> !-- ko if: !$parent.read_only() --> !-- ko if: !$parent.analysisPending() --> !-- ko if: $data $root.get_content(no_wound_detected) --> a classwrench titledraw wound outline data-bind attr: {title: $root.get_content(draw_wound_outline)}, click: function(){ $root.page().go_to_evaluation($parent.collection_index()); $root.page().trace_mode(outline); } >/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /h6> !-- /ko --> /div> !-- ko if: evaluation.timepointLabel() --> h3 classevaluation_label data-bindtext: evaluation.timepointLabel()>/h3> !-- /ko --> table classdisplay compact data-bindcss: {clickable: evaluation.has_analysis(), no_analysis: !evaluation.has_analysis()}> tbody> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: all, measurement: totalArea, unit: cm2, evaluation: evaluation, comparison_evaluation: comparison_evaluation }} -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: axis, measurement: majorAxisLength, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation, axis_label: length }} -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: axis, measurement: minorAxisLength, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation, axis_label: width }} -->!-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: perimeter, measurement: perimeterLength, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation }} -->!-- /ko --> !-- ko if: !$root.settings.disable_tunneling() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: tunnels, measurement: totalTunnelsLength, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation, edit_link: (($root.page().read_only && $root.page().read_only()) || evaluation.read_only()) ? null : evaluation.evaluation_detail_link() + &edittunnels }} -->!-- /ko --> !-- ko foreach: evaluation.tunnels_list() --> tr classnot_clickable> !-- ko if: !$root.tablet_view() --> td>/td> td classbreakdown data-bindtext: • + $root.get_content(tunnel) + + ($index() + 1)>/td> td classunitvalue> !-- ko template:{name: template_cm, data: {value: $data.woundTunnelLength, to_fixed: 2}} -->!-- /ko --> /td> !-- ko if: $parent.evaluation.previous_evaluation() --> td>/td> !-- /ko --> !-- /ko --> !-- ko if: $root.tablet_view() --> td> div classbreakdown data-bindtext: • + $root.get_content(tunnel) + + ($index() + 1)>/div> div classunitvalue> !-- ko template:{name: template_cm, data: {value: $data.woundTunnelLength, to_fixed: 2}} -->!-- /ko --> /div> /td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_undermining() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: undermines, measurement: totalUnderminesLength, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation, edit_link: (($root.page().read_only && $root.page().read_only()) || evaluation.read_only()) ? null : evaluation.evaluation_detail_link() + &editundermines }} -->!-- /ko --> !-- ko foreach: evaluation.undermines_list() --> tr classnot_clickable> !-- ko if: !$root.tablet_view() --> td>/td> td classbreakdown data-bindhtml: • + $root.get_content(region) + + ($index() + 1)>/td> td classunitvalue> !-- ko template:{name: template_cm, data: {value: $data.woundUndermineLength, to_fixed: 2}} -->!-- /ko --> /td> !-- ko if: $parent.evaluation.previous_evaluation() --> td>/td> !-- /ko --> !-- /ko --> !-- ko if: $root.tablet_view() --> td> div classbreakdown data-bindtext: • + $root.get_content(region) + + ($index() + 1)>/div> div classunitvalue> !-- ko template:{name: template_cm, data: {value: $data.woundUndermineLength, to_fixed: 2}} -->!-- /ko --> /div> /td> !-- /ko --> /tr> !-- /ko --> !-- /ko --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: depth, measurement: depth, unit: cm, evaluation: evaluation, comparison_evaluation: comparison_evaluation, not_clickable: true, editable: ((($root.page().read_only && $root.page().read_only()) || evaluation.read_only()) && !$root.user().blinded_reviewer() && !$root.user().serena_eval_shuffle()) ? null : true, on_save: function(event){evaluation.update_depth(event)} }} -->!-- /ko --> !-- ko if: evaluation.depthAnalysis() --> !-- ko template:{ name: template_evaluation_wound_measurement_row, data: { use_tablet_layout: true, label: volume, measurement: volume, unit: cm3, evaluation: evaluation, comparison_evaluation: comparison_evaluation, not_clickable: true, editable: false } } -->!-- /ko --> !-- /ko --> /tbody> /table> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !evaluation.no_photo() && !evaluation.noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !evaluation.read_only() || $root.is_nhwc() --> !-- ko if: evaluation.has_analysis() --> !-- ko if: !evaluation.healed() --> a classretrace_outline data-bind css: { pd: evaluation.debridement(), cw: evaluation.is_circumferential() }, text: $root.get_content(retrace_wound_perimeter), click: function(){ $root.page().active_wound().active_evaluation(evaluation); $root.page().trace_mode(outline) } >Retrace Wound Perimeter/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- ko if: $root.settings.tissue_color_on() --> div classinfo tissues> table classdisplay compact data-bindcss: {clickable: evaluation.has_analysis(), no_analysis: !evaluation.has_analysis()}> tbody data-bindforeach: TA.tissue_colors> !-- ko template: { name: template_evaluation_tissue_measurement_row, data: { use_tablet_layout: true, color: $data, evaluation: $parent.evaluation, comparison_evaluation: $parent.comparison_evaluation }} -->!-- /ko --> /tbody> /table> !-- ko if: !$root.settings.disable_push_score() --> !-- ko if: evaluation.has_analysis() && evaluation.woundAnalysis().measurements --> table classdisplay compact push_score> tr> td>a classview_toggle>/a>/td> td> span data-bindtext: $root.get_content(push_score)>/span>: span data-bindhtml: Number(evaluation.pushScore()) || —>/span> /td> /tr> /table> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.user_region_tracing() --> !-- ko if: !$root.settings.disable_user_trace() --> !-- ko if: !evaluation.no_photo() && !evaluation.noDot() --> !-- ko if: !$root.page().read_only() || $root.is_nhwc() || $root.user().serena_eval_shuffle() --> !-- ko if: !evaluation.read_only() || $root.is_nhwc() --> !-- ko if: !evaluation.analysisPending() --> !-- ko if: evaluation.has_analysis() --> !-- ko if: !evaluation.healed() --> !-- ko if: !$root.page().nhwc_wound_view() --> a classlink retrace_region data-bind text: $root.get_content(retrace_tissue_composition), click: function(){ $root.page().active_wound().active_evaluation(evaluation); $root.page().trace_mode(region); $root.page().trace_instructions_visible(false); } >Retrace Tissue Composition/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- ko if: !$root.is_nhwc() --> div classobservations dynamic_component data-bind attr: { dynamic_component_type: observations, match_id: evaluation.woundEvaluationId(), dynamic_component_payload: $root.page().dynamic_component_payload(observations, evaluation.woundId(), evaluation.woundEvaluationId()) } > !-- ko template:{name: template_evaluation_formularies, data: { use_recs: $root.settings.treatment_recs() && !$root.settings.disable_formulary_recommendations(), isolate_recs: $root.settings.isolate_formulary_recommendations(), page: $root.page(), evaluation: evaluation, edit_mode_match: evaluation.woundEvaluationId() + _formularies }} -->!-- /ko --> /div> !-- /ko --> !-- ko with: $data.evaluation --> !-- ko if: (!$root.page().read_only() && !$data.read_only()) || $root.user().serena_eval_shuffle() --> !-- ko if: !$root.page().hide_sign_and_lock() --> !-- ko if: !$data.signedById() && ($data.no_photo() || ($data.analysisPending && !$data.analysisPending() && $data.approved && $data.approved())) --> !-- ko if: !$root.settings.only_creator_locks_evals() || $data.user().userId $root.user().userId() --> a classbtn data-bind css: {danger: !$root.settings.enable_portal_redesign()}, text: $root.get_content(sign_and_lock), click: function(evaluation){$root.page().confirm_sign_lock(evaluation)} >Sign & Lock/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $data.evaluation.status_message_container() --> !-- ko template:{ name: toast_message, data: $data.evaluation.status_message_container() } -->!-- /ko --> !-- /ko --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> div classarchive_controls> !-- ko if: evaluation.active() --> a classbtn thin danger archive data-bind text: $root.get_content(archive_this_evaluation), click: function(){$root.page().mark_evaluation_inactive(evaluation)} >archive this evaluation/a> !-- /ko --> !-- ko if: !evaluation.active() --> a classbtn thin warn archive data-bind text: $root.get_content(reactivate_this_evaluation), click: function(){$root.page().mark_evaluation_active(evaluation)} >reactivate this evaluation/a> !-- /ko --> /div> !-- /ko --> !-- /ko --> h2 data-bindtemplate:{ name: template_evaluation_nav, data: { page: page, evaluation: evaluation, position: position, type: triptych } } >/h2> /section> !-- /ko --> /script> !--------------------------------------------------------- -> template_evaluation_wound_measurement_row used by wound_detail data: use_tablet_layout: true | false label: total_area | axis | depth | perimeter | tunnels | undermines measurement: totalArea | majorAxisLength | minorAxisLength | depth | perimeterLength | totalTunnelsLength | totalUnderminesLength is_approximate: boolean unit: cm | cm2 | cm3 evaluation: model_evaluation comparison_evaluation: model_evaluation not_clickable: true | null -- not a clickable row editable: true | null -- allow editing of this field on_save: function -- function to pass new value if the field is editable on_click: function -- function to run when clicked edit_link: string -- href of eval edit page hide_deltas: true | null -- do not show comparisons to previous evaluation ------------------------------------------------------------> script typetext/html idtemplate_evaluation_wound_measurement_row> tr data-bind css: {not_clickable: $data.not_clickable}, click:function(){ if(!$data.not_clickable){ $root.page()label + _layer_visible(!$root.page()label + _layer_visible()) } } > !-- ko if: evaluation --> !-- ko if: $data.editable || (evaluation.has_analysis() && evaluation.woundAnalysis().measurements) --> !-- ko if: !use_tablet_layout || !$root.tablet_view() --> td> a classview_toggle data-bind css: { active: $root.page()label + _layer_visible, all: label all, axis: label axis, depth: label depth || label height || label volume, perimeter: label perimeter, tunnels: label tunnels, undermines: label undermines } > !-- ko if: label all --> span classperimeter>/span> span classred>/span> span classblack>/span> span classyellow>/span> span classother>/span> !-- /ko --> /a> /td> !-- ko if: label ! axis --> td data-bindtext: $root.get_content(label + _label)>/td> !-- ko if: evaluation.active_media_is_circumferential() --> td classunitvalue>N/A/td> !-- /ko --> !-- ko if: !evaluation.active_media_is_circumferential() --> td classunitvalue data-bind css: { edit_mode: label depth && $data.editable && ( typeof evaluation.woundAnalysis().measurementsmeasurement undefined || typeof evaluation.woundAnalysis().measurementsmeasurement null ) } > !-- ko if: evaluation.woundAnalysis().measurements --> !-- ko template:{ name: template_ + unit, data: { is_approximate: $data.is_approximate, value: evaluation.woundAnalysis().measurementsmeasurement, editable: $data.editable, on_save: $data.on_save, on_click: $data.on_click, edit_link: $data.edit_link, no_default_to_0: $data.label depth } } -->!-- /ko --> !-- /ko --> /td> !-- ko if: !$data.hide_deltas && comparison_evaluation && !$root.page().hide_dates() --> td classunitvalue data-bindcss: evaluation.delta_class(false, comparison_evaluation, measurement)> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{ name: template_percent, data: { value: evaluation.delta_value(comparison_evaluation, measurement), sign: true, no_default_to_0: $data.label depth } } -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{ name: template_ + unit, data: { value: evaluation.delta_value(comparison_evaluation, measurement), sign: true, no_default_to_0: $data.label depth } } -->!-- /ko --> !-- /ko --> /td> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: label axis --> td data-bindtext: $root.get_content(axis_label + _label)>/td> !-- ko if: evaluation.active_media_is_circumferential() --> td classunitvalue>N/A/td> !-- /ko --> !-- ko if: !evaluation.active_media_is_circumferential() --> td classunitvalue> !-- ko with: evaluation.woundAnalysis().measurements$root.settings.measurement_strategy()measurement || 0 --> !-- ko template:{ name: template_ + $parent.unit, data: { is_approximate: $data.is_approximate, value: $data, editable: $parent.editable, on_click: $data.on_click, on_save: $parent.on_save, edit_link: $parent.edit_link } } -->!-- /ko --> !-- /ko --> /td> !-- ko if: !$data.hide_deltas && comparison_evaluation && !$root.page().hide_dates() --> td classunitvalue data-bind css: evaluation.delta_class(false, comparison_evaluation, $root.settings.measurement_strategy(), measurement) > !-- ko with: evaluation.delta_value(comparison_evaluation, $root.settings.measurement_strategy(), measurement) || 0 --> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{name: template_percent, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{name: template_ + $parent.unit, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- /ko --> /td> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: use_tablet_layout && $root.tablet_view() --> td> div> a classview_toggle data-bind css: { active: $root.page()label + _layer_visible, all: label all, axis: label axis, depth: label depth, perimeter: label perimeter, tunnels: label tunnels, undermines: label undermines } > !-- ko if: label all --> span classperimeter>/span> span classred>/span> span classblack>/span> span classyellow>/span> span classother>/span> !-- /ko --> /a> span data-bindtext: $root.get_content(((label ! axis) ? label : axis_label) + _label)>/span> /div> !-- ko if: evaluation.active_media_is_circumferential() --> div classunitvalue>N/A/div> !-- /ko --> !-- ko if: !evaluation.active_media_is_circumferential() --> !-- ko if: label ! axis --> div classunitvalue data-bind css: { edit_mode: label depth && $data.editable && ( typeof evaluation.woundAnalysis().measurementsmeasurement undefined || typeof evaluation.woundAnalysis().measurementsmeasurement null ) } > !-- ko if: evaluation.woundAnalysis().measurements --> !-- ko template:{ name: template_ + unit, data: { is_approximate: $data.is_approximate, value: evaluation.woundAnalysis().measurementsmeasurement, editable: $data.editable, on_save: $data.on_save, on_click: $data.on_click, edit_link: $data.edit_link, no_default_to_0: $data.label depth } } -->!-- /ko --> !-- /ko --> !-- ko if: !$data.hide_deltas && comparison_evaluation && !$root.page().hide_dates() --> span data-bindcss: evaluation.delta_class(false, comparison_evaluation, measurement)> !-- ko with: evaluation.delta_value(comparison_evaluation, measurement) --> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{name: template_percent, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{name: template_ + $parent.unit, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- /ko --> /span> !-- /ko --> /div> !-- /ko --> !-- ko if: label axis --> div classunitvalue> !-- ko with: evaluation.woundAnalysis().measurements$root.settings.measurement_strategy()measurement --> !-- ko template:{ name: template_ + $parent.unit, data: { is_approximate: $data.is_approximate, value: $data } } -->!-- /ko --> !-- /ko --> !-- ko if: !$data.hide_deltas && comparison_evaluation && !$root.page().hide_dates() --> span data-bind css: evaluation.delta_class(false, comparison_evaluation, $root.settings.measurement_strategy(), measurement) > !-- ko with: evaluation.delta_value(comparison_evaluation, $root.settings.measurement_strategy(), measurement) --> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{name: template_percent, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{name: template_ + $parent.unit, data: {value: $data, sign: true}} -->!-- /ko --> !-- /ko --> !-- /ko --> /span> !-- /ko --> /div> !-- /ko --> !-- /ko --> /td> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$data.editable && !evaluation.has_analysis() --> td>/td> td data-bindtext: $root.get_content(label + _label)>/td> !-- /ko --> /tr> /script> !--------------------------------------------------------- -> template_evaluation_tissue_measurement_row used by wound_detail data: use_tablet_layout: true | false color: red | black | yellow | other | pink (TA.tissue_colors) evaluation: model_evaluation ------------------------------------------------------------> script typetext/html idtemplate_evaluation_tissue_measurement_row> tr data-bindclick:function(){$root.page()color + _layer_visible(!$root.page()color + _layer_visible())}> !-- ko if: evaluation --> !-- ko if: evaluation.has_analysis() && evaluation.woundAnalysis().measurements --> !-- ko if: !use_tablet_layout || !$root.tablet_view() --> td> a classview_toggle data-bind css: { active: $root.page()color + _layer_visible, red: color red, black: color black, yellow: color yellow, other: color other, pink: color pink } >/a> /td> td data-bindtext: $root.get_content(color + _area_label)>/td> !-- ko if: evaluation.active_media_is_circumferential() --> td classunitvalue>N/A/td> !-- /ko --> !-- ko if: !evaluation.active_media_is_circumferential() --> td classunitvalue> !-- ko template:{name: template_cm2, data: {value: evaluation.woundAnalysis().measurementscolor + Area}} -->!-- /ko --> /td> td classunitvalue> !-- ko template:{name: template_percent, data: {value: evaluation.area_percent(color + Area)}} -->!-- /ko --> /td> !-- ko if: comparison_evaluation && !$root.page().hide_dates() --> td classunitvalue data-bindcss: evaluation.delta_class(true, comparison_evaluation, color + Area)> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{ name: template_percent, data: {value: evaluation.delta_percent(comparison_evaluation, color + Area), sign: true}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{ name: template_cm2, data: {value: evaluation.delta_value(comparison_evaluation, color + Area), sign: true} } -->!-- /ko --> !-- /ko --> /td> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: use_tablet_layout && $root.tablet_view() --> td> div> a classview_toggle data-bind css: { active: $root.page()color + _layer_visible, red: color red, black: color black, yellow: color yellow, other: color other, pink: color pink } >/a> span data-bindtext: $root.get_content(color + _area_label)>/span> /div> !-- ko if: evaluation.active_media_is_circumferential() --> div classunitvalue>N/A/div> !-- /ko --> !-- ko if: !evaluation.active_media_is_circumferential() --> div classunitvalue> !-- ko with: evaluation.woundAnalysis().measurementscolor + Area --> !-- ko template:{name: template_cm2, data: {value: $data}} -->!-- /ko --> !-- /ko --> !-- ko template:{name: template_percent, data: {value: evaluation.area_percent(color + Area)}} -->!-- /ko --> !-- ko if: evaluation.previous_evaluation() --> span data-bindcss: evaluation.delta_class(true, evaluation.previous_evaluation(), color + Area)> !-- ko if: $root.settings.delta_mode() percent --> !-- ko template:{ name: template_percent, data: {value: evaluation.delta_percent(evaluation.previous_evaluation(), color + Area), sign: true}} -->!-- /ko --> !-- /ko --> !-- ko if: $root.settings.delta_mode() difference --> !-- ko template:{ name: template_cm2, data: {value: evaluation.delta_value(evaluation.previous_evaluation(), color + Area), sign: true}} -->!-- /ko --> !-- /ko --> /span> !-- /ko --> /div> !-- /ko --> /td> !-- /ko --> !-- /ko --> !-- ko if: !evaluation.has_analysis() --> td>/td> td data-bindtext: $root.get_content(color + _area_label)>/td> !-- /ko --> !-- /ko --> /tr> /script> !--------------------------------------------------------- -> template_evaluation_nav used by wound_detail data: page: view_model_wound_detail evaluation: model_evaluation, title: string | null position: previous | active | next type: single | triptych | title ------------------------------------------------------------> script typetext/html idtemplate_evaluation_nav> !-- ko if: evaluation --> !-- ko if: !$root.user().hide_eval_dates() --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: type single || position previous --> a classicon skip_to_start hide_inactive data-bind css: {active: page.active_wound().previous_evaluation()}, click:function(){page.go_to_evaluation(0)} >/a> a classicon previous hide_inactive data-bind css: {active: page.active_wound().previous_evaluation()}, click:function(){page.active_wound().active_evaluation(page.active_wound().previous_evaluation())} >/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates() --> !-- ko if: type single --> strong data-bindhtml: page.formatted_date_and_time(evaluation.created())>/strong> !-- /ko --> !-- ko if: type ! single --> strong data-bindtext: page.formatted_date(evaluation.created())>/strong> !-- /ko --> !-- /ko --> !-- ko if: $data.title --> span data-bindtext: title>/span>: !-- /ko --> span classcounter data-bindcss: {no_date: $root.page().hide_dates}> span data-bindtext: $root.get_content(evaluation)>Evaluation/span> span data-bindtext: page.evaluation_position(evaluation)>/span> !-- ko if: !$root.settings.disable_sign_and_lock() --> span classlock data-bindcss: {locked: evaluation.read_only}>/span> !-- /ko --> /span> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: type single || position next --> a classicon next hide_inactive data-bind css: {active: page.active_wound().next_evaluation()}, click:function(){page.active_wound().active_evaluation(page.active_wound().next_evaluation())} >/a> a classicon skip_to_end hide_inactive data-bind css: {active: page.active_wound().next_evaluation()}, click:function(){page.go_to_evaluation(page.active_wound().evaluations_archive().length - 1)} >/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.active_page() ! evaluation_detail --> !-- ko if: !$root.settings.disable_new_eval() --> !-- ko if: type single || position active --> !-- ko if: (!$root.page().read_only || !$root.page().read_only()) --> a classicon new_evaluation hide_inactive titleadd new photo data-bind css: {active: !page.active_wound().next_evaluation()}, attr: { title: $root.get_content(add_new_photo), href: #pagedocumentation&patientId + page.active_wound().patientId() + &woundId + page.active_wound().woundId() } >/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /script> !--------------------------------------------------------- -> new_template_evaluation_nav used by wound_detail data: page: view_model_wound_detail evaluation: model_evaluation, title: string | null position: previous | active | next ------------------------------------------------------------> script typetext/html idnew_template_evaluation_nav> !-- ko if: evaluation --> !-- ko if: !$root.settings.disable_sign_and_lock() --> span classlock data-bindcss: {locked: evaluation.read_only}>/span> !-- /ko --> !-- ko if: !$root.user().hide_eval_dates() --> !-- ko if: !$root.page().hide_dates() --> strong data-bindhtml: page.formatted_date_and_time(evaluation.created())>/strong> !-- /ko --> !-- ko if: $data.title --> span data-bindtext: title>/span>: !-- /ko --> !-- /ko --> !-- ko if: !$root.user().hide_eval_dates() --> span classarrows> !-- ko if: !$root.page().nhwc_wound_view() --> a classicon skip_to_start hide_inactive data-bind css: {active: page.active_wound().previous_evaluation()}, click:function(){page.go_to_evaluation(0)} >/a> a classicon previous hide_inactive data-bind css: {active: page.active_wound().previous_evaluation()}, click:function(){page.active_wound().active_evaluation(page.active_wound().previous_evaluation())} >/a> !-- /ko --> span classcounter data-bindcss: {no_date: $root.page().hide_dates}> span data-bindtext: $root.get_content(evaluation)>Evaluation/span> span data-bindtext: page.evaluation_position(evaluation)>/span> /span> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: page.active_wound().next_evaluation() --> a classicon next active data-bind click:function(){page.active_wound().active_evaluation(page.active_wound().next_evaluation())} >/a> !-- /ko --> a classicon skip_to_end hide_inactive data-bind css: {active: page.active_wound().next_evaluation()}, click:function(){page.go_to_evaluation(page.active_wound().evaluations_archive().length - 1)} >/a> !-- /ko --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.active_page() ! evaluation_detail --> !-- ko if: !$root.settings.disable_new_eval() && !page.active_wound().next_evaluation() --> !-- ko if: (!$root.page().read_only || !$root.page().read_only()) --> a classicon new_evaluation active titleadd new photo data-bind attr: { title: $root.get_content(add_new_photo), href: #pagedocumentation&patientId + page.active_wound().patientId() + &woundId + page.active_wound().woundId() } >/a> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /span> !-- /ko --> !-- /ko --> /script> !--------------------------------------------------------- -> template_notes_list used by wound_detail, patient_detail data: model_wound ------------------------------------------------------------> script typetext/html idtemplate_notes_list> h2 data-bindtext:$root.get_content(notes_title)>Notes/h2> !-- only allow note creation on wound detail page, not patient detail page --> !-- ko if: $data.ta_model model_wound && !$root.page().read_only() --> div classnote_entry> textarea data-bind attr: {placeholder: $root.get_content(new_note_placeholder)}, textInput: new_note.note >/textarea> a classbtn data-bind text: $root.get_content(submit_note_button), click: function(){$root.page().save_note()} >Submit Note/a> /div> !-- /ko --> !-- ko if: !notes.list().length --> p data-bindtext: $root.get_content(no_notes_recorded)>/p> !-- /ko --> div idnotes_list classnotes_list data-bindforeach:notes.list()> div classnote> h4> strong data-bindhtml: $root.page().formatted_date_and_time(created())>/strong> span data-bindtext: user_name>/span> /h4> p> !-- ko if: !$root.settings.disable_sign_and_lock() --> !-- ko if: $data.signedEvalId() --> span classlock locked>/span> !-- /ko --> !-- /ko --> !-- ko if: !$data.signedEvalId() && !$root.page().read_only() && $data.user().userId $root.user().userId() --> a classtrash titledelete note data-bind attr: {title: $root.get_content(delete_note)}, click: function(){$root.page().delete_note($data)} >/a> !-- /ko --> span classlinkify data-bindtext: note>/span> /p> /div> /div> /script> !--------------------------------------------------------- -> template_patient_list used by documentation, patient_records data: list: model_patient array action: function to pass selected patient object to ------------------------------------------------------------> script typetext/html idtemplate_patient_list> table classdisplay clickable selectable> thead data-bindvisible: !$root.mobile_view()> tr> !-- ko if: !$root.settings.global_hide_name() --> th data-bindtext: $root.get_content(name)>Name/th> !-- /ko --> !-- ko if: !$root.mobile_view() --> !-- ko if: !$root.settings.hide_dob() --> th data-bindtext: $root.get_content(dob)>DOB/th> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> th data-bindtext: $root.get_content(mrn)>MRN/th> !-- /ko --> !-- /ko --> /tr> /thead> tbody data-bindforeach: list> tr data-bindclick: function(){$parent.action($data)}> !-- ko if: $root.settings.disable_phi() --> td>span data-bindtext: patientId>/span>/td> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> td> span data-bindtext: fullname>/span> !-- ko if: $root.mobile_view() --> div classhint patient_secondary> !-- ko if: !$root.settings.hide_dob() --> span> strong data-bindtext: $root.get_content(dob)>DOB/strong> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> span> strong data-bindtext: $root.get_content(mrn)>MRN/strong> span data-bindtext: medicalRecordNumber>/span> /span> !-- /ko --> /div> !-- /ko --> /td> !-- /ko --> !-- ko if: !$root.mobile_view() --> !-- ko if: !$root.settings.hide_dob() --> td> !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date(dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: year_of_birth>/span> !-- /ko --> /td> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() --> td>span data-bindtext: medicalRecordNumber>/span>/td> !-- /ko --> !-- /ko --> !-- /ko --> /tr> /tbody> /table> /script> !--------------------------------------------------------- -> template_round_thumb used by home, patient_detail data: eval or wound ------------------------------------------------------------> script typetext/html idtemplate_round_thumb> span classround_thumb data-bindattr:{style: background-image: url( + $data.thumb_src() + )}> !-- ko if: $root.settings.enable_pi_deterioration_risk() --> !-- ko if: $data.pressureDeteriorationRisk && $data.pressureDeteriorationRisk() --> !-- ko if: $data.pressureDeteriorationRisk().bucket medium --> a classicon icon_yellow_alert data-bind click: function(o,e){$root.modal.tooltip(e, $root.get_content(medium_deterioration_risk_tooltip))}, clickBubble: false >/a> !-- /ko --> !-- ko if: $data.pressureDeteriorationRisk().bucket high --> a classicon icon_red_alert data-bind click: function(o,e){$root.modal.tooltip(e, $root.get_content(high_deterioration_risk_tooltip))}, clickBubble: false >/a> !-- /ko --> !-- /ko --> !-- /ko --> /span> /script> !--------------------------------------------------------- -> template_wound_list used by patient_detail data: page: $root.page(), patientId: $root.page().patientId, list: $root.page().encounter_collection.list(), use_custom_etiology: $root.settings.use_custom_etiology(), location_representation_method: $root.settings.location_representation_method() encounter_view: boolean - show evals by date encounter_selector: boolean - show add button on each encounter ------------------------------------------------------------> script typetext/html idtemplate_wound_list> div classpatient_list_wrapper data-binddescendantsComplete: function(){if(page.resize_all_accordions) page.resize_all_accordions()}> table classdisplay clickable selectable patient_list> tbody> !-- ko foreach: list --> tr data-bindcss: {archived: !$data.active()}> !-- ko if: $root.settings.enable_portal_redesign() --> td classcompact lock_cell> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko if: !$root.settings.disable_sign_and_lock() --> !-- ko if: typeof $root.page().is_locked function && $root.page().is_locked($data) --> a classlock locked above_cellink titleAll evaluations for this wound are signed and locked data-bind attr:{ title: $root.get_content(all_evals_locked_msg), href: #pagewound_detail&patientId + $parent.patientId + &woundId + $data.woundId() } >/a> !-- /ko --> !-- ko if: typeof $root.page().is_locked ! function || !$root.page().is_locked($data) --> a classlock hide_inactive>/a> !-- /ko --> !-- /ko --> /td> !-- ko if: !$root.settings.hide_custom_wound_number() --> td classcompact wound_number_cell> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko if: $data.customId() --> span classwound data-bindtext: $data.customId()>/span> !-- /ko --> !-- ko if: !$data.customId() --> !-- ko if: $root.settings.patient_wound_number() --> span classwound data-bindtext: ($data.patientWoundNumber()) ? $data.patientWoundNumber() : >/span> !-- /ko --> !-- ko if: !$root.settings.patient_wound_number() --> !-- ko if: $root.settings.wound_number_scheme() wound_Id --> span classwound data-bindtext: TA- + $data.woundId()>/span> !-- /ko --> !-- /ko --> !-- /ko --> /td> !-- /ko --> !-- /ko --> td classthumb data-bindcss: {compact: $root.settings.enable_portal_redesign()}> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko template: {name: template_round_thumb, data: $data} -->!-- /ko --> /td> td data-bindcss: {compact: $root.settings.enable_portal_redesign()}> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko if: !$root.settings.enable_portal_redesign() --> !-- ko if: !$root.settings.disable_sign_and_lock() --> !-- ko if: typeof $root.page().is_locked function && $root.page().is_locked($data) --> a classlock locked above_cellink titleAll evaluations for this wound are signed and locked data-bind attr:{ title: $root.get_content(all_evals_locked_msg), href: #pagewound_detail&patientId + $parent.patientId + &woundId + $data.woundId() } >/a> !-- /ko --> !-- ko if: typeof $root.page().is_locked ! function || !$root.page().is_locked($data) --> a classlock hide_inactive>/a> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.hide_custom_wound_number() --> !-- ko if: $data.customId() --> span classwound data-bindtext: $data.customId()>/span> !-- /ko --> !-- ko if: !$data.customId() --> !-- ko if: $root.settings.patient_wound_number() --> span classwound data-bindtext: ($data.patientWoundNumber()) ? $data.patientWoundNumber() : >/span> !-- /ko --> !-- ko if: !$root.settings.patient_wound_number() --> !-- ko if: $root.settings.wound_number_scheme() wound_Id --> span classwound data-bindtext: TA- + $data.woundId()>/span> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.wound_status_enabled() && $data.mostRecentEvaluationHealed() --> span classhealed data-bindtext: $root.get_content(healed)>healed/span> !-- /ko --> !-- ko if: $root.tablet_view() --> !-- ko if: $root.settings.etiology_scheme() standard --> div classwound_location hint data-bindtext: $root.org().etiology_id_to_label($data.etiologyId(), $data.etiologyChildren())>/div> !-- /ko --> !-- ko if: $parent.use_custom_etiology --> div classwound_location hint data-bind text: $root.helpers.formatted_woundEtiologySelected($data.woundEtiologySelected()) >/div> !-- /ko --> !-- ko if: !$parent.use_custom_etiology --> !-- ko if: !$root.settings.hide_custom_wound_location() --> div classhint> !-- ko if: $parent.location_representation_method text || $parent.location_representation_method epic --> span classwound_location data-bindtext: $data.text_location_representation()>/span> !-- /ko --> !-- ko if: $parent.location_representation_method ! text && $parent.location_representation_method ! epic --> span classwound_location data-bindtext: $data.obs_location_or_customLocation_with_default()>/span> !-- /ko --> /div> !-- /ko --> !-- ko if: $root.settings.hide_custom_wound_location() && $root.settings.location_representation_method() epic --> div classhint> span classwound_location data-bindtext: $data.text_location_representation()>/span> /div> !-- /ko --> !-- /ko --> !-- ko if: !$parent.encounter_view --> div classwound_summary hint data-bindtext: $data.wound_summary()>/div> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> div classhint> span data-bindtext: $data.woundEvaluationCount() 2 ? $root.get_content(created) : $root.get_content(updated)>/span> span data-bindhtml: $root.page().formatted_date_and_time($data.mostRecentEvaluationDate())>/span> /div> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> !-- ko if: $parent.encounter_view --> div classhint> div data-bindtext: $root.get_content(evaluations) + :>/div> !-- ko foreach: $data.evaluations_archive --> div data-bindhtml: $root.page().formatted_date_and_time($data.created)>/div> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> /td> !-- ko if: !$root.tablet_view() --> !-- ko if: $root.settings.etiology_scheme() standard --> td> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- ko if: $root.settings.wound_status_enabled() && $data.woundStatus() && $data.woundStatus().status HEALED --> span classwound_status healed data-bindtext: $root.get_content(healed)>healed/span> !-- /ko --> span classetiology data-bindtext: $root.org().etiology_id_to_label($data.etiologyId(), $data.etiologyChildren())>/span> /td> !-- /ko --> !-- ko if: $parent.use_custom_etiology --> td> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> span classwound_location data-bind text: $root.helpers.formatted_woundEtiologySelected($data.woundEtiologySelected()) >/span> /td> !-- /ko --> !-- ko if: !$parent.use_custom_etiology --> td classwound_location_cell> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko if: !$root.settings.hide_custom_wound_location() --> !-- ko if: $parent.location_representation_method text || $parent.location_representation_method epic --> span classwound_location data-bindtext: $data.text_location_representation()>/span> !-- /ko --> !-- ko if: $parent.location_representation_method ! text && $parent.location_representation_method ! epic --> span classwound_location data-bindtext: $data.obs_location_or_customLocation_with_default()>/span> !-- /ko --> !-- /ko --> !-- ko if: $root.settings.hide_custom_wound_location() && $root.settings.location_representation_method() epic --> span classwound_location data-bindtext: $data.text_location_representation()>/span> !-- /ko --> /td> !-- /ko --> !-- ko if: !$parent.encounter_view --> td classwound_summary_cell> !-- ko if: !$parent.encounter_selector --> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> span classwound_summary data-bindtext: $data.wound_summary()>/span> /td> !-- /ko --> td classwound_date_cell> !-- ko if: !$parent.encounter_selector--> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> !-- /ko --> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> !-- ko if: !$parent.encounter_view --> span data-bindtext: $data.woundEvaluationCount() 2 ? $root.get_content(created) : $root.get_content(updated)>/span> span data-bindhtml: $root.page().formatted_date_and_time($data.mostRecentEvaluationDate())>/span> !-- /ko --> !-- /ko --> !-- ko if: !$root.page().hide_dates || !$root.page().hide_dates() --> !-- ko if: $parent.encounter_view --> div data-bindtext: $root.get_content(evaluations) + :>/div> !-- ko foreach: $data.evaluations_archive --> div data-bindhtml: $root.page().formatted_date_and_time($data.created)>/div> !-- /ko --> !-- /ko --> !-- /ko --> /td> !-- ko if: $root.settings.show_pdf_links() && $root.settings.full_wound_pdf_feature_toggle() && $root.settings.use_new_report_service() --> td classpdf_cell> a data-bind css: { pdf: !$root.settings.enable_portal_redesign(), icon_nhsg: $root.settings.enable_portal_redesign(), icon_pdf: $root.settings.enable_portal_redesign() }, text: $root.get_content(pdf), attr:{href: #pageevaluation_report&woundId + $data.woundId() + &patientId + $root.page().patient().patientId()} >PDF/a> /td> !-- /ko --> !-- ko if: $data.active() && !$root.page().read_only() && !$root.settings.disable_new_eval() && !$parent.encounter_view --> td classthumb add_new_photo> a classcelllink data-bindattr:{href: $parent.page.celllink($data)}>/a> a classicon above_cellink new_evaluation titleadd new photo data-bind css: { icon_nhsg: $root.settings.enable_portal_redesign() }, attr: { title: $root.get_content(add_new_photo), href: #pagedocumentation&patientId + $parent.patientId + &woundId + $data.woundId() } >/a> /td> !-- /ko --> !-- ko if: !$data.active() --> td classarchived data-bindtext: get_content(archived)>archived/td> !-- /ko --> !-- /ko --> /tr> !-- /ko --> /tbody> /table> /div> /script> !--------------------------------------------------------- -> template_model_selector used by documentation data: model object ------------------------------------------------------------> script typetext/html idtemplate_model_selector> a data-bind css: $data.type + + $data.dir, click:function(){$root.page().set_modelId($data.id)} > img data-bindattr:{src: TA.homunculi_model_path + $data.name + .png} /> /a> /script> !--------------------------------------------------------- -> template_documentation_header used by documentation data: active_patient ------------------------------------------------------------> script typetext/html idtemplate_documentation_header> h2 classdocumentation_header> !-- ko if: $root.settings.disable_phi() --> strong>span data-bindtext: patient.patientId>/span>/strong> !-- /ko --> !-- ko if: !$root.settings.disable_phi() --> !-- ko if: !$root.settings.global_hide_name() --> strong> span classname data-bind css: {inactive: !patient.active()}, html: patient.fullname() + (patient.active() ? : span>( + $root.get_content(inactive) + )/span>) >/span> /strong> !-- /ko --> !-- ko if: $root.settings.global_hide_name() && !$root.settings.hide_mrn() --> strong>span data-bindtext: patient.medicalRecordNumber>/span>/strong> !-- /ko --> div> !-- ko if: !$root.settings.hide_dob() --> span> span classinfo_label data-bindtext: $root.get_content(dob)>DOB/span>: !-- ko if: !$root.settings.dob_year_only() --> span data-bindtext: $root.page().formatted_date(patient.dateOfBirth())>/span> !-- /ko --> !-- ko if: $root.settings.dob_year_only() --> span data-bindtext: patient.year_of_birth()>/span> !-- /ko --> /span> !-- /ko --> !-- ko if: !$root.settings.hide_mrn() && !$root.settings.global_hide_name() -->!-- if name is hidden, MRN will take its place --> span> span classinfo_label data-bindtext: $root.get_content(mrn)>MRN/span>: span data-bindtext: patient.medicalRecordNumber>/span> /span> !-- /ko --> /div> !-- /ko --> !-- ko if: wound.etiology_description() --> div> span> span classinfo_label data-bindtext: $root.settings.etiology_ui_scheme>Etiology/span>: span data-bindtext: wound.etiology_description>/span> /span> /div> !-- /ko --> div data-bindwith: $root.page()> !-- ko if: !hide_dates() --> !-- ko if: visitTypeId() || selected_encounter_visitTypeId() --> span> span classinfo_label data-bindtext: $root.get_content(visit_type)>Visit Type/span>: span data-bindtext: $root.org().encounter_desc_from_id(visitTypeId() || selected_encounter_visitTypeId())>/span> /span> !-- /ko --> !-- /ko --> /div> /h2> /script> !--------------------------------------------------------- -> template_observation_display_row used by wound_detail data: evaluation: model_evaluation map: (org.observationsi aka org observation setup info) patient_ob: boolean, is this a patient question ------------------------------------------------------------> script typetext/html idtemplate_observation_display_row> tr classflexirow> td colspan2 data-bindcss: {missing_required: $root.page().required_observations_missing_values().indexOf(map.obsId()) ! -1}> !-- ko if: $data.patient_ob --> span>em data-bindtext: $root.get_content(from_the_patient_app) + :>From the patient app:/em>/span>br /> !-- /ko --> span data-bind css: {disabled: !map.active()}, text: map.obsLabel() + (map.required() ? * : ) + (map.active() ? : ( + $root.get_content(inactive) + )) >/span> div data-bind css: { text_wrap: map.obsControlTypeLabel() text || map.obsControlTypeLabel() textarea, calendar_wrap: map.obsControlTypeLabel() calendar, select_wrap: map.obsControlTypeLabel() single-select || map.obsControlTypeLabel() multi-select } > !-- ko if: map.obsControlTypeLabel() text --> input typetext data-bind disable: map.obsClassId() 86 || !map.active() || map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || evaluation.read_only(), css: { active: $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _ + map.obsId(), patient_ob: map.obsClassId() 86 }, textInput: evaluation.observationsob_ + map.obsId(), event:{ focus: function(){$root.page().observation_in_edit_mode(text_ob)}, blur: function(){$root.page().observation_in_edit_mode(null)}, keyup: function(data, event){$root.page().observation_change(evaluation, data, event)}, change: function(data, event){$root.page().observation_change(evaluation, data, event)} } /> !-- /ko --> !-- ko if: map.obsControlTypeLabel() textarea --> textarea data-bind disable: map.obsClassId() 86 || !map.active() || map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || evaluation.read_only(), css: { active: $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _ + map.obsId(), patient_ob: map.obsClassId() 86 }, textInput: evaluation.observationsob_ + map.obsId(), event:{ focus: function(){$root.page().observation_in_edit_mode(text_ob)}, blur: function(){$root.page().observation_in_edit_mode(null)}, keyup: function(data, event){$root.page().observation_change(evaluation, data, event)}, change: function(data, event){$root.page().observation_change(evaluation, data, event)} } > /textarea> !-- /ko --> !-- ko if: map.obsControlTypeLabel() single-select --> !-- ko template: {name: template_observation_display_row_single_select, data: {evaluation: evaluation, map: map}} -->!-- /ko --> !-- /ko --> !-- ko if: map.obsControlTypeLabel() multi-select --> div classmultiselect data-bindcss: { checkboxes: $parent.obsList.list().length 5, dropdown: $parent.obsList.list().length > 5 }> !-- ko if: $parent.obsList.list().length > 5 --> div classaccordion_multiselect hot_search data-bind css: {disable: $data.map.obsClassId() 86 || !$data.map.active() || $data.map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || $data.evaluation.read_only()}, click: function(){ if($root.page().active_dropdown() ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()){ $root.page().active_dropdown(null); } else { $root.page().active_dropdown(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()); setTimeout(function(){ document.getElementById(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()).focus(); }, 50); } }, clickBubble: false > div classsummary> !-- ko foreach: $parent.obsList.list --> !-- ko if: $parent.evaluation.observationsob_ + $parent.map.obsId().indexOf($data.obsId()) > -1 --> span classchip> span data-bindtext: $data.obsLabel>/span> span classx data-bind click: function(data, event){ var parentnode $element.parentNode.parentNode; var i $parent.evaluation.observationsob_ + $parent.map.obsId().indexOf($data.obsId()); $parent.evaluation.observationsob_ + $parent.map.obsId().splice(i, 1); $root.page().observation_change($parent.evaluation, $parent, event, parentnode); }, clickBubble: false >×/span> /span> !-- /ko --> !-- /ko --> /div> input classhot_search_input hide_inactive typetext data-bind css: {active: $root.page().active_dropdown() ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()}, attr: { id: ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId(), placeholder: $root.get_content(search) }, textInput: $data.evaluation.observation_searchob_ + $data.map.obsId(), click: function(){ $root.page().active_dropdown(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()); }, event: { keyup: function(data, event){$root.page().ob_search_keyup(data, event, $root.page())} }, clickBubble: false /> a classaccordion_arrow active data-bind>/a> /div> !-- /ko --> div classoptions data-bind css: {active: $root.page().active_dropdown() ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()} > !-- ko foreach: $parent.obsList.list --> !-- ko if: !$parent.evaluation.observation_searchob_ + $parent.map.obsId()() || $data.obsLabel().toLowerCase().indexOf($parent.evaluation.observation_searchob_ + $parent.map.obsId()().toLowerCase()) > -1 --> div> label classcb_label> input typecheckbox data-bind disable: $parent.map.obsClassId() 86 || !$parent.map.active() || $parent.map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || $parent.evaluation.read_only(), value: $data.obsId, checked: $parent.evaluation.observationsob_ + $parent.map.obsId(), event:{change: function(data, event){$root.page().observation_change($parent.evaluation, $parent, event)}} /> span data-bindtext: $data.obsLabel>/span> /label> /div> !-- /ko --> !-- /ko --> div> label classcb_label> span data-bindtext: $root.get_content(no_results_msg)>/span> /label> /div> /div> !-- ko if: !$root.settings.hide_documented_inactive_obs() --> !-- ko foreach: $root.org().raw_observations.list() --> !-- ko if: !$data.active() --> !-- ko if: $data.obsId() $parent.map.obsId() --> !-- ko foreach: $data.obsList.list() --> !-- ko if: $parents1.evaluation.observationsob_ + $parents1.map.obsId()().indexOf($data.obsId()) > -1 --> div> label classcb_label disabled> input typecheckbox data-binddisable: true, value: $data.obsId, checked: true /> span data-bindtext: $data.obsLabel>/span> /label> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $data.active() --> !-- ko if: $data.obsId() $parent.map.obsId() --> !-- ko foreach: $data.obsList.list() --> !-- ko if: !$data.active() --> !-- ko if: $parents1.evaluation.observationsob_ + $parents1.map.obsId()().indexOf($data.obsId()) > -1 --> div> label classcb_label disabled> input typecheckbox data-binddisable: true, value: $data.obsId, checked: true /> span data-bindtext: $data.obsLabel>/span> /label> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /div> !-- /ko --> !-- ko if: map.obsControlTypeLabel() calendar --> span classcalendar_text_field> input typetext data-bind disable: map.obsClassId() 86 || !map.active() || map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || evaluation.read_only(), css: { patient_ob: map.obsClassId() 86 }, textInput: evaluation.observationsformatted_ob_ + map.obsId(), attr: { placeholder: $root.settings.locale_input_date_format() }, event:{ focus: function(obj,event){ if(!$data.read_only){ $root.page().init_ob_calendar(evaluation, map.obsId(), event.target.parentNode); } }, click: function(){} }, clickBubble: false /> !-- ko if: evaluation.observationsob_ + map.obsId()() && map.obsClassId() ! 86 && map.active() --> a data-bindclick: function(obj,event){$root.page().clear_date_field(evaluation, map.obsId(), event.target.parentNode)}>/a> !-- /ko --> /span> !-- /ko --> span classfeedback saving>/span> span classfeedback saved>/span> span classfeedback cds_update data-bindtext: $root.get_content(decision_support_updated)> Decision Support updated /span> /div> /td> /tr> /script> !--------------------------------------------------------- -> OLD______________________template_observation_display_row_single_select used by template_observation_display_row data: evaluation map (org.observationsi aka org observation setup info) childOf (parent ID) ------------------------------------------------------------> script typetext/html idOLD______________________template_observation_display_row_single_select> span> select data-bind disable: map.obsClassId() 86 || !map.active() || map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || evaluation.read_only(), css: { active: $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _ + map.obsId() || ($data.childOf && $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _ + $data.childOf), patient_ob: map.obsClassId() 86 }, options: map.inactive_safe_single_select_obsList(map.obsList.list(), map.obsId(), evaluation.observationsob_ + map.obsId()()), optionsText: obsLabel, optionsValue: obsId, optionsCaption: , value: evaluation.observationsob_ + map.obsId(), event:{change:function(data, event){$root.page().observation_change(evaluation, data, event)}} /> /select> span classfeedback saving>/span> span classfeedback saved> span classcds_update data-bindtext: $root.get_content(decision_support_updated)>Decision Support Updated/span> /span> !-- ko foreach: map.obsList.list() --> !-- ko if: $data.obsList.list().length --> !-- ko if: evaluation.observationsob_ + $parents2.obsId()() --> !-- ko if: evaluation.observationsob_ + $parents2.obsId()() $data.obsId() --> !-- ko template: { name: template_observation_display_row_single_select, data: {evaluation: evaluation, map: $data, childOf: $parents2.obsId()}} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> /span> /script> !--------------------------------------------------------- -> template_observation_display_row_single_select used by template_observation_display_row data: evaluation map (org.observationsi aka org observation setup info) childOf (parent ID) ------------------------------------------------------------> script typetext/html idtemplate_observation_display_row_single_select> div classmultiselect singleselect dropdown> div classaccordion_multiselect hot_search data-bind css: {disable: $data.map.obsClassId() 86 || !$data.map.active() || $data.map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || $data.evaluation.read_only()}, click: function(){ if($data.map.obsClassId() 86 || !$data.map.active() || $data.map.read_only() || ($root.page().read_only && $root.page().read_only()) || $root.user().serena_eval_shuffle() || $data.evaluation.read_only()) return; if($root.page().active_dropdown() ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()){ $root.page().active_dropdown(null); } else { $root.page().active_dropdown(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()); setTimeout(function(){ document.getElementById(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()).focus(); }, 50); } }, clickBubble: false > !-- ko if: Array.isArray(evaluation.observationsob_ + map.obsId()()) --> div classsummary> !-- ko foreach: map.inactive_safe_single_select_obsList(map.obsList.list(), map.obsId(), evaluation.observationsob_ + map.obsId()()) --> !-- ko if: $parent.evaluation.observationsob_ + $parent.map.obsId()().indexOf($data.obsId()) > -1 --> span classchip> span data-bindtext: $data.obsLabel>/span> /span> !-- /ko --> !-- /ko --> /div> !-- /ko --> input classhot_search_input hide_inactive typetext data-bind css: {active: $root.page().active_dropdown() ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()}, attr: { id: ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId(), placeholder: $root.get_content(search) }, textInput: $data.evaluation.observation_searchob_ + $data.map.obsId(), click: function(){ $root.page().active_dropdown(ob_ + $data.map.obsId() + _ + $data.evaluation.woundEvaluationId()); }, event: { keyup: function(data, event){$root.page().ob_search_keyup(data, event, $root.page())} }, clickBubble: false /> a classaccordion_arrow active data-bind>/a> /div> div classoptions data-bindcss: {active: $root.page().active_dropdown() ob_ + map.obsId() + _ + $data.evaluation.woundEvaluationId()}> !-- ko if: !$parent.evaluation.observation_searchob_ + $parent.map.obsId()() --> div> div data-bindclick: function(){ $parent.evaluation.observationsob_ + $parent.map.obsId()(); $root.page().observation_change($parent.evaluation, $parent, event); $root.page().active_dropdown(null); }> span> /span> /div> /div> !-- /ko --> !-- ko foreach: map.inactive_safe_single_select_obsList(map.obsList.list(), map.obsId(), evaluation.observationsob_ + map.obsId()()) --> !-- ko if: !$parent.evaluation.observation_searchob_ + $parent.map.obsId()() || $data.obsLabel().toLowerCase().indexOf($parent.evaluation.observation_searchob_ + $parent.map.obsId()().toLowerCase()) > -1 --> div data-bindcss: {selected: $parent.evaluation.observationsob_ + $parent.map.obsId()() $data.obsId()}> div data-bindclick: function(){ $parent.evaluation.observationsob_ + $parent.map.obsId()($data.obsId()); $root.page().observation_change($parent.evaluation, $parent, event); $root.page().active_dropdown(null); }> span data-bindtext: $data.obsLabel>/span> /div> /div> !-- /ko --> !-- /ko --> div> label classcb_label> span data-bindtext: $root.get_content(no_results_msg)>/span> /label> /div> /div> /div> /script> !--------------------------------------------------------- -> template_observation_display_row_submit_button used by template_observation_display_row data: evaluation obsId: map.obsId() aka org.observationsi.obsId() ------------------------------------------------------------> script typetext/html idtemplate_observation_display_row_submit_button> a classbtn hide_inactive data-bind css: {active: $root.page().observation_in_edit_mode() evaluation.woundEvaluationId() + _ + obsId}, click:function(){$root.page().update_observations(evaluation)}, clickBubble: false >✓/a> /script> !--------------------------------------------------------- -> template_patient_edit_row used by patient_detail this takes this data and formats it a bit to hand off to template_patient_edit_row_actual data: type: title, text, numeric, date, phone, longtext, single-select, height, weight, range, list label: either the title or the field label label_key: content key for the label text (instead of previous option, label) required: includes an asterisk after the label placeholder: placeholder text (for text-ish inputs only) read_only: will disable the field if true css: class name(s) to apply to input element style: css rules for style attribute on input element options: options for a select menu or for a slider (numeric) unit: unit of measurement to include after a numeric field id: key of patient_documentation object to bind to --- OR next field_name: observable name --- OR previous -- added for template_patient_edit_row_actual -- page: root page object patient: active patient object field: observable to bind field_name: observable name ------------------------------------------------------------> script typetext/html idtemplate_patient_edit_row> !-- ko template:{ name: template_patient_edit_row_actual, data: { page: $root.page(), patient: $root.page().patient(), type: $data.type, children: $data.children, label: $data.label, label_key: $data.label_key, required: $data.required, placeholder: $data.placeholder, read_only: $data.read_only, css: $data.css, style: $data.style, options: $data.options, optionsText: $data.optionsText, optionsValue: $data.optionsValue, unit: $data.unit, maps_to: $data.maps_to, secondary_mapping: $data.secondary_mapping, field_name: $data.field_name || $data.id, field: $root.page().patient()$data.field_name || $root.page().patient().documentation$data.id } } -->!-- /ko --> /script> script typetext/html idtemplate_patient_edit_row_actual> !-- ko if: $data.patient.okay_to_display($data.maps_to, $data.field_name, $data.secondary_mapping) --> tr> !-- ko if: $data.type checkbox --> td colspan2> label classcb_label spaced data-bindclick: function(){$data.field(!$data.field())}, style: $data.style> input typecheckbox data-bindchecked: $data.field /> span data-bindtext: $root.get_content($data.label_key) || $data.label>/span> /label> /td> !-- /ko --> !-- ko if: $data.type list --> td> label data-bindvisible: $data.label_key || $data.label> span data-bind css: {required: $data.required || ($data.label && $data.label.indexOf(*) > -1)}, text: ($root.get_content($data.label_key) || $data.label) + ($data.required ? * : ) >/span> /label> /td> td> ul classlist_input> !-- ko foreach: $data.patient.documentation.helper_observables$data.field_name + _list() --> li> input typetext value data-bind textInput: $data, attr: {data-index: $index()}, event: { change: function(value, event){ $parent.patient.documentation.update_list_field($parent.field_name, event, value); document.getElementById(list_input_ + $parent.field_name).focus(); return true; } } /> a classbtn reject data-bind attr: {data-index: $index()}, click: function(field,event){ $parent.patient.documentation.update_list_field($parent.field_name, event, null); }>-/a> /li> !-- /ko --> li> input typetext value data-index-1 placeholdernew entry data-bind css: {error: $data.patient.error_field() $data.field_name}, attr:{id: list_input_ + $data.field_name}, event: { change: function(value, event){ $data.patient.documentation.update_list_field($data.field_name, event, value); return true; }, keydown: function(value, event){ if(event && event.key Enter){ $data.patient.documentation.update_list_field($data.field_name, event, value); return false; } return true; } } /> a classbtn>+/a> /li> /ul> /td> !-- /ko --> !-- ko if: title,checkbox,br,list.indexOf($data.type) -1 --> td data-bind css: { required: $data.required || ($data.label && $data.label.indexOf(*) > -1), error: $data.field_name && $data.patient.error_field() $data.field_name }, visible: $data.label_key || $data.label, text: $root.settings.enable_portal_redesign() ? ($root.get_content($data.label_key) || $data.label).replace(*,) : ($root.get_content($data.label_key) || $data.label) >/td> td data-bind css: {error: $data.field_name && $data.patient.error_field() $data.field_name}, event:{ keyup: function(value, event){ if(event.key ! Enter && $data.patient.error_field() $data.field_name) $data.patient.error_field(null); }} > !-- ko if: $data.type text --> input typetext data-bind disable: $data.read_only, textInput: $data.field, style: $data.style, attr:{placeholder: $data.placeholder || } /> !-- /ko --> !-- ko if: $data.type numeric --> input typenumber data-bind disable: $data.read_only, textInput: $data.field, style: $data.style, attr:{placeholder: $data.placeholder || } /> !-- ko if: $data.unit --> span data-bindtext: $data.unit>/span> !-- /ko --> !-- /ko --> !-- ko if: $data.type date --> input typetext data-bind textInput: $data.field, style: $data.style, attr: {placeholder: $root.settings.locale_input_date_format().toLowerCase()}, event:{ focus: function(obj,event){ if(!$data.read_only){ if(!$data.patient$data.field_name + _calendar_input.active()) event.target.blur(); $data.patient$data.field_name + _calendar_input.toggle_calendar(obj,event); } }, click: function(){} }, clickBubble: false /> span classhint data-bindtext: $root.settings.locale_input_date_format()>/span> !-- /ko --> !-- ko if: $data.type phone --> !-- ko if: $data.maps_to ! phone --> input typetext inputmodetel data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observablesformatted_ + $data.field_name, style: $data.style, attr:{placeholder: $data.placeholder || } /> !-- /ko --> !-- ko if: $data.maps_to phone --> input typetext inputmodetel data-bind disable: $data.read_only, textInput: $data.patient.formatted_phone, style: $data.style, attr:{placeholder: $data.placeholder || } /> !-- /ko --> !-- /ko --> !-- ko if: $data.type longtext --> textarea data-bind disable: $data.read_only, textInput: $data.field, attr:{placeholder: $data.placeholder || }, style: $data.style, css: $data.css >/textarea> !-- /ko --> !-- ko if: $data.type single-select && !$data.optionsText --> select data-bind disable: $data.read_only, options: $data.options, value: $data.field, style: $data.style >/select> !-- /ko --> !-- ko if: $data.type single-select && $data.optionsText && $data.optionsValue --> select data-bind disable: $data.read_only, options: $data.options, optionsText: $data.optionsText, optionsValue: $data.optionsValue, value: $data.field, style: $data.style >/select> !-- /ko --> !-- ko if: $data.type boolean-single-select --> select data-bind disable: $data.read_only, options: $root.get_content(unspecified),$root.get_content(yes),$root.get_content(no), value: $data.patient.documentation.helper_observables$data.field_name + _select, style: $data.style >/select> !-- /ko --> !-- ko if: $data.type multi-select --> div classmultiselect> !-- ko foreach: $data.options --> div> label classcb_label> input typecheckbox data-bind disable: $parent.read_only, value: $data, checked: $parent.field, style: $data.style /> span data-bindtext: $data>/span> /label> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: $data.type height --> input typenumber min0 max272 data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observables$data.field_name + _cm || $data.patient$data.field_name + _cm, event: { focus: function(){$data.patient.data_field_focus $data.field_name + _cm}, blur: function(){$data.patient.data_field_focus null} } /> cm !-- ko if: !$root.settings.hide_imperial_units() --> / span classmobile_block> input typenumber min0 max8 data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observables$data.field_name + _ft || $data.patient$data.field_name + _ft, event: { focus: function(){$data.patient.data_field_focus $data.field_name + _ft}, blur: function(){$data.patient.data_field_focus null} } /> ft input typenumber min0 max11 data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observables$data.field_name + _in || $data.patient$data.field_name + _in, event: { focus: function(){$data.patient.data_field_focus $data.field_name + _in}, blur: function(){$data.patient.data_field_focus null} } /> in /span> !-- /ko --> !-- /ko --> !-- ko if: $data.type weight --> input typenumber min0 max650 data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observables$data.field_name + _kg || $data.patient$data.field_name + _kg, event: { focus: function(){$data.patient.data_field_focus $data.field_name + _kg}, blur: function(){$data.patient.data_field_focus null} } /> kg !-- ko if: !$root.settings.hide_imperial_units() --> / input typenumber min0 max1433 data-bind disable: $data.read_only, textInput: $data.patient.documentation.helper_observables$data.field_name + _lb || $data.patient$data.field_name + _lb, event: { focus: function(){$data.patient.data_field_focus $data.field_name + _lb}, blur: function(){$data.patient.data_field_focus null} } /> lb !-- /ko --> !-- /ko --> !-- ko if: $data.type range --> div classrange> div classrange_legend> !-- ko foreach: $data.options --> a data-bind text: $data, css: {active: $parent.field() > $index()+1}, click: function(){ var n $index()+1; if(n 1 && $parent.field() 1) n 0; $parent.field(n); }, event: { mouseover: function(){ if($parent.patient$parent.field_name + _hover){ $parent.patient$parent.field_name + _hover($index()+1); } else if($parent.patient.documentation.helper_observables$parent.field_name + _hover){ $parent.patient.documentation.helper_observables$parent.field_name + _hover($index() + 1); } } } >/a> !-- /ko --> /div> div classrange_slider_wrapper> div classrange_slider data-bindstyle:{ width: (($data.field() * 10) - (($data.field() > 0 && $data.field() 10) ? 5 : 0)) + %}>/div> div classhover_range_slider data-bindstyle:{ width: (( $data.patient$data.field_name + _hover) ? ( ($data.patient$data.field_name+_hover() * 10) - (($data.patient$data.field_name+_hover() > 0 && $data.patient$data.field_name+_hover() 10) ? 5 : 0) ) : ( ($data.patient.documentation.helper_observables$data.field_name+_hover() * 10) - ( ( $data.patient.documentation.helper_observables$data.field_name+_hover() > 0 && $data.patient.documentation.helper_observables$data.field_name+_hover() 10 ) ? 5 : 0 ) ) ) + % }>/div> /div> /div> !-- /ko --> !-- ko if: $data.type group --> !-- ko if: $data.children --> table classpatient_edit_row_group> tbody> !-- ko foreach: $data.children --> !-- ko template:{name: template_patient_edit_row, data: $data} -->!-- /ko --> !-- /ko --> /tbody> /table> !-- /ko --> !-- /ko --> /td> !-- /ko --> /tr> !-- /ko --> /script> !--------------------------------------------------------- -> range_slider: global data: value: number options: numeric value options field: observable to bind hover_field: observable to use for mouse hover feedback ------------------------------------------------------------> script typetext/html idrange_slider> div classrange> div classrange_legend> !-- ko foreach: $data.options --> a data-bind text: $data, css: {active: $parent.field() > $index()+1}, event: { mouseup: function(){ var n $index()+1; $parent.field(n * 10); }, mouseover: function(){ $parent.hover_field($index()+1); } } >/a> !-- /ko --> /div> div classrange_slider_wrapper> div classrange_slider data-bindstyle:{ width: ((field()) - ((field() > 0 && field() 100) ? 5 : 0)) + %} >/div> div classhover_range_slider data-bindstyle:{ width: ((hover_field() * 10) - ((hover_field() > 0 && hover_field() 10) ? 5 : 0)) + % }>/div> /div> /div> /script> !--------------------------------------------------------- -> template_number: global data: is_approximate: boolean (triggers tilda) value: number to_fixed: integer, use this precision sign: boolean, include +/- sign prefix: string suffix: string editable: boolean on_click: function on_save: function edit_link: string ------------------------------------------------------------> script typetext/html idtemplate_number> !-- ko if: !$data.editable && !$data.edit_link --> span data-bind text: (!value && value ! 0) ? - : ( ($data.is_approximate ? ~ : ) + ((typeof prefix string) ? prefix : ) + ((typeof sign ! undefined && sign && value > 0) ? + : ) + ((typeof to_fixed ! undefined && to_fixed && value) ? value.toFixed(to_fixed).toLocaleString() : value.toLocaleString()) + ((typeof suffix string) ? suffix : ) ) >/span> !-- /ko --> !-- ko if: $data.edit_link --> !-- ko if: $data.prefix --> span data-bindtext: prefix>/span> !-- /ko --> a classinline_editable data-bind text: (!value && value ! 0) ? - : ( ($data.is_approximate ? ~ : ) + ((typeof sign ! undefined && sign && value > 0) ? + : ) + ((typeof to_fixed ! undefined && to_fixed && value) ? value.toFixed(to_fixed).toLocaleString() : value.toLocaleString()) ), attr: {href: $data.edit_link}, click: function(){return true}, clickBubble: false > /a> !-- ko if: $data.suffix --> span data-bindtext: suffix>/span> !-- /ko --> !-- /ko --> !-- ko if: $data.editable && $data.on_click && typeof $data.on_click function --> !-- ko if: $data.prefix --> span data-bindtext: prefix>/span> !-- /ko --> span classinline_editable data-bind click: function(ctx,event){$data.on_click(event)}, clickBubble: false > span classinline_editor data-bind text: (!value && value ! 0) ? : ( ($data.is_approximate ? ~ : ) + ((typeof sign ! undefined && sign && value > 0) ? + : ) + ((typeof to_fixed ! undefined && to_fixed && value) ? value.toFixed(to_fixed).toLocaleString() : value.toLocaleString()) ) >/span> /span> !-- ko if: $data.suffix --> span data-bindtext: suffix>/span> !-- /ko --> !-- /ko --> !-- ko if: $data.editable && $data.on_save --> !-- ko if: $data.prefix --> span data-bindtext: prefix>/span> !-- /ko --> span classinline_editable> input typetext classinline_editor data-bind textInput: (!value && value ! 0) ? : ( ($data.is_approximate ? ~ : ) + ((typeof sign ! undefined && sign && value > 0) ? + : ) + ((typeof to_fixed ! undefined && to_fixed && value) ? value.toFixed(to_fixed).toLocaleString() : value.toLocaleString()) ), event: {change: function(ctx,event){if(typeof $data.on_save function) $data.on_save(event)}} /> /span> !-- ko if: $data.suffix --> span data-bindtext: suffix>/span> !-- /ko --> !-- /ko --> /script> !--------------------------------------------------------- -> template_percent: global data: value: number is_approximate: boolean prefix: string to_fixed: integer, use this precision sign: boolean, include +/- sign editable: boolean on_save: function no_default_to_0: boolean ------------------------------------------------------------> script typetext/html idtemplate_percent> !-- ko template:{ name: template_number, data: { is_approximate: $data.is_approximate, value: $root.page().round_percent(value, $data.no_default_to_0), to_fixed: (typeof to_fixed ! undefined) ? to_fixed : undefined, sign: (typeof sign ! undefined && sign), prefix: $data.prefix, suffix: %, editable: $data.editable, on_save: $data.on_save, edit_link: $data.edit_link } } -->!-- /ko --> /script> !--------------------------------------------------------- -> template_cm: global data: value: number is_approximate: boolean prefix: string to_fixed: integer, use this precision sign: boolean, include +/- sign editable: boolean on_click: function on_save: function no_default_to_0: boolean ------------------------------------------------------------> script typetext/html idtemplate_cm> !-- ko template:{ name: template_number, data: { is_approximate: $data.is_approximate, value: $root.page().round_cm(value, $data.no_default_to_0), to_fixed: (typeof to_fixed ! undefined) ? to_fixed : undefined, sign: (typeof sign ! undefined && sign), prefix: $data.prefix, suffix: cm\u00A0, editable: $data.editable, on_click: $data.on_click, on_save: $data.on_save, edit_link: $data.edit_link } } -->!-- /ko --> /script> !--------------------------------------------------------- -> template_cm2: global data: value: number is_approximate: boolean prefix: string to_fixed: integer, use this precision sign: boolean, include +/- sign editable: boolean on_click: function on_save: function no_default_to_0: boolean ------------------------------------------------------------> script typetext/html idtemplate_cm2> !-- ko template:{ name: template_number, data: { is_approximate: $data.is_approximate, value: $root.page().round_cm(value, $data.no_default_to_0), to_fixed: (typeof to_fixed ! undefined) ? to_fixed : undefined, sign: (typeof sign ! undefined && sign), prefix: $data.prefix, suffix: cm\u00B2, editable: $data.editable, on_click: $data.on_click, on_save: $data.on_save, edit_link: $data.edit_link } } -->!-- /ko --> /script> !--------------------------------------------------------- -> template_cm3: global data: value: number is_approximate: boolean prefix: string to_fixed: integer, use this precision sign: boolean, include +/- sign editable: boolean on_click: function on_save: function no_default_to_0: boolean ------------------------------------------------------------> script typetext/html idtemplate_cm3> !-- ko template:{ name: template_number, data: { is_approximate: $data.is_approximate, value: $root.page().round_cm(value, $data.no_default_to_0), to_fixed: (typeof to_fixed ! undefined) ? to_fixed : undefined, sign: (typeof sign ! undefined && sign), prefix: $data.prefix, suffix: cm\u00B3, editable: $data.editable, on_click: $data.on_click, on_save: $data.on_save, edit_link: $data.edit_link } } -->!-- /ko --> /script> !--------------------------------------------------------- -> template_patient_head_direction_indicator data: evaluation ------------------------------------------------------------> script typetext/html idtemplate_patient_head_direction_indicator> !-- ko if: $root.settings.patient_head_direction_indicator() --> div classicon_patient_head_direction_indicator data-bind css: {active: $root.page().active_patient_head_direction_indicator() evaluation.woundEvaluationId()}, style: {transform: rotate( + evaluation.preview_patientHeadDirection() + deg)}, event: { mouseenter: function(o,e){ var position {clientX: e.clientX - 40, clientY: e.clientY + 30}; var msg_key icon_patient_head_direction_indicator_title; if(page().active_evaluation().read_only() && !$root.is_nhwc()){ msg_key icon_patient_head_direction_indicator_title_locked; } $root.modal.tooltip(position, $root.get_content(msg_key)) }, mouseleave: function(){$root.modal.tooltip_msg(null)} }, click: function(){ if(!$root.page().active_evaluation().read_only() || $root.is_nhwc()){ if($root.page().active_patient_head_direction_indicator() ! evaluation.woundEvaluationId()){ $root.page().active_patient_head_direction_indicator(evaluation.woundEvaluationId()); } } }, clickBubble: false > /div> !-- /ko --> /script> !--------------------------------------------------------- -> template_dot_tool used by tracy data: view_model_dot_tool ------------------------------------------------------------> script typetext/html idtemplate_dot_tool> div idtracy_dot_tool data-bind visible: ready, style:{top: y() + px, left: x() + px, width: width() + px, height: height() + px, transform: rotate( + rotation() + rad)} > div idtracy_dot_tool_dot data-bind event:{ mousedown: function(){dragging(true)}, touchstart: function(){dragging(true)}, mouseup: function(){dragging(false)}, touchend: function(){dragging(false)}, touchcancel: function(){dragging(false)} } >/div> div classedge idtracy_dot_tool_top data-bind event:{ mousedown: function(){resize_handle(n);resizing(true)}, touchstart: function(){resize_handle(n);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classedge idtracy_dot_tool_bottom data-bind event:{ mousedown: function(){resize_handle(s);resizing(true)}, touchstart: function(){resize_handle(s);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classedge idtracy_dot_tool_left data-bind event:{ mousedown: function(){resize_handle(w);resizing(true)}, touchstart: function(){resize_handle(w);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classedge idtracy_dot_tool_right data-bind event:{ mousedown: function(){resize_handle(e);resizing(true)}, touchstart: function(){resize_handle(e);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classcorner idtracy_dot_tool_top_left data-bind event:{ mousedown: function(){resize_handle(nw);resizing(true)}, touchstart: function(){resize_handle(nw);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classcorner idtracy_dot_tool_top_right data-bind event:{ mousedown: function(){resize_handle(ne);resizing(true)}, touchstart: function(){resize_handle(ne);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classcorner idtracy_dot_tool_bottom_left data-bind event:{ mousedown: function(){resize_handle(sw);resizing(true)}, touchstart: function(){resize_handle(sw);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> div classcorner idtracy_dot_tool_bottom_right data-bind event:{ mousedown: function(){resize_handle(se);resizing(true)}, touchstart: function(){resize_handle(se);resizing(true)}, mouseup: function(){resizing(false)}, touchend: function(){resizing(false)}, touchcancel: function(){resizing(false)} } >/div> !-- ko if: show_rotator() --> div classrotator idtracy_dot_tool_rotator data-bind event:{ mousedown: function(){resize_handle(rotate);rotating(true)}, touchstart: function(){resize_handle(rotate);rotating(true)} } >/div> !-- /ko --> /div> /script> !--------------------------------------------------------- -> template_time_input: global data: view_model_time_input ------------------------------------------------------------> script typetext/html idtemplate_time_input> span classtime_input> !-- ko if: disabled --> span data-bindtext: selected_hour>/span>:span data-bindtext: selected_minute>/span> span data-bindtext: selected_ampm>/span> !-- /ko --> !-- ko if: !disabled() --> select data-bindoptions: hour_options, value: selected_hour>/select>: select data-bindoptions: minute_options, value: selected_minute>/select> select data-bindoptions: ampm_options, value: selected_ampm>/select> !-- /ko --> /span> /script> !--------------------------------------------------------- -> template_facility_filter: global data: parent, user ------------------------------------------------------------> script typetext/html idtemplate_facility_filter> !-- ko if: user.facilityList().length > 1 || (user.facilityList()0 && user.facilityList()0.departmentList.length > 1) --> div classaccordion_multiselect facility_menu hot_search data-bind attr: {id: $data.menu_id || null}, css: { active: parent.facility_filter_active, single_facility: user.facilityList().length 1 }, click: function(){parent.facility_filter_active(!parent.facility_filter_active())}, clickBubble: false > input classhot_search_input typetext data-bind textInput: parent.facility_filter_search, click: function(){parent.facility_filter_active(true)}, clickBubble: false /> !-- ko if: parent.facility_filter_search && !parent.facility_filter_search() --> span classplaceholder data-bindtext: parent.facility_filter_label>/span> !-- /ko --> a classaccordion_arrow active titlefilter by facility and department data-bind attr: {title: $root.get_content(filter_by_facility_and_dept)}, click: function(){parent.facility_filter_active(!parent.facility_filter_active())}, clickBubble: false >/a> ul idfacility_list classaccordion data-bind attr: {id: $data.list_id || null}, style: { maxHeight: parent.facility_filter_active() ? Math.min($element.scrollHeight, $root.window_height() - 220) + px : 0px, overflow: parent.facility_filter_active() ? auto : hidden }, click: function(){}, clickBubble: false > !-- ko foreach: user.filtered_facility_list(parent.facility_filter_search()) --> !-- ko if: facilityName ! Global --> li> !-- ko if: $root.user().facilityList().length > 1 --> label classcb_label data-bindclick: function(){$parent.parent.update_facility_filter($data, true)}> span data-bindtext: facilityName>/span> /label> !-- /ko --> ul> !-- ko foreach: $data.departmentList --> li> label classcb_label data-bindclick: function(){$parents1.parent.update_facility_filter($data)}> input typecheckbox data-bindchecked: $parents1.parent.facility_filter().indexOf(departmentId) ! -1 /> span data-bindtext: departmentName>/span> /label> /li> !-- /ko --> /ul> /li> !-- /ko --> !-- /ko --> /ul> /div> !-- /ko --> /script> !--------------------------------------------------------- -> template_evaluation_formularies: wound_detail, evaluation_detail data: use_recs: !$root.settings.disable_formulary_recommendations() isolate_recs: $root.settings.isolate_formulary_recommendations() page: $root.page() edit_mode_match: string to match to activate evaluation: evaluation to apply changes to hide_patient_obs: only show provider obs include_archive_controls: boolean, include archive controls ------------------------------------------------------------> script typetext/html idtemplate_evaluation_formularies> !-- ko if: $root.settings.enable_portal_redesign() --> h3 data-bindtext: $root.get_content(documentation)>Documentation/h3> !-- /ko --> div classobservations_scroller> table classdisplay compact editable> tbody> !-- ko foreach: $root.org().observations.list() --> !-- ko if: !$parent.hide_patient_obs && $data.obsClassId() 86 && $data.is_visible($parent.evaluation) --> !-- ko if: !$root.settings.visit_based_obs() || $parent.evaluation.visit_observations().indexOf(String($data.obsId())) > -1 --> !-- ko template: {name: template_observation_display_row, data: { evaluation: $parent.evaluation, map: $data, patient_ob: true }} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko foreach: $root.org().observations.list() --> !-- ko if: $data.obsClassId() ! 86 && $data.is_visible($parent.evaluation) --> !-- ko if: !$root.settings.visit_based_obs() || $parent.evaluation.visit_observations().indexOf(String($data.obsId())) > -1 --> !-- ko template: {name: template_observation_display_row, data: { evaluation: $parent.evaluation, map: $data }} -->!-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: !$root.settings.disable_formularies() --> !-- ko if: !$root.settings.enable_portal_redesign() --> tr> td data-bindtext: $root.get_content(formularies)>Formularies/td> td classwrap formularies_list data-bind css: {active: !page.read_only() && !evaluation.read_only()}, click: function(){if(!evaluation.read_only()) page.observation_in_edit_mode(edit_mode_match)} > div data-bindtext: evaluation.formulary_list>/div> !-- ko if: use_recs && !evaluation.analysisPending_messages().length --> button data-bindtext: $root.get_content(clinical_decision_support)>Clinical Decision Support/button> !-- /ko --> /td> /tr> !-- /ko --> !-- ko if: $root.settings.enable_portal_redesign() --> tr> td colspan2> span data-bindtext: $root.get_content(formularies)>Formularies/span> div classwrap formularies_list data-bind css: {active: !page.read_only() && !evaluation.read_only()}, click: function(){if(!evaluation.read_only()) page.observation_in_edit_mode(edit_mode_match)} > !-- ko if: evaluation.formulary_list() $root.get_content(add_formularies) --> a classlink data-bindtext: evaluation.formulary_list>/a> !-- /ko --> !-- ko if: evaluation.formulary_list() ! $root.get_content(add_formularies) --> div data-bindtext: evaluation.formulary_list>/div> !-- /ko --> !-- ko if: use_recs && !evaluation.analysisPending_messages().length --> button data-bindtext: $root.get_content(clinical_decision_support)>Clinical Decision Support/button> !-- /ko --> /div> /td> /tr> !-- /ko --> !-- /ko --> /tbody> /table> !-- ko if: $root.settings.enable_wound_page_redesign() --> !--------------------------------------------------------- -> notes ------------------------------------------------------------> !-- ko if: !$root.settings.disable_notes() --> !-- ko if: $root.page().show_notes() on --> section idpatient_notes classnotes data-bindwith: $root.page().active_wound()> !-- ko template:{name: template_notes_list} -->!-- /ko --> /section> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: $data.include_archive_controls --> !-- ko if: !$root.page().nhwc_wound_view() --> !-- ko if: $root.user().has_any_role(archive_admin,ta_admin) --> div classarchive_controls data-bindwith: $root.page()> !-- ko if: active_evaluation().active() --> a classbtn thin danger archive data-bind text: $root.get_content(archive_this_evaluation), click: function(){$root.page().mark_evaluation_inactive(active_evaluation())} >archive this evaluation/a> !-- /ko --> !-- ko if: !active_evaluation().active() --> a classbtn thin warn archive data-bind text: $root.get_content(reactivate_this_evaluation), click: function(){$root.page().mark_evaluation_active(active_evaluation())} >reactivate this evaluation/a> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> /div> div classformulary_edit_wrapper data-bind css: {active: page.observation_in_edit_mode() edit_mode_match}, click: function(){ page.observation_in_edit_mode(null); page.update_observations(evaluation); }, clickBubble: false > div classformulary_edit data-bindcss: {recommendations_active: use_recs}, click:function(){}, clickBubble: false> a classclose_popup data-bind click:function(){ page.observation_in_edit_mode(null); page.update_observations(evaluation); }, clickBubble: false >/a> h1> span data-bindtext: $root.get_content(edit_formularies_for)>Edit Formularies for/span> span data-bindtext:page.formatted_date(evaluation.created())>/span> /h1> !-- ko if: !evaluation.cds_info_dismissed() && (evaluation.cds_products().length || evaluation.cds_considerations().length) --> div classcds_info> !-- ko if: evaluation.cds_products().length --> h3 data-bindtext: $root.get_content(products)>Products/h3> p data-bindtext: $root.get_content(product_recomendation_msg) + :> Based on your wound documentation, the following product properties are relevant: /p> ul> !-- ko foreach: evaluation.cds_products --> li> a data-bind text: $data.label, click: function(){ $root.modal.title($data.label); $root.modal.message($data.description); } >/a> /li> !-- /ko --> /ul> !-- /ko --> !-- ko if: evaluation.cds_considerations().length --> h3 data-bindtext: $root.get_content(considerations)>Considerations/h3> p data-bindtext: $root.get_content(considerations_msg) + :>You may want to consider the following:/p> ul> !-- ko foreach: evaluation.cds_considerations --> li> a data-bind text: $data.label, click: function(){ $root.modal.title($data.label); $root.modal.message($data.description); } >/a> /li> !-- /ko --> /ul> !-- /ko --> p classbtn_row> button data-bind text: $root.get_content(continue), attr: {title: $root.get_content(continue)}, click: function(){evaluation.cds_info_dismissed(true)} >Continue/button> /p> /div> !-- /ko --> !-- ko if: evaluation.cds_info_dismissed() || (!evaluation.cds_products().length && !evaluation.cds_considerations().length) --> !-- ko if: use_recs && !isolate_recs --> h2 classlowercase data-bindtext: * + $root.get_content(recommended)>* recommended/h2> !-- /ko --> !-- ko if: use_recs && isolate_recs --> nav classtabs> h1 classtab data-bind text: $root.get_content(recommended), attr: {title: $root.get_content(recommended)}, css: {active: page.recommended_formulary_tab_active()}, click: function(){page.recommended_formulary_tab_active(true)} > Recommended /h1> h1 classtab data-bind text: $root.get_content(non_recommended), attr: {title: $root.get_content(non_recommended)}, css: {active: !page.recommended_formulary_tab_active()}, click: function(){page.recommended_formulary_tab_active(false)} > Non Recommended /h1> /nav> div data-bindcss: {tab_content: use_recs && isolate_recs, active: page.recommended_formulary_tab_active()}> !-- ko if: evaluation.recommendedFormularyCategoryIds().length --> !-- ko foreach: $root.org().formularyCategories.inactive_safe_single_select_formularyCategoryList(evaluation.selectedFormulary()) --> !-- ko if: $parent.evaluation.recommendedFormularyCategoryIds().indexOf($data.categoryId()) ! -1 --> div classformularyCategory> h3 classrecommended data-bindtext: $data.categoryDesc>/h3> !-- ko foreach: $data.formularies.inactive_safe_single_select_formularyList($parent.evaluation.selectedFormulary()) --> div> input typecheckbox data-bind value: $data.dressingId, checked: $parents1.evaluation.selectedFormulary() /> label data-bind css: {active: $parents1.page.active_evaluation().selectedFormulary().indexOf($data.dressingId()) ! -1}, click: function(){$parents1.page.active_evaluation().toggle_formulary($data.dressingId())} > span data-bindtext: $data.dressingDesc>/span> /label> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- ko if: evaluation.recommendedDressings().length --> div classformularyCategory recommendations> !-- ko foreach: evaluation.recommendedDressings() --> div> input typecheckbox data-bind value: $data, checked: $parents1.evaluation.selectedFormulary() /> label classrecommended data-bind css: {active: $parents1.evaluation.selectedFormulary().indexOf($data) ! -1}, click: function(){ $parents1.evaluation.toggle_formulary($data)} > !-- placeholder - not currently used --> span data-bindtext: formularyId + $data>/span> /label> /div> !-- /ko --> /div> !-- /ko --> !-- ko if: !evaluation.recommendedFormularyCategoryIds().length && !evaluation.recommendedDressings().length --> p data-bindtext: $root.get_content(no_recommendations_found)>No recommendations found/p> !-- /ko --> /div> !-- /ko --> div data-bindcss: {tab_content: use_recs && isolate_recs, active: !page.recommended_formulary_tab_active()}> !-- ko foreach: $root.org().formularyCategories.inactive_safe_single_select_formularyCategoryList(evaluation.selectedFormulary()) --> !-- ko if: !$parent.isolate_recs || $parent.evaluation.recommendedFormularyCategoryIds().indexOf($data.categoryId()) -1 --> div classformularyCategory> h3 data-bind css: {recommended: $parent.use_recs && $parent.evaluation.recommendedFormularyCategoryIds().indexOf($data.categoryId()) ! -1}, text: $data.categoryDesc >/h3> !-- ko foreach: $data.formularies.inactive_safe_single_select_formularyList($parent.evaluation.selectedFormulary()) --> div data-bindcss: {inactive: !$data.active() || !$parent.active()}> input typecheckbox data-bind disable: !$data.active() || !$parent.active(), value: $data.dressingId, checked: $parents1.evaluation.selectedFormulary() /> label data-bind css: { active: $parents1.evaluation.selectedFormulary().indexOf($data.dressingId()) ! -1, recommended: $parents1.evaluation.recommendedDressings().indexOf($data.dressingId()) ! -1 }, click: function(){ if($data.active() && $parent.active()){ $parents1.evaluation.toggle_formulary($data.dressingId()); } } > span data-bindtext: $data.dressingDesc>/span> /label> /div> !-- /ko --> /div> !-- /ko --> !-- /ko --> /div> !-- /ko --> /div> /div> /script> !--------------------------------------------------------- -> template_cookie_policy: gatekeeper, user_detail data: use_recs: !$root.settings.disable_formulary_recommendations() isolate_recs: $root.settings.isolate_formulary_recommendations() page: $root.page() edit_mode_match: string to match to activate evaluation: evaluation to apply changes to hide_patient_obs: only show provider obs ------------------------------------------------------------> script typetext/html idtemplate_cookie_policy> div data-bindwith: $root.user().cookie_policy> span data-bindtext: get_content(cookie_intro)>Tissue Analytics uses three types of cookies/span>: ul> li> strong data-bindtext: get_content(first_party_cookies) + :>First-party cookies:/strong> span data-bindtext: get_content(first_party_required_cookie_desc)> visible only to us - for strong>authentication/strong> access control. These cookies are critical to the sites functionality and are required for portal access. /span> /li> li> label classcb_label data-bindclick: function(){allow_first_party_cookies(!allow_first_party_cookies())}> input typecheckbox data-bindchecked: allow_first_party_cookies /> strong data-bindtext: get_content(first_party_cookies) + :>First-party cookies:/strong> /label> span data-bindtext: get_content(first_party_optional_cookie_desc)> visible only to us - for user preferences and view state. /span> /li> li> label classcb_label data-bindclick: function(){allow_third_party_cookies(!allow_third_party_cookies())}> input typecheckbox data-bindchecked: allow_third_party_cookies /> strong data-bindtext: get_content(third_party_cookies) + :>Third-party cookies:/strong> /label> span data-bindtext: get_content(third_party_cookie_desc)> visible only to us and the origin service - for anonymous usage analytics data and the Tissue Analytics support chat feature. /span> /li> li> strong data-bindtext: get_content(tracking_cookie_desc)> We do not use any tracking, personal information, or advertising related cookies. /strong> /li> /ul> /div> /script> /div> !--------------------------------------------------------- -> camera_input ------------------------------------------------------------> !-- ko with: $root.camera --> div idcamera_input data-bindcss: {active: active}> div idcamera_wrapper classcamera data-bindcss: {ready: ready, preview_photo: preview_mode() photo}>/div> div classflash_effect data-bindcss: {active: flash_effect}>/div> div classcamera_overlay data-bind css: {active: show_overlay() && overlay_img()}, event: { mousemove: function(data, event){alpha_drag(event)}, touchmove: function(data, event){alpha_drag(event)}, mouseup: function(){alpha_dragging(false)}, touchend: function(){alpha_dragging(false)}, touchcancel: function(){alpha_dragging(false)}, mouseleave: function(){alpha_dragging(false)} }> div classcamera_overlay_img data-bindstyle: { opacity: overlay_alpha(), backgroundImage: url( + overlay_img() + ) }>/div> div idoverlay_alpha_control classoverlay_alpha_control data-bindevent: { mousedown: function(data, event){alpha_drag(event, true)}, touchstart: function(data, event){alpha_drag(event, true)} }> div classoverlay_alpha data-bind css: {active: alpha_dragging}, style: {width: (overlay_alpha() * 100) + %} > /div> /div> /div> div classcamera_controls data-bindcss: {active: camera_mode() photo}> a classcancel_camera_btn data-bindclick: cancel_camera>/a> a classphoto_shutter_btn data-bindclick: take_photo>/a> a classphoto_overlay_btn data-bindclick: function(){toggle_overlay()}>/a> !-- ko if: (has_front_camera() && has_rear_camera()) --> !--a classcamera_flip_btn data-bindclick: function(){flip_camera()}>/a>--> !-- /ko --> /div> div classcamera_controls data-bindcss: {active: camera_mode() video, recording: recording}> div classrecording_indicator>/div> a classvideo_record_btn data-bindclick: record_video>/a> /div> div classcamera_controls preview_mode_photo data-bindcss: {active: preview_mode() photo}> a classbtn data-bind text: $root.get_content(retake), click: function(){camera_mode(photo)} >Retake/a> a classbtn data-bind text: $root.get_content(continue), click: save >Continue/a> !-- ko if: $root.settings.enable_auto_depth() --> a classthree_d_video_btn data-bind text: $root.get_content(3d_video), click: function(){ $root.page().include_video(true); save(); } >3D Video/a> !-- /ko --> /div> div classcamera_controls preview_mode_replay data-bindcss: {active: preview_mode() video}> a classbtn data-bind text: $root.get_content(reset), click: function(){camera_mode(video)} >reset/a> a classbtn data-bind text: $root.get_content(continue), click: save >continue/a> /div> div idcamera_debug data-bindtext: error_msg>/div> /div> !-- /ko --> !--------------------------------------------------------- -> calendar_input -- template for calendar control and floating calendar date picker ------------------------------------------------------------> !--------------------------------------------------------- -> template_calendar_input: global data: view_model_calendar_input ------------------------------------------------------------> script typetext/html idtemplate_calendar_input> span classcalendar_input_display_wrapper data-bindcss: {month_picker: settings.month_picker}> !-- ko if: $root.settings.enable_portal_redesign() && $data.settings.show_arrows --> a classaccordion_arrow data-bind attr:{title: prev_day_title}, css: {active: $data && $data.is_earliest_date && !$data.is_earliest_date()}, click: prev_day >/a> !-- /ko --> span classcalendar_input_display data-bind click: function(a,b){ if($root.settings.enable_portal_redesign()){ $data.toggle_calendar(a,b); } }, clickBubble: false > !-- ko if: !disabled() --> a classarrow data-bind attr:{title: prev_day_title}, css: {active: $data && $data.is_earliest_date && !$data.is_earliest_date()}, click: prev_day >«/a> a classarrow data-bind attr:{title: next_day_title}, css: {active: $data && $data.is_latest_date && !$data.is_latest_date()}, click: next_day >»/a> !-- /ko --> span classdate data-bindclick: toggle_calendar, clickBubble: false> span data-bindtext: locale_formatted_selected_date>/span> !-- ko if: settings.show_day_of_week --> span classday_of_week data-bindtext: day_of_week>/span> !-- /ko --> !-- ko if: settings.allow_clearing && selected_date() --> a classclear data-bind click: function(){selected_date(null)}, clickBubble: false >/a> !-- /ko --> /span> !-- ko if: !disabled() --> a classaccordion_arrow titleopen calendar data-bind attr: {title: $root.get_content(open_calendar)}, css: {active: active}, click: toggle_calendar, clickBubble: false >/a> !-- /ko --> !-- ko if: settings.show_today_button --> a classtoday data-bind attr: {title: today_title}, css: {active: today_active}, click: today >go to today/a> !-- /ko --> /span> !-- ko if: $root.settings.enable_portal_redesign() && $data.settings.show_arrows --> a classaccordion_arrow data-bind attr:{title: next_day_title}, css: {active: $data && $data.is_latest_date && !$data.is_latest_date()}, click: next_day >/a> !-- /ko --> /span> /script> !-- ko with: $root.active_calendar_input() --> div idcalendar_input classcalendar_input hide_inactive data-bind css: { active: active, month_picker: settings.month_picker }, click: function(){ month_select_field(false); year_select_field(false); }, clickBubble: false > nav> h2> a classyear prev titleprevious year data-bind attr: {title: $root.get_content(previous_year)}, click: prev_year >«/a> a classmonth prev titleprevious month data-bind attr: {title: $root.get_content(previous_month)}, click: prev_month >‹/a> span titleclick to select a month data-bind attr: {title: $root.get_content(click_to_select_month)}, text: active_month(), click:function(){month_select_field(true)}, clickBubble: false >/span> span titleclick to select a year data-bind attr: {title: $root.get_content(click_to_select_year)}, text: active_year(), click:function(){year_select_field(true)}, clickBubble: false >/span> a classyear nexttitlenext year data-bind attr: {title: $root.get_content(next_year)}, click: next_year >»/a> a classmonth next titlenext month data-bind attr: {title: $root.get_content(next_month)}, click: next_month >›/a> /h2> div classyear_select hide_inactive data-bind css: {active: year_select_field}, click:function(){}, clickBubble: false > form data-bindsubmit: function(){year_select_field(false)}> span data-bindtext: $root.get_content(go_to_year) + :>Go to year:/span> input idcalendar_input_year_select typetext data-bind textInput: selected_year, click: function(o,e){e.target.select()} /> button data-bindclick: function(){year_select_field(false)}>✓/button> /form> a classclose_popup data-bindclick:function(){year_select_field(false)}>/a> /div> /nav> div classmonth_select hide_inactive data-bind css: {active: month_select_field() || settings.month_picker}, click:function(){}, clickBubble: false > ul data-bindforeach: month_options(1,6)> li data-bindtext: label, click: function(){$parent.selected_month(index)}>/li> /ul> ul data-bindforeach: month_options(7,12)> li data-bindtext: label, click: function(){$parent.selected_month(index)}>/li> /ul> !-- ko if: !settings.month_picker --> a classclose_popup data-bindclick:function(){month_select_field(false)}>/a> !-- /ko --> /div> div classcalendar_table_wrapper> table> tbody data-bindforeach: calendar_days> tr data-bindforeach: $data> td data-bind text: day.split(-).pop(), css: { today: today, filler: filler, active: active, selected: day $parents1.selected_date() }, click: function(){if(active) $parents1.select_date($data.day)} >/td> /tr> /tbody> /table> /div> /div> !-- /ko --> !--------------------------------------------------------- -> modal messages -- visible when there is a modal message or a confirmation message ------------------------------------------------------------> div classmodal_pagecover idmodal_pagecover data-bindcss: {active: modal.message, fatal: modal.fatal}> section classmodal idmodal> h1 data-bindtext: modal.title_display() || modal.default_title>/h1> div data-bindhtml: modal.message_display>/div> !-- ko if: !modal.fatal() --> a classbtn data-bind text: $root.get_content(okay), click: function(){modal.message(null)} >Okay/a> !-- /ko --> /section> /div> div classmodal_pagecover idconfirmation_modal_pagecover data-bindcss: {active:modal.confirmation_message}> section classmodal confirmation_modal idconfirmation_modal> h1 data-bindtext: modal.confirmation_title_display() || modal.default_confirmation_title>/h1> div data-bindhtml: modal.confirmation_message_display>/div> a classbtn neutral data-bindtext: $root.get_content(cancel), click: function(){modal.confirmation_cancel()}>Cancel/a> a classbtn data-bindtext: $root.get_content(continue), click: function(){modal.confirmation_continue()}>Continue/a> /section> /div> section classtooltip hide_inactive data-bind css: {active:modal.tooltip_msg}, style: { top: modal.tooltip_y, left: modal.tooltip_x, textAlign: modal.tooltip_textalign, maxWidth: modal.tooltip_width }, click: function(){}, clickBubble: false > div data-bindhtml: modal.tooltip_msg>/div> /section> !--------------------------------------------------------- -> password verification ------------------------------------------------------------> div classmodal_pagecover verify_password idverify_password_modal_pagecover data-bindcss: {active: show_verify_password_input}> section classmodal confirmation_modal idverify_password_modal> h1 data-bindtext: $root.get_content(verify_password)>Verify Password/h1> !-- ko if: verify_password_processing() --> div styleheight: 175px; width: 320px;>div classspinner active>/div>/div> !-- /ko --> !-- ko if: !verify_password_processing() --> div> form data-bindsubmit:function(){submit_verify_password()} autocompleteoff> span data-bindtxt: $root.get_content(enter_your_password)>Enter your password/span>: div> input typepassword namepassword placeholderPassword data-bind attr: {placeholder: $root.get_content(password)}, textInput: verify_password_input /> /div> div classhint>Individuals are accountable and responsible forbr />actions initiated under their electronic signatures/div> div classerror data-bind css: {active: verify_password_error_msg}, text: verify_password_error_msg >/div> /form> /div> a classbtn neutral data-bindtext: $root.get_content(cancel), click: function(){cancel_verify_password()}>Cancel/a> a classbtn data-bindtext: $root.get_content(continue), click: function(){submit_verify_password()}>Continue/a> !-- /ko --> /section> /div> !--------------------------------------------------------- -> toast messages data: class: null | success | warning | error message: message html can_dismiss: true | false on_dismiss: function children: array of toast messages name: for controlling children accordion ------------------------------------------------------------> script typetext/html idtoast_message> div classtoast_message data-bind css: { inline_message: $data.inline_message, success: $data.class success, warning: $data.class warning, error: $data.class error, can_dismiss: $data.class can_dismiss && typeof $data.on_dismiss function, has_children: $data.children && $data.children.length }, click: function(){ if(!$data.children || !$data.children.length) return; $root.page().toggle_accordion(name); } > div classbadge> !-- ko if: !$data.class && !$data.inline_message --> svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-lightbulb viewBox0 0 16 16> path dM2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z/> /svg> !-- /ko --> !-- ko if: $data.class success --> svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-check-circle-fill viewBox0 0 16 16> path dM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z/> /svg> !-- /ko --> !-- ko if: $data.class warning --> svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-bell-fill viewBox0 0 16 16> path dM8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z/> /svg> !-- /ko --> !-- ko if: $data.class error --> svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-exclamation-triangle-fill viewBox0 0 16 16> path dM8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z/> /svg> !-- /ko --> /div> span data-bindhtml: $data.message>/span> !-- ko if: $data.can_dismiss && typeof $data.on_dismiss function --> a classclose data-bindclick: function(){$data.on_dismiss($data)}> svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-x-circle-fill viewBox0 0 16 16> path dM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z/> /svg> /a> !-- /ko --> !-- ko if: $data.children && $data.children.length --> a classaccordion_arrow active>/a> !-- /ko --> /div> !-- ko if: $data.children && $data.children.length --> div classtoast_message_children data-bind style: { maxHeight: $root.page().expanded_sections().indexOf(name) > -1 ? $element.scrollHeight + px : 0px } > !-- ko foreach: $data.children --> !-- ko template:{name: toast_message, data: $data} -->!-- /ko --> !-- /ko --> /div> !-- /ko --> /script> !--------------------------------------------------------- -> photo viewer ------------------------------------------------------------> !-- ko if: active_page() wound_detail && page() --> !-- ko with: page --> div classzoom_photo hide_inactive data-bindcss: {active: zoom_photo}, click: function(){zoom_photo(null)}> a classclose_popup white>/a> img idzoom_photo data-bind attr:{src: zoom_photo}, click: zoom_photo_click, clickBubble: false, event: { mousemove: function(page, event){ $root.alt_key(event.altKey); $root.ctrl_key(event.ctrlKey); $root.shift_key(event.shiftKey); page.zoom_photo_mousemove(event); }, mouseenter: function(page){page.photo_zoom_hover(true)}, mouseleave: function(page){page.photo_zoom_hover(false)} } /> span classcursor data-bind css: { active: photo_zoom_hover, zoom_out: $root.alt_key() || $root.ctrl_key() || $root.shift_key() }, style:{left: photo_zoom_x() + px, top: photo_zoom_y() + px} >/span> div classinstructions hide_inactive data-bindcss: {active: show_photo_zoom_instructions}> span data-bindhtml: $root.get_content(photo_zoom_instructions)>Click to zoom in.br />Shift + click to zoom out./span> /div> /div> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> video viewer ------------------------------------------------------------> !-- ko if: active_page() wound_detail && page() --> !-- ko with: page --> div idunboxing_video_wrapper classzoom_video hide_inactive data-bind css: {active: show_unboxing_video}, click: function(){show_unboxing_video(null)} > a classclose_popup white>/a> div idunboxing_video data-bindclick: function(){show_unboxing_video(null)}, clickBubble: false>/div> div classcontrols data-bindclick: function(){}, clickBubble: false> a classbtn data-bind css: {selected: unboxing_video_speed() 0.25}, click: function(){play_pause_unboxing_video(0.25)} >.25x »/a> a classbtn data-bind css: {selected: unboxing_video_speed() 0.5}, click: function(){play_pause_unboxing_video(0.5)} >.5x »/a> a classbtn data-bind css: {selected: unboxing_video_speed() 1}, click: function(){play_pause_unboxing_video(1)} >1x »/a> a classbtn data-bind css: {selected: unboxing_video_speed() 2}, click: function(){play_pause_unboxing_video(2)} >2x »/a> a classbtn data-bind css: {selected: unboxing_video_speed() 4}, click: function(){play_pause_unboxing_video(4)} >4x »/a> /div> /div> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> signature creator ------------------------------------------------------------> !-- ko if: gatekeeper().is_satisfied() && $root.page() && $root.page().signature_creator --> !-- ko with: $root.page().signature_creator --> div classsignature_pagecover data-bindcss: {active: active}, click: function(){stop_typing()}> section classsignature_creator> h2 data-bindtext: $root.get_content(create_signature)>Create a Signature/h2> a classclose_popup data-bindclick: function(){active(false)}>/a> section idsignature_wrapper data-bind css: {freehand: selected_font().label $root.get_content(freehand)}, click: function(){return true}, clickBubble: false > textarea classhide_inactive data-bind css: {active: selected_font().label ! $root.get_content(freehand) && $root.mobile_view()}, event: { click: function(data, event){canvas_mouseup(event)}, keyup: function(data, event){canvas_keyup(event)}, keydown: function(data, event){event.stopPropagation()} }, >/textarea> span classcursor data-bindstyle:{left: type_cursor_x(), top: type_cursor_y()}>/span> div classuploader hide_inactive data-bindcss: {active: uploader_active}> div> span data-bindtext: $root.get_content(select_image_upload)>Select an image to upload/span>: br /> input typefile acceptimage data-bindevent:{change:function(){add_image($element)}} /> /div> div classerror data-bindhtml: uploader_error_msg>/div> /div> div classinstructions hide_inactive data-bindcss: {active: instructions_active}> h3 data-bindtext: $root.get_content(signature_instructions_1) + :>There are several options for creating a signature:/h3> ul> li data-bindtext: $root.get_content(signature_instructions_2)>Draw in the box with Freehand selected below/li> li data-bindtext: $root.get_content(signature_instructions_3)>Select a font instead and type your name in the box/li> li data-bindtext: $root.get_content(signature_instructions_4)>Upload an image using the upload icon below/li> li data-bindtext: $root.get_content(signature_instructions_5)>Any combination of the above/li> /ul> a classbtn data-bind text: $root.get_content(okay), click: function(){instructions_active(false)} >Okay/a> /div> /section> div classerror_msg data-bindtext:error_msg,css: {active:error_msg}>/div> div classcontrols> a classundo desktop data-bind text: $root.get_content(undo), css: {disabled: !history().length}, click: function(){undo()} >Undo/a> div classfonts_wrapper> a classaccordion_arrow active data-bindclick: function(){font_selector_active(!font_selector_active())}>/a> div classselected data-bind text: selected_font().label, css: {freehand: selected_font().label Freehand, custom: selected_font().class custom}, style: {fontFamily: ((selected_font().label ! Freehand) ? selected_font().label : inherit)}, click: function(){font_selector_active(!font_selector_active())} >/div> div classfonts data-bindcss: {active: font_selector_active}> !-- ko foreach: available_fonts() --> div data-bind text: $data.label, css: {freehand: $data.label Freehand, custom: $data.class custom}, style: {fontFamily: (($data.label ! Freehand) ? $data.label : inherit)}, click: function(){$parent.selected_font($data)} >/div> !-- /ko --> /div> /div> a classicon_upload titleupload a signature image data-bindclick: function(){uploader_active(!uploader_active())}>upload/a> span classbtn_row> a classundo mobile data-bindtext: $root.get_content(undo), click: function(){undo()}>Undo/a> a classhelp data-bindtext: $root.get_content(help), click: function(){instructions_active(!instructions_active())}>Help/a> a classbtn data-bind text: $root.get_content(save), css: {disabled: !history().length}, click: function(){resizing(true)} >Save/a> /span> div classresize hide_inactive data-bindcss: {active: resizing}> h3 data-bindtext: get_content(adjust_size) + :>Adjust Size:/h3> !-- ko template:{ name: range_slider, data: { value: zoom_level, options: 10,20,30,40,50,60,70,80,90,100, field: zoom_level, hover_field: zoom_level_hover } } -->!-- /ko --> a classbtn data-bind text: $root.get_content(done), click: function(){save()} >Save/a> /div> /div> /section> /div> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> amendment controls ------------------------------------------------------------> !-- ko if: gatekeeper().is_satisfied() && active_page() wound_detail && page() && page().active_wound() && page().active_evaluation() && !page().trace_mode() --> !-- ko with: page() --> !-- ko if: show_single_card() on --> !-- ko if: $root.settings.sign_lock_bar_feature_toggle() --> !-- ko if: (!$root.page().read_only() && !active_evaluation().read_only()) || $root.user().serena_eval_shuffle() --> !-- ko if: !$root.page().hide_sign_and_lock() --> !-- ko if: !active_evaluation().signedById() && (active_evaluation().no_photo() || (active_evaluation().analysisPending && !active_evaluation().analysisPending() && active_evaluation().approved && active_evaluation().approved())) --> !-- ko if: !$root.settings.only_creator_locks_evals() || active_evaluation().user().userId $root.user().userId() --> !-- ko if: $root.page().observation_in_edit_mode() ! formularies --> !-- ko if: !$root.settings.enable_wound_page_redesign() --> div classsign_and_lock_controls hide_inactive data-bind css: {active: !active_evaluation().signedById() && !carousel_view()} > a classbtn data-bind css: {danger: !$root.settings.enable_portal_redesign()}, text: $root.get_content(sign_and_lock), click: function($data){$root.page().confirm_sign_lock(active_evaluation())} >Sign & Lock/a> /div> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> !-- /ko --> div classamendment_controls hide_inactive data-bind css: {active: active_wound().active_amending_eval()} > a classbtn selected data-bind click: function(){confirm_save_amendment(active_wound().active_amending_eval())} text: $root.get_content(save_amendment) >Save Amendment/a> a classbtn selected data-bind text: $root.get_content(cancel_amendment), click: function(){active_wound().active_amending_eval().amending(false)} >Cancel Amendment/a> /div> div classamendment_viewer_controls hide_inactive data-bind css: {active: is_previous_version} > h2 data-bindwith: active_evaluation> strong data-bindtext: $root.get_content(this_version) + :>This Version:/strong> span data-bindtext: signedBy>/span> span data-bindhtml: $root.page().formatted_date_and_time(signedOn())>/span> /h2> a classbtn selected data-bind text: $root.get_content(go_to_latest_version), click: function(){hash(versionId, null)} >Go To Latest Version/a> /div> !-- /ko --> !-- /ko --> !--------------------------------------------------------- -> dynamic component session management -- used to communicate session state to CT components ------------------------------------------------------------> div classdynamic_component session_management dynamic_component_typesession_management dynamic_component_payload%7B%22id%22%3A%22session_management%22%7D match_idsession_management> /div> !--------------------------------------------------------- -> busy spinner -- visible while the page is loading and the app is initializing -- or the active page has a ready flag and it is false ------------------------------------------------------------> div classspinner active data-bindcss: {active:spinner_active}>/div> !--------------------------------------------------------- -> page overlay -- visible only while logged in (PDF iframe goes in here) ------------------------------------------------------------> div idpage_overlay data-bindvisible: is_authenticated>/div> !--------------------------------------------------------- -> on-page logging ------------------------------------------------------------> div classpage_debug_panel data-bindcss: { active: $root.page_debug_active, open: $root.page_debug_open() || $root.network_log_open(), fullscreen: $root.page_debug_fullscreen }> a classpage_debug_tab data-bind css: {active: $root.page_debug_open()}, click: function(){ $root.page_debug_fullscreen(false); $root.page_debug_open(!$root.page_debug_open()) } >console/a> a classpage_debug_tab fullscreen_tab data-bind click: function(){ $root.page_debug_open(true); $root.page_debug_fullscreen(!$root.page_debug_fullscreen()); } >^/a> a classpage_debug_tab network_tab data-bind css: {active: $root.network_log_open()}, click: function(){ $root.network_log_open(!$root.network_log_open()) } >network log/a> !-- ko if: $root.session(reload_uri) --> a classpage_debug_tab reload_tab data-bind attr: {href: $root.session(reload_uri)} >reload/a> !-- /ko --> !-- ko if: !$root.session(reload_uri) --> a classpage_debug_tab reload_tab data-bind click: function(){window.location.reload()} >reload/a> !-- /ko --> !-- a classpage_debug_tab submit_tab data-bindclick: function(){$root.send_page_log()}>submit/a> --> a classclose_popup data-bind click: function(){$root.page_debug_active(false)} >/a> textarea idpage_debug data-bindvisible: $root.page_debug_open()>/textarea> !-- ko if: $root.network_log_open() --> textarea idpage_debug data-bindtext: $root.network_log().join(\r\n)>/textarea> !-- /ko --> !-- ko if: $root.page_debug_active() && $root.page_debug_open() && $root.page_debug_console_active() --> form data-bindsubmit: function(){$root.submit_page_debug_command()}> input idpage_debug_input typetext data-bind textInput: $root.page_debug_command, event: {keyup: page_debug_command_keyup} /> /form> !-- /ko --> /div> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]