{"id":41920,"date":"2020-09-09T15:49:02","date_gmt":"2020-09-09T13:49:02","guid":{"rendered":"https:\/\/www.evidian.com\/?page_id=41920"},"modified":"2024-03-05T16:41:10","modified_gmt":"2024-03-05T14:41:10","slug":"maintaining-hipaa-compliance-with-identity-and-access-management","status":"publish","type":"page","link":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/","title":{"rendered":"White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions"},"content":{"rendered":"<div id=\"pl-41920\"  class=\"panel-layout\" ><div id=\"pg-41920-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-41920-0\" data-stretch-type=\"full-stretched\" ><div id=\"pgc-41920-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-41920-0-0-0\" class=\"so-panel widget widget_sow-hero panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-hero so-widget-sow-hero-default-6e283e92799f-41920 so-widget-fittext-wrapper\"\n\t\t\t data-fit-text-compressor=\"0.85\"\n\t\t>\t\t\t\t<div class=\"sow-slider-base\" style=\"display: none\" tabindex=\"0\">\n\t\t\t\t\t<ul\n\t\t\t\t\tclass=\"sow-slider-images\"\n\t\t\t\t\tdata-settings=\"{&quot;pagination&quot;:true,&quot;speed&quot;:500,&quot;timeout&quot;:5000,&quot;paused&quot;:false,&quot;pause_on_hover&quot;:false,&quot;swipe&quot;:true,&quot;nav_always_show_desktop&quot;:&quot;&quot;,&quot;nav_always_show_mobile&quot;:&quot;&quot;,&quot;breakpoint&quot;:&quot;780px&quot;,&quot;unmute&quot;:false,&quot;anchor&quot;:null}\"\n\t\t\t\t\t\t\t\t\t\tdata-anchor-id=\"\"\n\t\t\t\t>\t\t<li class=\"sow-slider-image  sow-slider-image-cover\" style=\"visibility: visible;;background-color: #333333\" >\n\t\t\t\t\t<div class=\"sow-slider-image-container\">\n\t\t\t<div class=\"sow-slider-image-wrapper\">\n\t\t\t\t<h1>White Paper : Maintaining HIPAA Compliance<br \/>\nwith Identity and Access Management solutions<\/h1>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"sow-slider-image-overlay sow-slider-image-cover\" style=\"opacity: 0.8;background-image: url(https:\/\/www.evidian.com\/wp-content\/smush-webp\/2020\/09\/White-paper-HIPAA-bandeau.jpg.webp)\"  ><\/div>\t\t<\/li>\n\t\t<\/ul>\t\t\t\t<ol class=\"sow-slider-pagination\">\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#\" data-goto=\"0\" aria-label=\"Display slide 1\"><\/a><\/li>\n\t\t\t\t\t\t\t\t\t<\/ol>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-next\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"next\" aria-label=\"Next slide\" data-action=\"next\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thick-right\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-prev\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"previous\" aria-label=\"Previous slide\" data-action=\"prev\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thick-left\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><div id=\"pg-41920-1\"  class=\"panel-grid panel-has-style\" ><div class=\"panel-row-style panel-row-style-for-41920-1\" ><div id=\"pgc-41920-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-41920-1-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h2>Maintaining compliance with the HIPAA regulation is one of the biggest challenges for Covered Entities (CE)* today. To ensure patient\u2019s information stay protected, identity and access management (IAM) solutions remain a must-have for healthcare organizations.<\/h2>\n<p>This white paper explains how, based on Atos expertise on the HIPAA regulation, identity and access management solutions can help Covered Entities remain compliant and safeguard Protected Health Information (PHI) by offering:<\/p>\n<ul>\n<li><strong>Identity governance and administration<\/strong> solutions supporting strong identities and limiting PHI access to the right users with a role-based management approach,<\/li>\n<li><strong>Enterprise access management<\/strong> tools that prevent any unauthorized access to healthcare information and simplify the staff daily work,<\/li>\n<li><strong>Audit features<\/strong> on sensitive information accessibility and usability,<\/li>\n<\/ul>\n<h3>You can also get more insights on how specifically Evidian can help CEs achieve HIPAA security standards requirements on <a href=\"https:\/\/www.evidian.com\/pdf\/br-hipaa-iam-en.pdf\" target=\"_blank\" rel=\"noopener\"><u>our dedicated brochure<\/u>.<\/a><\/h3>\n<p><em>* Covered Entity: any healthcare provider, health plan or healthcare clearinghouse<\/em><\/p>\n<h5>For more informations, don't hesitate to <a href=\"https:\/\/www.evidian.com\/company\/contact-us\/\" target=\"_blank\" rel=\"noopener\">contact us<\/a>.<\/h5>\n<\/div>\n<\/div><\/div><\/div><div id=\"pgc-41920-1-1\"  class=\"panel-grid-cell\" ><div id=\"panel-41920-1-1-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"2\" ><div class=\"textwidget custom-html-widget\"><!-- search for BR to find all modifications made from the original script -->\r\n<script src=\"\/\/pages.atos.net\/js\/forms2\/js\/forms2.min.js\"><\/script>\r\n<!-- BR - add Japan translation -->\r\n<!--\r\n<script src=\"\/\/pages.atos.net\/rs\/247-MBJ-716\/images\/translations.js\"><\/script>\r\n-->\r\n<script src=\"https:\/\/www.evidian.com\/p\/sm7\/translations.js?ver=1.15\"><\/script>\r\n\r\n\r\n<style>\r\n\/* forms color = new blue *\/\r\nform.mktoForm, .mktoFormCol {\r\n    background-color: #006878;\r\n    padding: 20px 20px 30px 10px;\r\n    border-radius: 20px 20px 20px 20px;\r\n\twidth: 95%!important;\r\n\tmargin: auto;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n}\r\n\r\n.panel-cell-style {\r\n    background-color: #006878!important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n}\r\n\r\nlabel, .mktoHtmlText {\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #ffffff!important;\r\n}\r\n\r\n.mktoButton {\r\n    background-color: #ffffff!important;\r\n    border: 1px solid #002D3C !important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #006878!important;\r\n}\r\n\r\n.mktoButton:hover {\r\n    background-color: #002D3C!important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #ffffff!important;\r\n\tfont-weight:bold;\r\n}\r\n\r\n.mktoField {\r\n    border: 1px solid #002D3C !important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #5A5A5A;\r\n}\r\n\r\n    .setToInvisible {\r\n        display: none !important;\r\n    }\r\n    .setToVisible {\r\n        display: block;\r\n    }\r\n    .mktoErrorRealign {\r\n        left: 2%;\r\n        right: unset !important;\r\n    }\r\n    #mktoFormThankYouMessage {\r\n        text-align: center;\r\n        font-family:'Montserrat', sans-serif!important; \r\n        font-size: 15px;\r\n        padding: 5px;\r\n        \r\n    }\r\n    #mktoFormThankYouMessage a {\r\n        color: #0596FF;\r\n        text-decoration: underline;\r\n    }\r\n    @media only screen and (max-width: 1400px)  {\r\n        .mktoErrorRealign {\r\n            left: 4%;\r\n            right: unset !important;\r\n        }\r\n    }\r\n    @media only screen and (max-width: 768px)  {\r\n        .mktoErrorRealign {\r\n            left: 10%;\r\n            right: unset !important;\r\n        }\r\n    }\r\n\r\n\r\n<\/style>\r\n\r\n<!--Please insert into <form> below\r\n    id=\"mktoForm_xxxx\"              - where xxxx is the marketo form ID. (not always 4 digits) (1047 = atos primary form, sandbox version) \r\n    form-type=\"TypeOfForm\"          - where TypeOfForm is one of: Thank You; Asset Download; Page Redirect.\r\n    data-content=\"NameOfAsset\"      - where NameOfAsset is a user-friendly title of the asset to download.\r\n    data-destination=\"UrlOfAsset\"   - where UrlOfAsset is the full URL of the asset to download or page redirect. (e.g. https:\/\/clever-touch.com\/)\r\n    class=\"mktoForm\"                - this does not need editing. \r\n-->\r\n\r\n<form id=\"mktoForm_1624\"\r\n      form-type=\"Page Redirect\"\r\n      data-content=\"IAM_WP_EN White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions\"\r\n      data-destination=\"https:\/\/www.evidian.com\/page-redirect.php?c=IAM_WP_EN&url=https:\/\/www.evidian.com\/pdf\/wp-hipaa-iam-en.pdf\"\r\n      class=\"mktoForm marketo\">\r\n<\/form>\r\n\r\n<script>\r\n\/\/ begin BR - token for recaptcha verification in marketo-lead-post.php\r\n\tvar reCAPTCHALastUserFingerprint=\"\";\r\n\/\/ end BR\r\n    \/\/in order to access your desired Marketo form change these 2 variables to the 2 provided by the embed code in the line beginning MktoForms2.loadForm\r\n    const baseURL = \"\/\/pages.atos.net\";\r\n    const munchkinID = \"247-MBJ-716\"\r\n\r\n    \/\/takes the id from mktoForm element and converts to just the id number, for use in MktoForms2.loadForm\r\n    const mktoForm_xxxx_ID = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"id\")\r\n    const extractDigits = \/\\d+\/;\r\n    const FormID = parseInt(mktoForm_xxxx_ID.match(extractDigits), 10);\r\n    var language;\r\n    var privacyType = \"none\"\r\n    var browserLangFormatted;\r\n    switch (navigator.language) {\r\n        case \"en\": case \"en-GB\":\r\n            browserLangFormatted = \"English GB\";\r\n            break;\r\n        case \"en-US\":\r\n            browserLangFormatted = \"English US\";\r\n            break;\r\n        case \"es\": case \"es-ES\":\r\n            browserLangFormatted = \"European Spanish\";\r\n            break;\r\n        case catchFrenchLanguageCodes(navigator.language): \r\n            browserLangFormatted = \"French\";\r\n            break;\r\n        case catchLatAmSpanishLanguageCodes(navigator.language):\r\n            browserLangFormatted = \"Latin American Spanish\";\r\n            break;\r\n        case catchGermanLanguageCodes(navigator.language):\r\n            browserLangFormatted = \"German\";\r\n            break;\r\n        case \"it\": case \"it-CH\":\r\n            browserLangFormatted = \"Italian\";\r\n            break;\r\n        case \"nl\": case \"nl-BE\":\r\n            browserLangFormatted = \"Dutch\";\r\n            break;\r\n        case \"pt-BR\": \r\n            browserLangFormatted = \"Brazilian Portuguese\"\r\n            break;\r\n        default:\r\n            browserLangFormatted = \"English US\";\r\n            break;\r\n    }\r\n\r\n    \/\/ * @copyright \u00a9 2021 Sanford Whiteman\r\n    \/\/ @license Hippocratic 2.1\r\n    (function(){\r\n\r\n        var userConfig = {\r\n            apiKeys : {\r\n                recaptcha : \"6LfRM6keAAAAACnaog4Sl9nzvzHupd74YADwTAvp\"\r\n            },\r\n            fields : {\r\n                recaptchaFinger : \"reCAPTCHALastUserFingerprint\"\r\n            },\r\n            actions : {\r\n                formSubmit : \"form\"\r\n            },\r\n            debug : {\r\n                testBadFinger : false\r\n            }\r\n        };\r\n\r\n        \/* --- NO NEED TO TOUCH BELOW THIS LINE --- *\/\r\n\r\n        MktoForms2.whenReady(function(mktoForm) {\r\n            var formEl = mktoForm.getFormElem()[0],\r\n                submitButtonEl = formEl.querySelector(\"button[type='submit']\");\r\n\r\n            \/* pending reCAPTCHA widget ready *\/\r\n            submitButtonEl.disabled = true;\r\n\r\n            \/* pending reCAPTCHA verify *\/\r\n            mktoForm.submittable(false);\r\n            mktoForm.locked = false;\r\n\r\n            mktoForm.onValidate(function(native) {\r\n                if (!native) return;\r\n                if(!validate_email()) {\r\n                    \/\/ document.getElementById(\"LblEmail\").focus();\r\n                    \/\/ document.getElementById(\"Email\").focus();\r\n                    \/\/ form.showErrorMessage(\"Please enter your business email address\", emailField); \/\/ under the Email field\r\n                    return;\r\n                }\r\n\r\n                grecaptcha.ready(function() {\r\n                    grecaptcha.execute(userConfig.apiKeys.recaptcha, {\r\n                        action: userConfig.actions.formSubmit\r\n                    })\r\n                        .then(function(recaptchaFinger) {\r\n\t\t                    var mktoFields = {};\r\n                            if (mktoForm.locked == false) {\r\n                                mktoForm.locked = true;\r\n                                if(!userConfig.debug.testBadFinger) {\r\n                                    mktoFields[userConfig.fields.recaptchaFinger] = recaptchaFinger;\r\n                                } else {\r\n                                    mktoFields[userConfig.fields.recaptchaFinger] = \"known bad fingerprint \" + Math.random();\r\n                                }\r\n                                mktoForm.addHiddenFields(mktoFields);\r\n\t\t\t\t\t\t\t\t\/\/ begin BR\r\n\t\t\t\t\t\t\t\t\/\/ console.log('token 1='+recaptchaFinger); \/\/ debug\r\n\t\t\t\t\t\t\t\t\/\/ a recaptcha token can be verified only once\r\n\t\t\t\t\t\t\t\t\/\/ cannot used this token in marketo-lead-post.php else bug in marketo backend\r\n\t\t\t\t\t\t\t\t\/\/ reCAPTCHALastUserFingerprint=mktoFields.reCAPTCHALastUserFingerprint;\r\n\t\t\t\t\t\t\t\t\/\/ end BR\r\n                                mktoForm.submittable(true);\r\n                                mktoForm.submit();\r\n                            } else {\r\n                            }\r\n                        });\r\n                });\r\n            });\r\n\r\n\t\t\t\/\/ begin BR - need a new recaptcha token for marketo-lead-post.php\r\n            mktoForm.onValidate(function(native) {\r\n                if (!native) return;\r\n\r\n                grecaptcha.ready(function() {\r\n                    grecaptcha.execute(userConfig.apiKeys.recaptcha, {\r\n                        action: userConfig.actions.formSubmit\r\n                    })\r\n                        .then(function(recaptchaFinger) {\r\n\t\t\t\t\t\t\t\t\/\/ called twice\r\n\t\t\t\t\t\t\t\t\/\/ console.log('grecaptcha.execute 2');\r\n\t\t\t\t\t\t\t\tif (reCAPTCHALastUserFingerprint == \"\") {\r\n\t\t\t\t\t\t\t\t\t\/\/ console.log('token 2='+recaptchaFinger); \/\/ debug\r\n\t\t\t\t\t\t\t\t\treCAPTCHALastUserFingerprint=recaptchaFinger; \/\/ new token\r\n\t\t\t\t\t\t\t\t}\r\n                        });\r\n                });\r\n            });\r\n\t\t\t\/\/ end BR\r\n\r\n\t\t\tfunction validate_email() {\r\n               var emailField = mktoForm.getFormElem().find('#Email');\r\n               var emailValue = emailField.val();\r\n               var submittable = true;\r\n               if (!emailValue) {\r\n                  submittable = false;\r\n               }\r\n               else {\r\n                  var domain = emailValue.split('@')[1];\r\n                  if (!domain) {\r\n                     submittable = false;\r\n                  }\r\n                  else {\r\n                     if (domain && ['gmail.com', 'yahoo.com', 'outlook.com'].includes(domain.toLowerCase())) {\r\n                        submittable = false;\r\n                     } \r\n                     \/*else {\r\n                         submittable = true;\r\n                     }*\/\r\n                  }\r\n               }\r\n               if (submittable) {\r\n                   \/\/form.submittable(true);\r\n                   return true;\r\n               }\r\n               else {\r\n                   \/\/ document.getElementById(\"LblEmail\").focus();\r\n                   document.getElementById(\"Email\").focus();\r\n                   mktoForm.showErrorMessage(\"Please enter your business email address\", emailField); \/\/ under the Email field\r\n                   \/\/ alert('Please use your business email address');\r\n                   \/\/\tform.submittable(false);\r\n                   return false;\r\n               }\r\n            }\r\n\t\t});\r\n\r\n        var recaptchaListeners = {\r\n            ready : function() {\r\n                MktoForms2.whenReady(function(mktoForm){\r\n                    var formEl = mktoForm.getFormElem()[0],\r\n                        submitButtonEl = formEl.querySelector(\"button[type='submit']\");\r\n\r\n                    submitButtonEl.disabled = false;\r\n                });\r\n            }\r\n        };\r\n        Object.keys(recaptchaListeners).forEach(function globalize(fnName){\r\n            window[\"grecaptchaListeners_\" + fnName] = recaptchaListeners[fnName];\r\n        });\r\n\r\n        \/* inject the reCAPTCHA library *\/\r\n        recaptchaLib = document.createElement(\"script\");\r\n        recaptchaLib.src = \"https:\/\/www.google.com\/recaptcha\/api.js?render=\" + userConfig.apiKeys.recaptcha + \"&onload=grecaptchaListeners_ready\";\r\n        document.head.appendChild(recaptchaLib);\r\n\r\n    })();\r\n\r\n    MktoForms2.loadForm(baseURL, munchkinID, FormID, function(form) {\r\n\r\n\/\/ this will be replaced by a string fetched from translations.js\r\nvar thankYouMessage = \"Thank you for your interest in\";\r\nvar downloadLinkText = \"You can download the report here.\";\r\nvar contactMessage = \"A member of our team will be in touch with you shortly.\"\r\n\r\n\r\n\/\/find out which type of form this is\r\nvar formType = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"form-type\");\r\nvar form_destination = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"data-destination\");\r\nvar form_content_name = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"data-content\");\r\n\r\n\/\/ begin BR - hidden field added with the URL referrer (URL of the form) to display it in the Market alert notification (email from Marketo to commercials)\r\nMktoForms2.whenReady(function (form) {\r\n\tform.addHiddenFields({lastFormReferrer : document.location.href });\r\n});\r\n\/\/ end BR\r\n\r\n\/\/ begin BR - conversion code coming from google ads\r\n\/\/ Event snippet for Clic Submit Formulaire (11\/03\/2021\/ conversion page\r\nfunction gtag_report_conversion(url) {\r\n\tvar callback = function () {\r\n\t\tif (typeof(url) != 'undefined') {\r\n\t\t\tconsole.log('gtag_report_conversion callback url='+url); \/\/ debug\r\n\t\t\t\/\/ window.location = url; \/\/ loading \"url\" after submit (already managed by Marketo)\r\n\t\t}\r\n\t};\r\n\tgtag('event', 'conversion', {\r\n\t\t 'send_to': 'AW-978904711\/Y3XjCIbkmvsBEIfN49ID', \r\n\t\t 'event_callback': callback \r\n\t});\r\n\tconsole.log('gtag conversion called');\r\n\treturn false;\r\n}\r\n\/\/ end BR\r\n\r\nform.onSuccess(function(values, followUpUrl) {\r\n\r\n\t\/\/ begin BR\r\n\t\/\/ google ads conversion code\r\n\tvar getUrl = window.location;\r\n\tconsole.log('Marketo google ads conversion: '+getUrl); \/\/ debug\r\n\tgtag_report_conversion(getUrl);\r\n\r\n\t\/\/ post form parameters on https:\/\/www.evidian.com\/p\/sm7\/marketo-lead-get.php\r\n\tvar param='';\r\n\r\n\tif (window.location.href !== null) {\r\n\t  url=window.location.href;\r\n\t\/\/  console.log('url='+url);\r\n\t}\r\n\telse url=\"not defined\";\r\n\tparam=param+'url='+encodeURIComponent(url);\r\n\r\n\tif (document.getElementsByClassName(\"mktoForm\") !== null) {\r\n\t  form_id=document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"id\");\r\n\t\/\/  console.log('form_id='+form_id);\r\n\t}\r\n\telse form_id=\"not defined\";\r\n\tparam=param+'&form_id='+encodeURIComponent(form_id);\r\n\r\n\tif (formType !== null) {\r\n\t  form_type=formType;\r\n\t\/\/  console.log('form_type='+form_type);\r\n\t}\r\n\telse form_type=\"not defined\";\r\n\tparam=param+'&form_type='+encodeURIComponent(form_type);\r\n\r\n\tif (form_destination !== null) {\r\n\t  form_destination=form_destination;\r\n\t\/\/  console.log('form_destination='+form_destination);\r\n\t}\r\n\telse form_destination=\"not defined\";\r\n\tparam=param+'&form_destination='+encodeURIComponent(form_destination);\r\n\r\n\tif (form_content_name !== null) {\r\n\t  form_content=form_content_name;\r\n\t\/\/  console.log('form_content='+form_content);\r\n\t}\r\n\telse form_content=\"not defined\";\r\n\tparam=param+'&form_content='+encodeURIComponent(form_content);\r\n\r\n\tif (document.getElementById('preferredLanguage') !== null) {\r\n\t  preferred_language=document.getElementById('preferredLanguage').value;\r\n\t\/\/  console.log('preferred_language='+preferred_language);\r\n\t}\r\n\telse preferred_language=\"not defined\";\r\n\tparam=param+'&preferred_language='+encodeURIComponent(preferred_language);\r\n\r\n\tif (document.getElementById('Salutation') !== null) {\r\n\t  salutation=document.getElementById('Salutation').value;\r\n\t\/\/  console.log('salutation='+salutation);\r\n\t}\r\n\telse salutation=\"not defined\";\r\n\tparam=param+'&salutation='+encodeURIComponent(salutation);\r\n\r\n\tif (document.getElementById('FirstName') !== null) {\r\n\t  first_name=document.getElementById('FirstName').value;\r\n\t\/\/  console.log('first_name='+first_name);\r\n\t}\r\n\telse first_name=\"not defined\";\r\n\tparam=param+'&first_name='+encodeURIComponent(first_name);\r\n\r\n\tif (document.getElementById('LastName') !== null) {\r\n\t  last_name=document.getElementById('LastName').value;\r\n\t\/\/  console.log('last_name='+last_name);\r\n\t}\r\n\telse last_name=\"not defined\";\r\n\tparam=param+'&last_name='+encodeURIComponent(last_name);\r\n\r\n\tif (document.getElementById('Email') !== null) {\r\n\t  email=document.getElementById('Email').value;\r\n\t\/\/  console.log('email='+email);\r\n\t}\r\n\telse email=\"not defined\";\r\n\tparam=param+'&email='+encodeURIComponent(email);\r\n\r\n\tif (document.getElementById('Phone') !== null) {\r\n\t  phone=document.getElementById(\"Phone\").value;\r\n\t\/\/  console.log('phone='+phone);\r\n\t}\r\n\telse phone=\"not defined\";\r\n\tparam=param+'&phone='+encodeURIComponent(phone);\r\n\r\n\tif (document.getElementById('JobFunction__c') !== null) {\r\n\t  job_function=document.getElementById(\"JobFunction__c\").value;\r\n\t\/\/  console.log('phone='+job_function);\r\n\t}\r\n\telse job_function=\"not defined\";\r\n\tparam=param+'&job_function='+encodeURIComponent(job_function);\r\n\r\n\tif (document.getElementById('SF_Job_Title__c') !== null) {\r\n\t  job_title=document.getElementById(\"SF_Job_Title__c\").value;\r\n\t\/\/  console.log('job_title='+job_title);\r\n\t}\r\n\telse job_title=\"not defined\";\r\n\tparam=param+'&job_title='+encodeURIComponent(job_title);\r\n\r\n\tif (document.getElementById('Company') !== null) {\r\n\t  company=document.getElementById(\"Company\").value;\r\n\t\/\/  console.log('company='+company);\r\n\t}\r\n\telse company=\"not defined\";\r\n\tparam=param+'&company='+encodeURIComponent(company);\r\n\r\n\tif (document.getElementById('Company_Revenue__c') !== null) {\r\n\t  company_revenue=document.getElementById(\"Company_Revenue__c\").value;\r\n\t\/\/  console.log('company_revenue='+company_revenue);\r\n\t}\r\n\telse company_revenue=\"not defined\";\r\n\tparam=param+'&company_revenue='+encodeURIComponent(company_revenue);\r\n\r\n\tif (document.getElementById('Company_Size__c') !== null) {\r\n\t  company_size=document.getElementById(\"Company_Size__c\").value;\r\n\t\/\/  console.log('company_size='+company_size);\r\n\t}\r\n\telse company_size=\"not defined\";\r\n\tparam=param+'&company_size='+encodeURIComponent(company_size);\r\n\r\n\tif (document.getElementById('customerIndustry') !== null) {\r\n\t  industry=document.getElementById(\"customerIndustry\").value;\r\n\t\/\/  console.log('industry='+industry);\r\n\t}\r\n\telse industry=\"not defined\";\r\n\tparam=param+'&industry='+encodeURIComponent(industry);\r\n\r\n\tif (document.getElementById('Country') !== null) {\r\n\t\tcountry=document.getElementById(\"Country\").value;\r\n\t\/\/\tconsole.log('[success] country='+country);\r\n\t}\r\n\telse country=\"not defined\";\r\n\tparam=param+'&country='+encodeURIComponent(country);\r\n\r\n\tif (document.getElementById('Purchase_Authority__c') !== null) {\r\n\t  purchase_authority=document.getElementById(\"Purchase_Authority__c\").value;\r\n\t\/\/  console.log('purchase_authority='+purchase_authority);\r\n\t}\r\n\telse purchase_authority=\"not defined\";\r\n\tparam=param+'&purchase_authority='+encodeURIComponent(purchase_authority);\r\n\r\n\tif (document.getElementsByName('Opt_in__c') !== null) {\r\n\t\tif(document.getElementsByName('Opt_in__c')[0].checked)\r\n\t\t  opt_in=\"Yes\";\r\n\t\telse opt_in=\"No\";\r\n\t\/\/  console.log('opt_in='+opt_in);\r\n\t}\r\n\telse opt_in=\"not defined\";\r\n\tparam=param+'&opt_in='+encodeURIComponent(opt_in);\r\n\r\n\tif (document.getElementById('enquiryType') !== null) {\r\n\t\/\/  enquiry_type=document.getElementById(\"enquiryType\").value;\r\n      \/\/ Get the <select> element and translated \r\n\t  var selectElement=document.getElementById(\"enquiryType\");\r\n\r\n\t  \/\/ Get the selected option\r\n\t  var selectedOption=selectElement.options[selectElement.selectedIndex];\r\n\r\n\t  \/\/ Get the text content of the selected option\r\n\t  enquiry_type=selectedOption.text;\r\n\t  \/\/  console.log('enquiry_type='+enquiry_type);\r\n\t}\r\n\telse enquiry_type=\"not defined\";\r\n\tparam=param+'&enquiry_type='+encodeURIComponent(enquiry_type);\r\n\r\n\tif (document.getElementById('enquiryType') !== null) {\r\n\t   enquiry_type_not_translated=document.getElementById(\"enquiryType\").value;\r\n\t  \/\/  console.log('enquiry_type_not_translated='+enquiry_type_not_translated);\r\n\t}\r\n\telse enquiry_type_not_translated=\"not defined\";\r\n\tparam=param+'&enquiry_type_not_translated='+encodeURIComponent(enquiry_type_not_translated);\r\n\r\n\tmy_campaign=\"\";\r\n\t\/\/ console.log('my_campaign='+my_campaign);\r\n\tparam=param+'&my_campaign='+encodeURIComponent(my_campaign);\r\n\r\n\tif (document.getElementById('enquiry') !== null) {\r\n\t  enquiry=document.getElementById(\"enquiry\").value;\r\n\t\/\/  console.log('enquiry='+enquiry);\r\n\t}\r\n\telse enquiry=\"not defined\";\r\n\tparam=param+'&enquiry='+encodeURIComponent(enquiry);\r\n\r\n\tif (document.getElementById('interestedIn') !== null) {\r\n\t  interested_in=document.getElementById(\"interestedIn\").value;\r\n\t\/\/  console.log('interested_in='+interested_in);\r\n\t}\r\n\telse interested_in=\"not defined\";\r\n\tparam=param+'&interested_in='+encodeURIComponent(interested_in);\r\n\r\n\t\/\/ Deal reg - customer company\r\n\tif (document.getElementById('programMemberField01') !== null) {\r\n\t  programMemberField01=document.getElementById(\"programMemberField01\").value;\r\n\t\/\/  console.log('programMemberField01='+programMemberField01);\r\n\t}\r\n\telse programMemberField01=\"not defined\";\r\n\tparam=param+'&programMemberField01='+encodeURIComponent(programMemberField01);\r\n\r\n\t\/\/ Deal reg - customer industry\r\n\tif (document.getElementById('programMemberField02') !== null) {\r\n\t  programMemberField02=document.getElementById(\"programMemberField02\").value;\r\n\t\/\/  console.log('programMemberField02='+programMemberField02);\r\n\t}\r\n\telse programMemberField02=\"not defined\";\r\n\tparam=param+'&programMemberField02='+encodeURIComponent(programMemberField02);\r\n\r\n\t\/\/ Deal reg - customer country\r\n\tif (document.getElementById('programMemberField03') !== null) {\r\n\t  programMemberField03=document.getElementById(\"programMemberField03\").value;\r\n\t\/\/  console.log('programMemberField03='+programMemberField03);\r\n\t}\r\n\telse programMemberField03=\"not defined\";\r\n\tparam=param+'&programMemberField03='+encodeURIComponent(programMemberField03);\r\n\r\n\t\/\/ Deal reg - quantity of users\/servers\r\n\tif (document.getElementById('programMemberField04') !== null) {\r\n\t  programMemberField04=document.getElementById(\"programMemberField04\").value;\r\n\t\/\/  console.log('programMemberField04='+programMemberField04);\r\n\t}\r\n\telse programMemberField04=\"not defined\";\r\n\tparam=param+'&programMemberField04='+encodeURIComponent(programMemberField04);\r\n\r\n\t\/\/ Deal reg - purchase timeline\r\n\tif (document.getElementById('Purchase_Timeline__c') !== null) {\r\n\t  purchase_timeline=document.getElementById(\"Purchase_Timeline__c\").value;\r\n\t\/\/  console.log('purchase_timeline='+purchase_timeline);\r\n\t}\r\n\telse purchase_timeline=\"not defined\";\r\n\tparam=param+'&purchase_timeline='+encodeURIComponent(purchase_timeline);\r\n\r\n\t\/\/ Deal reg - budget\r\n\tif (document.getElementById('programMemberField05') !== null) {\r\n\t  programMemberField05=document.getElementById(\"programMemberField05\").value;\r\n\t\/\/  console.log('programMemberField05='+programMemberField05);\r\n\t}\r\n\telse programMemberField05=\"not defined\";\r\n\tparam=param+'&programMemberField05='+encodeURIComponent(programMemberField05);\r\n\r\n\t\/\/ Deal reg - advised by\r\n\tif (document.getElementById('programMemberField06') !== null) {\r\n\t  programMemberField06=document.getElementById(\"programMemberField06\").value;\r\n\t\/\/  console.log('programMemberField06='+programMemberField06);\r\n\t}\r\n\telse programMemberField06=\"not defined\";\r\n\tparam=param+'&programMemberField06='+encodeURIComponent(programMemberField06);\r\n\r\n\tif (reCAPTCHALastUserFingerprint !== null) {\r\n\t\/\/  console.log('reCAPTCHALastUserFingerprint='+reCAPTCHALastUserFingerprint);\r\n\t}\r\n\telse reCAPTCHALastUserFingerprint=\"not defined\";\r\n\tparam=param+'&reCAPTCHALastUserFingerprint='+encodeURIComponent(reCAPTCHALastUserFingerprint);\r\n\r\n\t\/\/ console.log('param='+param);\r\n\r\n\t\/\/POST\r\n\tvar request=new XMLHttpRequest();\r\n\trequest.open(\"POST\", \"https:\/\/www.evidian.com\/p\/sm7\/marketo-lead-post.php\", false);\r\n\trequest.setRequestHeader(\"Content-Type\", \"application\/x-www-form-urlencoded; charset=UTF-8\");\r\n\trequest.send(param);\r\n\tif (request.readyState != \"4\") return false;\r\n\tif (request.status != \"200\") return false;\r\n\t\/\/ end BR\r\n\r\n    \/\/ Page Redirect - immediately goes to destination page in same tab\r\n   if (formType == \"Page Redirect\") {\r\n\t\t\/\/ test if it is a call for a SafeKit free trial license key (sek*.asp): if yes add the email in query string\r\n\t\tlet result=form_destination.indexOf(\"sek\");\r\n\t\tif (result !== -1) form_destination=form_destination+\"?Email=\"+encodeURIComponent(email);\r\n\t\t\/\/ console.log('Page Redirect (form_destination)='+\" \"+form_destination);\r\n\t\twindow.open(form_destination, \"_self\");\r\n\t\t\/\/ window.open(form_destination, \"_parent\"); \/\/ original line\r\n        return false;\r\n    }\r\n    \/\/ Asset Download - shows TY message with link to asset. \r\n    else if (formType == \"Asset Download\") {\r\n        if (form_content_name !== \"\") {\r\n            jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage + \" \" + form_content_name + \".\");\r\n        } else {\r\n            jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage);\r\n        }\r\n        jQuery(\"#mktoFormThankYouMessageLink\").attr(\"href\", form_destination);\r\n        jQuery(\"#mktoFormThankYouMessageLink\").html(downloadLinkText)\r\n        jQuery(\"#mktoFormThankYouMessageLink\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        showThankYouMessage();\r\n        return false;\r\n    }\r\n    \/\/ Thank You, or any kind of form not listed - shows TY message saying we'll get back to you\r\n    else {\r\n        jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage);\r\n        jQuery(\"#mktoFormContactMessage\").html(contactMessage);\r\n        jQuery(\"#mktoFormContactMessage\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        showThankYouMessage();\r\n        return false;\r\n    };\r\n\r\n});\r\n\r\n        function translateFormLabels() {\r\n\t\t\t\r\n\t\t\t\/\/ BR - as translateFormLabels is called each time a field is changed, let's take advantage of it to force Costa Rica.\r\n\t\t\t\/\/ Clear the pre-filled form fields set by the browser based on the user's input history.\r\n\t\t\tif (document.getElementById('Country') !== null) {\r\n\t\t\t\tvar display=\"none\";\r\n\t\t\t\tvar country_predefined=\"\";\r\n\t\t\t\tif ((display == \"none\") && (country_predefined == \"Costa Rica\")) {\r\n\t\t\t\t\t\/\/ console.log('[translate] country='+document.getElementById(\"Country\").value);\r\n\t\t\t\t\tdocument.getElementById(\"Country\").value=\"Costa Rica\";\r\n\t\t\t\t\t\/\/ console.log('[translate] country='+document.getElementById(\"Country\").value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n            if (document.getElementById(\"preferredLanguage\")) {\r\n                \/\/use the form's language field, if it's empty, use the browser's default language\r\n                if (form.vals().preferredLanguage.length > 0) {\r\n                    language = form.vals().preferredLanguage;\r\n                } else {\r\n                    language = browserLangFormatted\r\n                }\r\n\r\n                const translationsObj = getTranslations(language);\r\n                const formFieldLabels = Object.keys(form.vals());\r\n                const keysForThisLanguage = Object.keys(languageTranslations[language]);\r\n\r\n                for (var i=0; i<formFieldLabels.length ; i++) {\r\n                    if (formContains(formFieldLabels[i], keysForThisLanguage)) {\r\n                        var objOfThisField = translationsObj[formFieldLabels[i]];\r\n                        \/\/change this label text to translated version\r\n                        jQuery(\"#Lbl\" + formFieldLabels[i]).html(objOfThisField.label);\r\n\r\n                        if (objOfThisField.type == \"select\") {\r\n                            var optionsForThisSelect = objOfThisField.options\r\n\r\n                            \/\/alphabestises the dropdown options for the field, based on the translated display text - ONLY sorts, not displays\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"customerIndustry\") {\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"customerIndustry\") {\r\n                                sortIndustryField(optionsForThisSelect);\r\n                            }\r\n\r\n\/\/ BR added\r\n                            \/\/alphabestises the dropdown options for the field, based on the translated display text - ONLY sorts, not displays\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"Country\") {\r\n                                sortIndustryField(optionsForThisSelect);\r\n                            }\r\n\/\/ end BR\r\n\r\n                            var valuesForThisSelect = optionsForThisSelect.map(a => a.value);\r\n                            var textsForThisSelect = optionsForThisSelect.map(a => a.text);\r\n                            var formOptionsForThisField = jQuery(\"#\" + formFieldLabels[i] + \" option\");\r\n                            var thisFormField = jQuery(\"#\" + formFieldLabels[i])\r\n\r\n                            \/\/if this dropdown option is in translations.js, translate the text that is displayed.\r\n                            for (var j = 0; j < formOptionsForThisField.length; j++) {\r\n                                var indexOfOption = valuesForThisSelect.indexOf(formOptionsForThisField[j].value);\r\n                                if (indexOfOption > -1) {\r\n                                    formOptionsForThisField[j].innerHTML = textsForThisSelect[indexOfOption];\r\n                                }\r\n                            }\r\n\r\n                            \/\/DISPLAYS the alphabetised options for the dropdown\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"customerIndustry\") {\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"customerIndustry\") {\r\n                                overwriteIndustryField(thisFormField, valuesForThisSelect, textsForThisSelect)\r\n                            }\r\n\r\n\/\/ BR added\r\n                            \/\/DISPLAYS the alphabetised options for the dropdown\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"Country\") {\r\n                                overwriteIndustryField(thisFormField, valuesForThisSelect, textsForThisSelect)\r\n                            }\r\n\/\/ end BR\r\n\r\n                            \/\/remove all salutation options, then replace with the values for this language\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"Salutation\") {\r\n                            if (formFieldLabels[i] == \"Salutation\") {                                currentSalutationSelected = form.vals().Salutation\r\n                                jQuery(\"#Salutation\").html(\"\")\r\n                                for (var j = 0; j < valuesForThisSelect.length; j++) {\r\n                                    jQuery(\"#Salutation\").append(jQuery('<option\/>', {\r\n                                        value: valuesForThisSelect[j],\r\n                                        text : textsForThisSelect[j]\r\n                                    }));\r\n                                }\r\n                                \/\/if the selected salutation is still an option, keep it selected.\r\n                                if (valuesForThisSelect.includes(currentSalutationSelected)) {\r\n                                    form.vals({ \"Salutation\" : currentSalutationSelected})\r\n                                }\r\n                            }\r\n\r\n                        } else if (objOfThisField.type == \"radio\") {\r\n                            var optionsForThisSelect = objOfThisField.options\r\n                            var valuesForThisSelect = optionsForThisSelect.map(a => a.value);\r\n                            var textsForThisSelect = optionsForThisSelect.map(a => a.text);\r\n                            var radioOptionsValueForThisField = jQuery(\"input[name='Opt_in__c']\");\r\n                            var radioOptionsLabelForThisField = jQuery(\"input[name='Opt_in__c']\").next();\r\n                            for (var j = 0; j < radioOptionsLabelForThisField.length; j++) {\r\n                                var indexOfOption = valuesForThisSelect.indexOf(radioOptionsValueForThisField[j].value);\r\n                                if (indexOfOption > -1) {\r\n                                    radioOptionsLabelForThisField[j].innerHTML = textsForThisSelect[indexOfOption];\r\n                                    jQuery(radioOptionsLabelForThisField[j]).removeClass(\"setToInvisible\");\r\n                                }\r\n                            }\r\n                        }\r\n                    };\r\n                }\r\n\r\n                \/\/choose correct privacy policy\r\n                var nationalPrivLawURL = \"none\"; \r\n                var nationalPrivLawRegex = new RegExp;\r\n                switch (form.vals().Country) {\r\n                    case \"United Kingdom\": case \"Isle of Man\": case \"Gibraltar\" : \r\n                        privacyType = \"DPA\";\r\n                        nationalPrivLawURL = \"https:\/\/www.legislation.gov.uk\/ukpga\/2018\/12\/contents\/enacted\";\r\n                        nationalPrivLawRegex = \/DPA|APD\/g;\r\n                        break;\r\n                    case \"United States\" : \r\n                        if (form.vals().State == \"CA\") {\r\n                            privacyType = \"CCPA\";\r\n                            nationalPrivLawURL = \"https:\/\/oag.ca.gov\/privacy\/ccpa\";\r\n                            nationalPrivLawRegex = \/CCPA\/g;\r\n                            nationalPrivLawURL2 = \"https:\/\/thecpra.org\/\"\r\n                            nationalPrivLawRegex2 = \/CPRA\/g;\r\n                        } else {\r\n                            privacyType = \"none\";\r\n                            nationalPrivLawURL = \"none\"\r\n                        }\r\n                        break;\r\n                    case \"Canada\" : \r\n                        privacyType = \"CASL\";\r\n                        nationalPrivLawURL = \"https:\/\/laws-lois.justice.gc.ca\/eng\/acts\/E-1.6\/index.html\";\r\n                        nationalPrivLawRegex = \/CASL\/g;\r\n                        break;\r\n                    case \"Brazil\" : \r\n                        privacyType = \"LGDP\";\r\n                        nationalPrivLawURL = \"https:\/\/lgpd-brazil.info\/\";\r\n                        nationalPrivLawRegex = \/LGPD\/g;\r\n                        break;\r\n                    case \"South Africa\" : \r\n                        privacyType = \"POPIA\";\r\n                        nationalPrivLawURL = \"https:\/\/popia.co.za\/\";\r\n                        nationalPrivLawRegex = \/POPIA\/g;\r\n                        break;\r\n                    case \"Mexico\" : \r\n                        privacyType = \"LFPDPPP\";\r\n                        nationalPrivLawURL = \"https:\/\/privacyinternational.org\/state-privacy\/1006\/state-privacy-mexico#dataprotection\"\r\n                        nationalPrivLawRegex = \/LFPDPPP\/g;\r\n                        break;\r\n                    case gdprCountries(form.vals().Country) : \r\n                        privacyType = \"GDPR\";\r\n                        nationalPrivLawURL = \"https:\/\/gdpr.eu\/\";\r\n                        nationalPrivLawRegex = \/GDPR|RGPD|DSGVO|AVG\/g\r\n                        break;\r\n                    default:\r\n                        privacyType = \"none\";\r\n                        nationalPrivLawURL = \"none\";\r\n                        break;\r\n                };\r\n\r\n                \/\/translate opt-in text\t\r\n\t\t\t\t\/\/ BR - translate opt-in messages only if they are displayed\r\n\t\t\t\tif (document.getElementById('LblOpt_in__c') !== null) {\r\n\t\t\t\t\t\/\/ BR - Count all elements with class of mktoHtmlText \r\n\t\t\t\t\t\/\/ and translate only the two last opt-in mktoHtmlText elements\r\n\t\t\t\t\t\/\/ Instead of jQuery(\".mktoHtmlText\").eq(0) jQuery(\".mktoHtmlText\").eq(1)\r\n\t\t\t\t\t\/\/ call jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2) and jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1)\r\n\t\t\t\t\tvar count_mktoHtmlText = document.querySelectorAll('.mktoHtmlText').length;\r\n\t\t\t\t\t\/\/ console.log('count_mktoHtmlText='+count_mktoHtmlText);\r\n\t\t\t\t\tvar optInTextObj = translationsObj[\"OptInText\"];\r\n\t\t\t\t\tvar optInTypes = optInTextObj.map(a => a.value);\r\n\t\t\t\t\t\/\/only California is different Opt-In to GDPR\/Default\r\n\t\t\t\t\tif (privacyType == \"CCPA\") {\r\n\t\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2).html(optInTextObj[optInTypes.indexOf(privacyType)].text); \r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2).html(optInTextObj[0].text); \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\/\/translate Privacy Policy text\r\n\t\t\t\t\tvar privacyTextObj = translationsObj[\"PrivacyText\"];\r\n\t\t\t\t\tvar privacyTypes = privacyTextObj.map(a => a.value);\r\n\t\t\t\t\tvar indexOfPrivacyType = privacyTypes.indexOf(privacyType);\r\n\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1).html(privacyTextObj[indexOfPrivacyType].text); \r\n\r\n\t\t\t\t\t\/\/add in privacy policy links to translated text, for atos and for national law (e.g. GDPR)\r\n\t\t\t\t\tif (jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1).html()) {\r\n\t\t\t\t\t\tvar privacyText = jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1)\r\n\t\t\t\t\t\tvar atosPrivLinkRegex = \/(Privacy Policy|Politique de confidentialit\u00e9|Informativa sulla privacy|Datenschutzrichtlinie|Pol\u00edtica de privacidad|Privacybeleid|Pol\u00edtica de Privacidade)\/g\r\n\t\t\t\t\t\tvar atosPrivPolicyURL = 'https:\/\/eviden.com\/privacy-policy\/'\r\n\t\t\t\t\t\t\tif (language == \"French\") {\r\n\t\t\t\t\t\t\t\t\/\/only French link is non-EN\r\n\t\t\t\t\t\t\t\tatosPrivPolicyURL = 'https:\/\/eviden.com\/fr-fr\/politique-de-confidentialite\/'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\/\/add atos privacy link\r\n\t\t\t\t\t\taddInLink(privacyText, atosPrivLinkRegex, atosPrivPolicyURL);\r\n\t\t\t\t\t\tif (privacyType != \"none\" ) {\r\n\t\t\t\t\t\t\t\/\/add GDPR etc. link\r\n\t\t\t\t\t\t\taddInLink(privacyText, nationalPrivLawRegex, nationalPrivLawURL);\r\n\t\t\t\t\t\t\tif (privacyType == \"CCPA\") {\r\n\t\t\t\t\t\t\t\t\/\/California has two links\r\n\t\t\t\t\t\t\t\taddInLink(privacyText, nationalPrivLawRegex2, nationalPrivLawURL2);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\/* end modif BR *\/\r\n\t\t\t\t\r\n                \/\/translate Submit Button\r\n                var submitButtonObj = translationsObj[\"Submit\"];\r\n\t\t\t\tvar submit_text=\"\"; \/\/ special text requested for Submit\r\n\t\t\t\tif (submit_text == \"\") {\r\n\t\t\t\t\tsubmit_text=submitButtonObj.text;\r\n\t\t\t\t}\r\n                jQuery(\".mktoButton[type='submit']\").html(submit_text);\r\n                \r\n                \/\/translate Thank You texts\r\n                if (form_content_name != \"\" && formType == \"Asset Download\") {\r\n                    thankYouMessage = translationsObj[\"ThankYouDataContent\"]\r\n                } else {\r\n                    thankYouMessage = translationsObj[\"ThankYouEmptyDataContent\"]\r\n                }\r\n                downloadLinkText = translationsObj[\"DownloadLinkText\"]\r\n                contactMessage = translationsObj[\"ContactTYText\"]\r\n                \r\n            };\r\n\t\t\t\r\n\t\t\t\/\/ BR - set label_job_title if defined\r\n\t\t\tvar label_job_title=\"\";\r\n\t\t\tif (label_job_title != \"\") {\r\n\t\t\t\tlabelElement = document.getElementById(\"LblSF_Job_Title__c\");\r\n\t\t\t\tlabelElement.innerHTML = label_job_title;\r\n\t\t\t}\r\n\r\n        };\r\n\r\n        const sortIndustryField = function(options) {\r\n            options.sort(function(a,b) {\r\n                \/\/make sure the 'please select' option is first\r\n                if (a.value == b.value) return 0\r\n                if (a.value == \"\") return -1;\r\n                if (b.value == \"\") return 1;\r\n                \/\/and sort the rest alphabetically\r\n                return a.text.localeCompare(b.text)\r\n                \/\/if (a.text > b.text) return 1;\r\n                \/\/if (a.text < b.text) return -1;\r\n                \/\/return 0 \r\n            })\r\n        }\r\n\r\n\r\n        const overwriteIndustryField = function(field, values, texts) {\r\n            var selectedVal = (field.val())\r\n            field.html(\"\");\r\n            for (var j = 0; j < values.length; j++) {\r\n                field.append(jQuery('<option\/>', {\r\n                    value: values[j],\r\n                    text : texts[j]\r\n                }));\r\n            }\r\n            \/\/keep previously selected value as selected\r\n            field.val(selectedVal);\r\n        } \r\n\r\n        \/\/add in privacy links to translated text\r\n        const addInLink = function(privacyText, unlinkedTextRegex, privURL) {\r\n            var stringToLink = privacyText.html().match(unlinkedTextRegex)\r\n            var linkedText = \"<a href=\"+ privURL + \" target='blank'>\" + stringToLink + \"<\/a>\";\r\n            var replacement = privacyText.html().replace(unlinkedTextRegex, linkedText);\r\n            privacyText.html(replacement) \r\n        }\r\n        \r\n        const formContains = (label, keysForThisLanguage) => {\r\n            if (keysForThisLanguage.includes(label)) {\r\n                return true\r\n            } else {\r\n                return false\r\n            }\r\n        }\r\n\r\n        const getTranslations = (language) => {\r\n            if(Object.keys(languageTranslations).includes(language)) {\r\n                return languageTranslations[language];\r\n            } else { return [] }\r\n        }\r\n\r\n        translateFormLabels();\r\n\r\n        \/\/when a field changes, check if any progressive fields have appeared and need translation\r\n        jQuery(\".mktoForm\").on(\"change\", \".mktoField\", () => {\r\n            translateFormLabels();\r\n        }); \r\n\r\n\r\n        \/\/check for a Marketo validation error message appearing, grab its text and change it to translated version\r\n        jQuery(document).delegate('.mktoForm', 'focus', function() {\r\n            if (document.getElementById(\"preferredLanguage\")) {\r\n                if ( jQuery('.mktoErrorMsg')['0'] ) {\r\n                    originalErrorMessage = jQuery('.mktoErrorMsg')[0];\r\n                    errorMessageID = jQuery(originalErrorMessage).attr('id')\r\n                    fieldID = errorMessageID.replace('ValidMsg', '')\r\n                    const translationsObj = getTranslations(language);\r\n                    var objOfThisField = translationsObj[fieldID];\r\n                    jQuery('.mktoError').addClass(\"mktoErrorRealign\")\r\n                    jQuery('.mktoErrorMsg')['0'].innerHTML = objOfThisField.requiredError;\r\n                };\r\n            };\r\n        });\r\n\r\n\/\/ Begin BR\r\n\t\tjQuery(document).ready( function($){\r\n\/*\r\n\tinverse first name \/ last name for Japanese (does not work - break the dynamic form - pb solved in translation.js)\r\n\t$first_name_div=$(\"#FirstName\").parents(\".mktoFormRow\")\r\n\t$first_name_div.clone(true).insertAfter($(\"#LastName\").parents(\".mktoFormRow\"))\r\n\t$first_name_div.remove()\r\n*\/\r\n\t\/* add Japanese in the list of languages *\/\r\n\t$('#preferredLanguage').append('<option value=\"Japanese\">Japanese<\/option>');\r\n\t\/* implement shortcodes \"marketo id=\"1624\" shortcodes...\" *\/\r\n\tvar display=\"none\";\r\n\tvar preferred_language=\"English US\";\r\n\tif (preferred_language != \"\") {\r\n\t\t$('#preferredLanguage').val(\"English US\");\r\n\t\t$('#preferredLanguage').trigger('change');\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#preferredLanguage\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\r\n\tvar enquiry_type=\"Product Information\";\r\n\tif (enquiry_type != \"\") {\r\n\t\t$('#enquiryType').val(\"Product Information\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#enquiryType\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\r\n\tif (\"1624\" == \"1624\") {\r\n\t\tvar my_campaign=\"\";\r\n\t\tif (my_campaign != \"\") {\r\n\t\t\telements=document.getElementsByName(\"programMemberField01\"); \/\/ hidden field\r\n\t\t\tif ( elements.length > 0 ) elements[0].value=\"\";\r\n\t\t}\r\n\t}\r\n\t\r\n\tvar interested_in=\"IAM solution\";\r\n\tif (interested_in != \"\") {\r\n\t\t$('#interestedIn').val(\"IAM solution\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#interestedIn\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar phone=\"\";\r\n\tif (phone != \"\") {\r\n\t\t$('#Phone').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Phone\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar job_title=\"Not specified\";\r\n\tif (job_title != \"\") {\r\n\t\t$('#SF_Job_Title__c').val(\"Not specified\");\r\n\t\tif (display == \"none\") {\r\n\t\t\tif (job_title == \"email\") {\r\n\t\t\t\tlabelElement = document.getElementById(\"LblSF_Job_Title__c\");\r\n\t\t\t\tlabelElement.innerHTML = \"Business Email Address *\";\r\n\t\t\t\t$('#SF_Job_Title__c').val(\"\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#SF_Job_Title__c\").parents(\".mktoFormRow\").css('display','none');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar industry=\"Other\";\r\n\tif (industry != \"\") {\r\n\t\t$('#customerIndustry').val(\"Other\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#customerIndustry\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar enquiry=\"\";\r\n\tif (enquiry != \"\") {\r\n\t\t$('#enquiry').val(\"\");\r\n\t\tif ((display == \"none\")&& (enquiry==\"none\"))\r\n\t\t\t$(\"#enquiry\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar email=\"\";\r\n\tif (email != \"\") {\r\n\t\t$('#Email').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Email\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar first_name=\"\";\r\n\tif (first_name != \"\") {\r\n\t\t$('#FirstName').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#FirstName\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar last_name=\"\";\r\n\tif (last_name != \"\") {\r\n\t\t$('#LastName').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#LastName\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar company=\"\";\r\n\tif (company != \"\") {\r\n\t\t$('#Company').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Company\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar country_predefined=\"\";\r\n\tif (country_predefined != \"\") {\r\n\t\t$('#Country').val(\"\");\r\n\t\t\/\/ keep country visible except when equal to Costa Rica\r\n\t\tif ((display == \"none\")&& (country_predefined == \"Costa Rica\")) {\r\n\t\t\t\/\/ console.log('[ready] display none for country='+document.getElementById(\"Country\").value);\r\n\t\t\t$(\"#Country\").parents(\".mktoFormRow\").css('display','none');\r\n\t\t}\r\n\r\n\t}\r\n\tvar display_salutation=\"false\";\r\n\tif (display_salutation == \"false\") {\r\n\t\t$(\"#Salutation\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\t\r\n\ttranslateFormLabels(); \/* translate and sort according pre-selection *\/\r\n\r\n});\r\n\/\/ End BR\r\n\r\n\t});\r\n\r\n    \/\/check for Countries in GDPR during privacy policy selection\r\n    const gdprCountriesArr = listOfEuropeanCountries\r\n    const gdprCountries = (country) => {\r\n        if (gdprCountriesArr.includes(country)) {\r\n            return country;\r\n        } else return false;\r\n    }\r\n\r\n    function showThankYouMessage() {\r\n        MktoForms2.whenReady(function (form) {\r\n            form.getFormElem().hide();\r\n            jQuery(\"#mktoFormThankYouMessage\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        });\r\n    }\r\n\r\n    \r\n<\/script>\r\n\r\n<div id=\"mktoFormThankYouMessage\" class=\"setToInvisible\" mktoname=\"Form Thank you message\">\r\n    <div><span id=\"mktoFormThankYouMessageText\">Thank you for your interest.<\/span>\r\n        <!-- <a> below only displays if form-type is Asset Download-->\r\n        <a class=\"setToInvisible\" id=\"mktoFormThankYouMessageLink\" target=\"_blank\" href=\"\">You can download the report here.<\/a>\r\n    <\/div>\r\n    <!-- span below only displays if form-type is Contact Us-->\r\n    <span id=\"mktoFormContactMessage\" class=\"setToInvisible\">A member of our team will be in touch with you shortly<\/span>\r\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"Maintaining compliance with the HIPAA regulation is one of the biggest challenges for Covered Entities (CE)* today. To ensure patient\u2019s information stay protected, identity and access management (IAM) solutions remain a must-have for healthcare organizations. This white paper explains how, based on Atos expertise on the HIPAA regulation, identity and access management solutions can help [&hellip;]","protected":false},"author":71,"featured_media":0,"parent":5612,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-full-screen-marketo-form.php","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"class_list":["post-41920","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Maintaining HIPAA compliance with identity and access management (IAM)<\/title>\n<meta name=\"description\" content=\"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions\" \/>\n<meta property=\"og:description\" content=\"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/\" \/>\n<meta property=\"og:site_name\" content=\"Evidian\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T14:41:10+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/documents\\\/maintaining-hipaa-compliance-with-identity-and-access-management\\\/\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/documents\\\/maintaining-hipaa-compliance-with-identity-and-access-management\\\/\",\"name\":\"Maintaining HIPAA compliance with identity and access management (IAM)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#website\"},\"datePublished\":\"2020-09-09T13:49:02+00:00\",\"dateModified\":\"2024-03-05T14:41:10+00:00\",\"description\":\"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/documents\\\/maintaining-hipaa-compliance-with-identity-and-access-management\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.evidian.com\\\/documents\\\/maintaining-hipaa-compliance-with-identity-and-access-management\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/documents\\\/maintaining-hipaa-compliance-with-identity-and-access-management\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Evidian\",\"item\":\"https:\\\/\\\/www.evidian.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documents\",\"item\":\"https:\\\/\\\/www.evidian.com\\\/documents\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#website\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/\",\"name\":\"Evidian\",\"description\":\"The European Leader in Unified Identity, Access Management, and Business Continuity\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.evidian.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#organization\",\"name\":\"Evidian\",\"alternateName\":\"Evidian\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/evidian-new-blue-1.png\",\"contentUrl\":\"https:\\\/\\\/www.evidian.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/evidian-new-blue-1.png\",\"width\":734,\"height\":200,\"caption\":\"Evidian\"},\"image\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/showcase\\\/eviden-cybersecurity\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJKPuw2SDVNYUjZEJyLbIAA\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Maintaining HIPAA compliance with identity and access management (IAM)","description":"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/","og_locale":"en_US","og_type":"article","og_title":"White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions","og_description":"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.","og_url":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/","og_site_name":"Evidian","article_modified_time":"2024-03-05T14:41:10+00:00","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/","url":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/","name":"Maintaining HIPAA compliance with identity and access management (IAM)","isPartOf":{"@id":"https:\/\/www.evidian.com\/#website"},"datePublished":"2020-09-09T13:49:02+00:00","dateModified":"2024-03-05T14:41:10+00:00","description":"This white paper explains how IAM solutions help covered entities remain compliant with HIPAA and safeguard Protected Health Information.","breadcrumb":{"@id":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.evidian.com\/documents\/maintaining-hipaa-compliance-with-identity-and-access-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Evidian","item":"https:\/\/www.evidian.com\/"},{"@type":"ListItem","position":2,"name":"Documents","item":"https:\/\/www.evidian.com\/documents\/"},{"@type":"ListItem","position":3,"name":"White Paper : Maintaining HIPAA Compliance with Identity and Access Management solutions"}]},{"@type":"WebSite","@id":"https:\/\/www.evidian.com\/#website","url":"https:\/\/www.evidian.com\/","name":"Evidian","description":"The European Leader in Unified Identity, Access Management, and Business Continuity","publisher":{"@id":"https:\/\/www.evidian.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.evidian.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.evidian.com\/#organization","name":"Evidian","alternateName":"Evidian","url":"https:\/\/www.evidian.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.evidian.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.evidian.com\/wp-content\/uploads\/2024\/01\/evidian-new-blue-1.png","contentUrl":"https:\/\/www.evidian.com\/wp-content\/uploads\/2024\/01\/evidian-new-blue-1.png","width":734,"height":200,"caption":"Evidian"},"image":{"@id":"https:\/\/www.evidian.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/showcase\/eviden-cybersecurity\/","https:\/\/www.youtube.com\/channel\/UCJKPuw2SDVNYUjZEJyLbIAA"]}]}},"_links":{"self":[{"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/pages\/41920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/comments?post=41920"}],"version-history":[{"count":0,"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/pages\/41920\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/pages\/5612"}],"wp:attachment":[{"href":"https:\/\/www.evidian.com\/wp-json\/wp\/v2\/media?parent=41920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}