Where is India on Health Care Data Protection?

Data security is an interesting and complex topic, particularly when examining health care data. With India’s recent proposal for a data protection law that will give government authorities broad powers to access personal information (see this article in the Financial Times)

Let me share two personal stories that relate to data protection encouraged me to prepare this material:

  1. While scrolling through Facebook I noticed one person has shared one patient’s reports on his status to boost his methodology for treatment. This included both personal and health information. Below is an anonymized screenshot.

2. Doctor Ajay(name changed) is a specialist in respiratory and lung diseases. When we spoke on technology, he was eager to learn and implement technology that can save time and follows laws. Currently, many doctors use WhatsApp to share/receive reports but they are not sure if it is compliant. Still, it is widely used because it is easy to use and allows for the rapid sharing of information. Dr. Ajay told me they don’t prefer applications for booking because they take away patient information and use for their benefits. Lastly, he avoids handwritten prescription which is openly used in India. He wishes to have print or electronic form (protected as well). It was a healthy conversation with him.

My research is focused on discussing the following topics:

  1.  Does India have any data protection law in place?
  2. What was are the specific issues relating to the health care industry?
  3. Is GDPR applicable in health care?
  4. Where is India on Health Care Data Protection and how we are different?

This article is intended to collect research on India that can be used for comparison with other jurisdictions such as the US to compare and learn from other laws and compliances.

US has Federal Data protection law in place (for history and details refer here https://fas.org/sgp/crs/misc/R45631.pdf) under which there are major listed acts such as GLBA, HIPAA, FCRA, Communication Act, FERPA, COPPA, ECPA and CFPA. There are also different state protection laws such as CCPA along with the EU’s GDPR.

HIPAA (Health Insurance Portability and Accountability Act of 1996) is United States legislation that provides data privacy and security provisions for safeguarding medical information.HHS (Health and Human Services) is the Regulatory/Authority covering all areas for PHI. Under this data security law, all health care providers or related parties should protect electronic data. If there is a breach, then they have 60 days of time to notify to authority. Violations of HIPAA could lead to imprisonment.

The EU had the Data Protection Directive (DPD), also known as Directive 95/46/EC, from  1995. On April 27, 2016, GDPR replaced DPD and came into force on May 25, 2018 (Read the difference here https://www.synopsys.com/blogs/software-security/dpd-vs-gdpr-key-changes/).

GDPR, which covers both personal, sensitive and critical information of individual and entity, is being discussed and accepted around the globe when operating in the EU. It is implemented under data protection Act 2018 by which is applicable in EU region but parties from around the globe who work with or for people/parties in EU has to comply with GDPR requirements. GDPR applies even though there is separate US federal data protection policy for the EU region.DPA (Data Protection Authority) is the agency within each EU country which is the regulatory body. Article 33 defines that any breach should be reported within 72 hours to authority.

There are two levels of penalties based on the GDPR:

1. The first is up to €10 million or 2% of the company’s global annual turnover of the previous financial year, whichever is higher.

2. The second is up to €20 million or 4% of the company’s global annual turnover of the previous financial year, whichever is higher.

The potential fines are substantial and serve as a high motivation for companies to ensure compliance.

Referring to the initial points:

  1. Yes, India does have the data protection bill named as Personal Protection Bill (PDP) 2018.

a. “Privacy” as a fundamental right essential to life and liberty.

b. Bill provides the right to an individual to seek protection for personal and sensitive information. PDP divides information in two categories -i) Personal and ii) Sensitive.

c. Data protection Authority is empowered to regulate and control the implementation of the bill in the country.

d. There are grounds created to use or provide consent to use/transfer data.

