<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Protected data and streamlined processes for wearable medical devices manufacturer
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
An Austrian manufacturer of wearable medical devices for cardiovascular diagnostics in which cardiograms and blood pressure readings are continuously recorded over a 24-hour period or longer (holters).
Client
  • Health Cloud
  • Sales Cloud
  • Jitterbit Harmony
  • SF Mobile SDK
  • DocuSign
  • Provider Relationship Management
Salesforce Solutions
  • Necessity of personal data protection
  • Lack of ability to track device activation and do insurance verification
  • The need to digitize the process of obtaining patient consent to process and store data
Challenges Outline
Healthcare
Industry
1 year
Duration
  • 1 Solution Architect
  • 1 Salesforce Developer
  • 1 Salesforce Admin
  • 1 QA
Vimera Team

Health Cloud

Jitterbit

DocuSign
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Business Goals
  • Streamline internal processes and improve operational efficiency by integrating Salesforce into the company's ecosystem of wearable health monitors and apps.
  • Enhance the customer experience by leveraging Salesforce's CRM capabilities to better understand and engage with healthcare providers, clinics, and patients who use the company's wearable medical devices.
  • Leverage data collected from wearable devices to generate valuable insights and actionable information for healthcare professionals and insurance companies by integrating Salesforce into the data collection and analysis processes.
Challenges
Solutions
According to Article 17(1) of Directive 95/46/EC, it is mandated that personal data, including health data, must be protected against unauthorised access and unlawful processing. In Austria, this entails encrypting health data stored in cloud computing environments and ensuring that its transfer occurs over closed networks or in encrypted form.

To create an intuitive and efficient system that could effectively track device activation, insurance verification, and the overall onboarding journey for users.

To digitise the patient consent process, ensuring secure storage of signed consent forms while prioritising data privacy and accessibility.
The Vimera team implemented and customized Salesforce Health Cloud to ensure compatibility with internal systems that store patient and wearable device information. Clinics were configured as both business accounts in Sales Cloud and Provider Relationship Management in Health Cloud. The remaining objects of the Health Cloud model, which encompass the entire patient record system, were mapped onto the patient's data. Additionally, we enhanced the functionality and integration capabilities of Health Cloud.

The Vimera team developed a custom API gateway using Jitterbit Harmony Platform to integrate the client's Health Cloud with the third-party systems of their key suppliers. This middleware solution facilitated seamless data exchange and real-time integration, enabling direct access and utilization of supplier data within Health Cloud.

The Vimera team developed a custom integration module for the client's mobile platform and website to track the onboarding process, device activation, and initial insurance verification or activation. This module utilized tools such as Salesforce Mobile SDK for the mobile platform and Salesforce's web services APIs for the website, ensuring smooth data synchronization and secure communication with Salesforce.

The Vimera team implemented DocuSign to capture patient consent electronically. Signed consent forms were securely stored using an external storage provider like AWS, guaranteeing data privacy and accessibility.
2
3
1
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Results
54% fewer cases in the internal support system processed by employees. This was made possible by stabilizing infrastructure and replacing a significant part of the server infrastructure support with the cloud.
25% faster speed of closing support cases due to the integration of an all-in-one screen.
Introduced a custom API gateway for suppliers making it possible to automate and establish direct integration with another 2 major suppliers. Before that, they communicated with the client utilizing sending excel catalogues.
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Our testimonials
They truly wanted to help and were every professional.
Marketing Team Lead Consulting Company
Canada
They generally are happy to work on all aspects of custom Salesforce development.
Fedor Orth
Head of Software Engineering
Clear Aligner Provider
Berlin, Germany
Discuss your task with our team
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
We assign a wide range of services
Salesforce Implementation & Customization

Salesforce Consulting & System Architecture

Salesforce Integration

Salesforce Org Audit

Salesforce Org Support

Salesforce Quick Start

Salesforce AppExchange Applications Development

Data Management & Migration

Migration to Salesforce Lightning