e. Data also allows to transfer data outside of India but on certain conditions and approvals but do not define the regulations mentioned in GDPR (for more information see http://prsindia.org/billtrack/draft-personal-data-protection-bill-2018 )

f. There is no timeline to notify authority is specified (my research has not found any) but there is the penalty in place as 50 Million INR or 2% worldwide turnover of the fiduciary.

2.   Yes, India has recently put in place DISHA (Digital Information Security in Healthcare, act) for health care industry data protection –https://www.nhp.gov.in/NHPfiles/R_4179_1521627488625_0.pdf

a.   DISHA legislation is focused on healthcare data privacy, confidentiality, security and standardization.

b.   DISHA creates regulatory authorities, both at the central and state level, to enforce the rights and duties envisaged under the legislation.

c.    At the central level, the National Electronic Health Authority (‘NeHA’) and State Electronic Health Authority (‘SeHA’) will be responsible.

d.   Article 38 and 39 provide detailed information on the breach, notify on breach and penalty but not the specification of under which timeline or how much will be the penalty.

In conclusion, although India is behind other jurisdictions when it comes to data protection the current actions are encouraging.

Businessman looking through a magnifying glass vector

Automation Testing

What is Automation Testing?

Automation testing is a Software testing technique to test and compare the actual outcome with the expected outcome. This can be achieved by writing test scripts or using any automation testing tool. Test automation is used to automate repetitive tasks and other testing tasks which are difficult to perform manually.

Automation testing can be defined as a way to run a set of tests over and over again without having to execute them manually. Introducing automation tests in your test strategy is a way to save money and time.

Automation Based on the Type of Tests

Unit Tests:   Unit Tests are the tests that are built to test the code of an application and are usually built into the code itself. They target coding standards like how the methods and functions are written.

These tests are more often written by the developers themselves, however, in today’s world, automation testers may also be asked to write them.

Executing these tests and getting no bugs from them will mean that your code will compile and run without any code issues. These tests usually do not target the functional aspects of the application and as they target code, it is more appropriate to automate them so that they can be run as and when required by the developer.

Integration Tests:   Integration test as the name itself suggests means testing the application by integrating all the modules and checking the functionality of the application.

Integration testing can be done through API testing or can be done through the UI layer of the application.

Regression Tests:   One of the most commonly automated test suites is the regression test suite. Regression, as you may already know, is the test that is done at the end of testing a new module to ensure that none of the existing modules have been affected by it.

It is repeated after each new iteration of testing and the main test cases stay  fixed h usually a few new additions after a new iteration. As it is frequently run almost all the test teams try to automate this pack.

Automation Frameworks

Some commonly used automation frameworks include:

  • Linear (Record and playback)
  • Keyword Driven
  • Keyword Driven
  • Data Driven
  • Page Object Model
  • Modular
  • Modularity Framework: We are using this

Characteristics

  • The objects are defined once and reusable in all test methods.
  • Small and to-the-point methods are created for individual functionalities
  • The test case is the collection of these small methods and reusable objects
  • This allows us to write maintainable code.

Automation Tools which we are using

Based on the type of testing you are targeting and the type of framework that you may want to build around it, the following tools are available to use:

Selenium: Very powerful tool for testing Web Applications. Provides multiple browser support.

The application which should be automated must have these factors:

  • The application should not be in the early stages of its development. (The application should have all or some modules which are stable and tested by manual testers)
  • The UI of the application must be stable. (The UI must not change frequently)
  • The manual test cases of this application should be in written form.

Benefits of Automation Testing

 

  • 70% faster than the manual testing
  • Wider test coverage of application features
  • Reliable in results
  • Ensure Consistency
  • Saves Time and Cost
  • Improves accuracy
  • Human Intervention is not required while execution
  • Increases Efficiency
  • Better speed in executing tests
  • Reusable test scripts
  • Test Frequently and thoroughly
  • More cycle of execution can be achieved through automation
  • Early time to market

 

What is Selenium?

Selenium is a free (open source) automated testing suite for web applications across different browsers and platforms. It is quite similar to HP Quick Test Pro (QTP now UFT) only that Selenium focuses on automating web-based applications. Testing done using a Selenium tool is usually referred to as Selenium Testing.

Selenium is not just a single tool but a suite of software, each catering to different testing needs of an organization. It has four components.

  • Selenium Integrated Development Environment (IDE)
  • Selenium Remote Control (RC)
  • WebDriver (Using this)
  • Selenium Grid

Brief Introduction WebDriver

The WebDriver proves itself to be better than both Selenium IDE and Selenium RC in many aspects. It implements a more modern and stable approach in automating the browser’s actions. WebDriver, unlike Selenium RC, does not rely on JavaScript for Automation. It controls the browser by directly communicating with it.

The supported languages are…

    • Java
    • C#
    • PHP
    • Python
    • Perl
    • Ruby
    • Note on Browser and Environment Support

 

 

WebDriver

Browser Support:

  •      Internet Explorer versions 6 to 11, both 32 and 64-bit
  •      Microsoft Edge version 42.10240 & above ( partial support some functionalities under development)
  •      Firefox 39.0 and above
  •      Google Chrome 44.0. and above
  •      Edge Beta version 79 & Above

Operating System:  All operating systems where the browsers above can run.

Download & Install Visual Studio

Step 1 – Install Microsoft visual studio 2017 & above

Step 2 – Downloaded VS_Community exe installed & open that exe

Open below the screen so select ASP.NET checkbox is select 

Step 3 – Click on individual components >> Select all the highlighted checkbox if not selected by default. after a click on the Installed button (modify button when already installed VS)

Step 4  Installed Visual Studio successfully.

Open VS and created automation testing project and installed packages process:

Step 5  Select project

Step 6  Select test and unit test project and click on Ok button (If you want so changed the name)

Step – 7 Created project looks like below

Step 8  Right-click on Reference then manage Nugget packages

Step 9 – Basic Browse package required

using OpenQA.Selenium.Chrome;

contains the ChromeDriver class needed to instantiate a CHrome-specific driver onto the browser instantiated by the WebDriver class

using OpenQA.Selenium;

contains the WebDriver class needed to instantiate a new browser loaded with a specific driver

using System.Threading.Tasks;

Wait for load element

Below is sample code to launch Browser and validate Title of the page

Two way to run above code

  1. Right click on the TestMethod1 in the Test Explorer then click on Run
  2. Right click on code window & then click on Run Test(s)

Sample code output window (When click on Open additional output link below)

Untitled-9

SharePoint Integration with MS CRM D365 Portal

Today I tried to Set up SharePoint integration in MS CRM Portal. As usual, I selected Enable option in the confirmation window. It will enable the portal to communicate with SharePoint. While the SharePoint integration is being enabled, the portal restarts and will be unavailable for a few minutes and a message will appear when SharePoint integration is enabled.

But when I clicked on the enable option, I got the message asking for Azure AD consent as given in the below image.

To work around this issue, follow these steps:

PRE-REQUISITES:
  • The CRM user needs to be an Office 365 Global Administrator to be able to access the Office 365 Admin center and thus enable the SharePoint integration with MS Portal.
  • The integration between Dynamics CRM and SharePoint should already exist.
BELOW IS THE STEP BY STEP EXPLANATION OF HOW TO ACHIEVE THE INTEGRATION.

Step 1: Go to Microsoft 365 admin center and select Azure active directory.

Step 2: Go to Azure active directory -> Select App Registrations -> Click on Microsoft CRM Portals.

AAD Admin Center

Step 3: Click on API permissions, so will find all the permissions list as you can see in the below image that some permissions are not granted. To remove them click on remove permission option.

Step 4: Click on Add a permission button and then click on SharePoint.

Step 5: Click on the Delegated Permission option and select all the permissions you required.

Step 6: Don’t forget to grant admin consent, it will take some time to enable on API Permission page.

Step 7: It will add the required SharePoint permissions, respectively. You will also be redirected to provide your consent for the changes to be made in the Azure AD application.

If you do not provide your consent:

  • Enabling or disabling the SharePoint integration will not be complete and an error message will display.
  • Your out-of-the-box Azure AD login on the portal will not work.

Step 8: Now go to PowerApps Portal Admin Center and click on Enable option again as we have done in the initial stage.

It will ask for permission as mentioned in step 8. Click on the Accept button. Now a message will appear when SharePoint integration is enabled successfully.

Untitled-9

MOREYEAHS IMPLEMENTING PROXIMITY THROUGH IOT

MOREYEAHS IMPLEMENTING PROXIMITY THROUGH IOT

In the past few years, the world is more concerned about being connected, every time when technology came which makes the world closer it always becomes a revolution. As we seen in previous decades from telephones to social networking have always proved to be something that not only makes people’s life easy by making the world closer but also turned into a great ROI source.

Summarizing IOT(INTERNET OF THINGS): World is at shift of another revolution but this time it is more focused on connecting the physical devices (electronic devices) with internet and interconnecting them together as a result which makes devices smart by collecting the data at real-time and applying analytics on those data to know what’s going in the real world ie is IoT. “In more simple term technology making every electronic device wirelessly connected to the internet to extract data, to automate jobs is IoT(internet of things)”.

Real-life IOT Scenarios: You probably have been thinking that how these things will make an impact in real life

  • Considering a simple scenario in which a Beacons(BLE Technology a device which can be attached via Bluetooth usually transmits signals) which are installed in your office attached to your mobile with blue-tooth tracking you via signal’s it’s transmitting for eg when you checkout from office to home data will be sent to cloud from mobile and from cloud to any of your connected appliance to cloud-like coffee machine or toaster so you may have your lunch ready while you reach home.
  • Now adding a little complex one, Consider a you got any problem in your car and you see engine light so device monitoring engine data will trigger and send data to cloud book appointment to near warehouse ask your permission to book appointment not also that cloud also send specific details about fault to manufacturer so it can be analyzed how many customers are facing same problem and cause of it which will improve the manufacturer product quality.
  • More advanced scenarios can be implementing proximity in IoT(internet of things) enabled objects which get them to serve your needs at the right place at the right time. “TEAM MOREYEAHS working in the same direction in which projects included of implementing proximity with IoT and helping bigger industries to manage their assets and improving productivity”.

Understanding Proximity: In simple terms, Proximity is IOT driven objects which are changing and reacting according to our location. In more depth tracking your location and making your life more easy by knowing what needs do you have.

Moreyeahs Team is doing the same thing for big corporate giants We are building the platform which implements the proximity(Location tracking of the employees) for the companies in which mass production is done and their production is Labor oriented. As mass production is done so a lot of employees required to be in their places because any employee away from responsibility during working hours causes loss. So tracks of the proximity of each and every employee present at the particular job assigned to them must be kept in check, And work hours are calculated according to it

For e.g.” Considering a company in which large scale production of mobile manufacturing is done, and it requires a lot of employees to be on their workbench to perform the job such a companies have different department from assembling, packaging, maintenance, etc each department with large number of employees so tracking each employee how much they were on their workbench after checking in could save corporate a lot ”.

HOW MOREYEAHS DOING IT??: Using latest Beacon Technology and IoT (Internet of Things) clouds platforms Moreyeahs making it into reality. Beacons are used to track your assets and staff “Beacons are Bluetooth based device which is used as a tracking solution which is cost-effective, Robust, Long lasting and very easily integrate solution ”. Beacons are device transmits signals it repeatedly transmits a single signal that other devices can see. Instead of emitting visible light, though, it broadcasts a radio signal that is made up of a combination of A Bluetooth-equipped device like a smartphone can “see” a beacon once it’s in range.

  • Working and Role of this Beacons.

The beacons can be attached to mobile devices using Bluetooth. There can be an app that can be triggered automatically when comes to the effective range of beacons and though Beacons transmits unique signals can perform different functions for different Beacons. The main Role of Beacons is here to collect data and transfer to the cloud. In a production environment, it can be done in different ways every employee has the app installed in the phone and Bluetooth enabled so at every checking and checkout or when the employee is away from workbench every data is collected from the beacons connected and then transferred to the cloud.

Role of IOT cloud platform: The IoT platform will help us to manage gateways and location engine for beacons it will help us to subscribe data which are published by beacons and we can use these data to apply analytics and generate reports for each employee. Also, we can use different IoT protocols to trigger different IoT devices to variety on actions based on data. In production scenario we are managing and analyzing data published by apps on the cloud-connected to the beacons

  • Challenges we have overcome: There were a lot of challenges that the team has overcome in the following scenario’s:
  • getting data from beacon itself is a challenging task because it gives more than 60 objects in a minute for a single user and we have to get data from many beacons for many users and also trigger multiple functionalities to be done on that data.
  • Secondly, another challenge that Team is successful in overcoming is that we have to get data from beacons to the database in real-time, beacons are sending data to the cloud continuously so we can’t just use rest-API to call data. The team used latest IoT protocol to get streaming in real-time and putting them in the database.
  • Thirdly we have to pipeline the data and apply analytics in it and generate the report for every employee performance

Advantages to our valuable clients:

  • Improve staff productivity by reducing search time for key equipment.
  • Increase asset and space utilization by tracking of occupancy and asset usage.
  • Understand the state and usage patterns of equipment through telemetry information
Untitled-3

Feel “More-Yeahs” now you can automate your calls

Feel “More-Yeahs” now you can automate your calls at your own will by saying bye to the millennial manual dailing process.

Embrace the “JOY” and “YEAHS” of the manageable auto-dialing process more than ever before which will help
1.small to large scale call centers
2. Entrapuner
3. Marketing Firms
4. Sales firms
5. If your Business Use case required calling and messaging
“which help them to”
1.To increase the productivity
2.To Manage Your Resource
3.Cost-Effective Rocket up your sales and marketing
4.Track the insight of your campings
5.No hardware resource single click cloud 6. configuration High-End Automation to save time

Team Moreyeahs has built the Autodailer which is very easy to use and customizable role-based feature (Admin, agent, manager, etc can be customized )
Role Admin can
Easy Onboarding
On-board customers so easy even via uploading excel and rest more years will manage
On-Board Employees
Easily Assign Resource Managers

Power camping

Easy to create camping with existing customers and can add additional customers on camping creating (“save time we know how it has done HAHA” ), excel upload is also available.
Can start and stop camping at their own will
Edit your campings
AutoSave Campings for Future Use Cases/Business Requirements

Track Camping
Can easily track your camping status while running camping, number of calls placed till now, number of calls picked up, current running camping and lot more
Get camping analytics after it runs successfully
Track Agents status on camping
Agent sales analysis on a camping

Easy Resource Management

Always tricky for the manager to assign resources to their work individually and keep track of it, and if everything is done right always there is a loose end to that
is correctly understood by the agent so it achieves the proper execution
No worries Team moreyeahs got your back covered just need to start your camping and on single click

Your Agents can receive the call popup of the customer and to ease their work call will be auto pickup on the agent side and will ring to the customer in camping 🙂 cool right.

Agents just need to conversate when the customer in campings pickups the call and if the customer doesn’t pick up the camping will call another customer automatically

After a call is finished with a customer if the agent wants to schedule a meeting with the customer and can see the scheduled time on their calendar as a reference.

And this is the only part of Agent Active mode. We have manual and break mode for agents and Team moreyeahs can customize the modes for you according to your business needs with Agent

Agent Manual Mode

The manual mode we have provided Agents flexibility to take their scheduled calls and agents can see their scheduled calls for today

Agents just like admin can track his own productivity on our agent dashboard and adjust his deliverables accordingly

In Manager mode: Manager can track the camping status, get agents to work details, assign their deliverables and notify admin and agents.

Other Quality Usecases we have
1. View the notes of customer, filter and sort them
2. Can see how much calls are done to a single customer to so if an agent changes for a customer so no hassle on follow-up.
Many others…

Coming Soon
1. Chat Features Between Admin, Manager and Agents
2. Automatic Notification for scheduled calls
3. Backlog campings which automatically trigger the calls are not picked up on the particular camping that you created and call the customer depending on the Business Requirement
4. Sentiment Analysis of notes given by customer and notes taken by the agent

How To upload a Local file into Microsoft Azure blob Storage?

How To upload a Local file into Microsoft Azure blob Storage?

To upload Local file into Azure blob storage from D365, following steps will be required:

  1. Firstly, create blob storage in azure.

Azure Storage Account

After that create a container in your Azure storage account. Once the container has been created, you need to create a CORS rule in it to allow the JavaScript running in the browser to access it. For testing purposes, I set everything to “*” . It will allow access for every dynamics instance, but this should be locked down when going live.

How to Edit CORS rule before uploading a Local file into Microsoft Azure
Edit CORS rule
  • 2. Then create an upload view on the form
Upload view
Upload view
  • 3. Then create a web Resource with Type Webtype(HTML) in D365 and Call a JS function on it and get file data in object
Web Resource
Web Resource
  •  4. However we need JavaScript Libraries to call azure services. You can use azure-storage.blob JS to use azure services and give reference to your HTML.
  •  5. Then Use the following code to upload into the blob. You will need SAS token and Storage name from azure.

var entityname = window.parent.Xrm.Page.data.entity.getEntityName();

var objectid = window.parent.Xrm.Page.data.entity.getId().substring(1, 37);

var owner = (window.parent.Xrm.Page.getAttribute(“ownerid”).getValue()[0].id).toString();

var data = {

“documentbody”: reader.result.split(‘,’)[1],

“filename”: ‘filename’,

“objectid”: ‘4fdsf44-ds4-34vdf’,//recordID

“username”: ‘crm account Username’,

“password”: ‘crm account password’

“url”: crmorganisationurl

};

// https:// storage.blob.core.windows.net

var blobUri = ‘https://’ + ‘storagename’ + ‘.blob.core.windows.net’;

//Get sas token from Azure Account

var SAS_TOKEN = ‘?sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2020-02-29T17:45:00Z&st=2018-10-11T09:45:00Z&spr=https,http&sig=t3uCoKT39AU%2F7CaI%2FnDICWExwF2KqC3sq9LAbSyfppg%3D’;

var blobService = AzureStorage.Blob.createBlobServiceWithSas(blobUri, SAS_TOKEN);

// If one file has been selected in the HTML file input element

var file = $(‘#FileInput’).get(0).files[0];

var customBlockSize = file.size > 1024 * 1024 * 32 ? 1024 * 1024 * 4 : 1024 * 512;

blobService.singleBlobPutThresholdInBytes = customBlockSize;

var finishedOrError = false;

var speedSummary = blobService.createBlockBlobFromBrowserFile(‘internal’, file.name, file, { blockSize: customBlockSize }, function (error, result, response) {

finishedOrError = true;

if (error) {

alert(‘Error’);

} else {

displayProcess(100);

}

});

So, with the help of the above steps, we can make business easy.