Tag Archives: Software

HL7 Protocol Enhances Medical Data Transmissions–But Is It Secure?

In our last blog, we examined how DICOM became the standard format for transmitting files in medical imaging technology. As software developers, we frequently find ourselves working in the medical technology field navigating new formats and devices which require specialized attention.

This week, we will jump into one of the standards all medical technology developers should understand: the HL7 protocol.

The HL7 protocol is a set of international standards for the transfer of clinical and administrative data between hospital information systems. It refers to a number of flexible standards, guidelines, and methodologies by which various healthcare systems communicate with each other. HL7 connects a family of technologies, providing a universal framework for the interoperability of healthcare data and software.

Founded in 1987, Health Level Seven International (HL7) is a non-profit, ANSI-accredited standards developing organization that manages updates of the HL7 protocol. With over 1,600 members from over 50 countries, HL7 International represents brain trust incorporating the expertise of healthcare providers, government stakeholders, payers, pharmaceutical companies, vendors/suppliers, and consulting firms.

HL7 has primary and secondary standards. The primary standards are the most popular and integral for system integrations, interoperability, and compliance. Primary standards include the following:

  • Version 2.x Messaging Standard–an interoperability specification for health and medical transactions
  • Version 3 Messaging Standard–an interoperability specification for health and medical transactions
  • Clinical Document Architecture (CDA)–an exchange model for clinical documents, based on HL7 Version 3
  • Continuity of Care Document (CCD)–a US specification for the exchange of medical summaries, based on CDA.
  • Structured Product Labeling (SPL)–the published information that accompanies a medicine based on HL7 Version 3
  • Clinical Context Object Workgroup (CCOW)–an interoperability specification for the visual integration of user applications

While HL7 may enjoy employment worldwide, it’s also the subject of controversy due to underlying security issues. Researchers from the University of California conducted an experiment to simulate an HL7 cyber attack in 2019, which revealed a number of encryption and authentication vulnerabilities. By simulating a main-in-the-middle (MITM) attack, the experiment proved a bad actor could potentially modify medical lab results, which may result in any number of catastrophic medical miscues—from misdiagnosis to prescription of ineffective medications and more.

As software developers, we advise employing advanced security technology to protect patient data. Medical professionals are urged to consider the following additional safety protocols:

  • A strictly enforced password policy with multi-factor authentication
  • Third-party applications which offer encrypted and authenticated messaging
  • Network segmentation, virtual LAN, and firewall controls

While HL7 provides unparalleled interoperability for health care data, it does not provide ample security given the level of sensitivity of medical data—transmissions are unauthenticated and unvalidated and subject to security vulnerabilities. Additional security measures can help medical providers retain that interoperability across systems while protecting themselves and their patients from having their data exploited.

Top Mobile Marketing Trends Driving Success in 2021

Mobile app marketing is an elusive and constantly evolving field. For mobile app developers, getting new users to install games is relatively cheap at just $1.47 per user, while retaining them is much more difficult. It costs on average $43.88 to prompt a customer to make an in-app purchase according to Liftoff. An effective advertising strategy will make or break your UI—and your bank. In 2019, in-game ads made up 17% of all revenue. By 2024, that number is expected to triple.

2020 was a year that saw drastic changes in lifestyle—mobile app users were no exception. What trends are driving app developers to refine their advertising and development tactics in 2021? Check out our rundown below.

Real Time Bidding

ads-bidding-for-authors-strategy-guide-and-bid-calculator

In-app bidding is an advanced advertising method enabling mobile publishers to sell their ad inventory in an automated auction. The technology is not new—it’s been around since 2015 when it was primarily used on a desktop. However, over the past few years, both publishers and advertisers have benefited from in app-bidding, eschewing the traditional waterfall method.

In-app bidding enables publishers to sell their ad space at auction. Advertisers simultaneously bid against one another. The dense competition enables a higher price (CPM) for publishers. For advertisers, bidding decreases fragmentation between demand sources since they can bid on many at once. In the traditional waterfall method, ad mediation platforms prioritize ad networks they’ve worked with in the past before passing it on the premium ad networks. In-app bidding changes the game by enabling publishers to offer their inventory to auctions which include a much wider swath of advertisers beyond the traditional waterfall.

Bidding benefits all parties. App publishers see increased demand for ad inventory, advertisers access more inventory, and app users see more relevant ads. In 2021, many expect in-app bidding to gain more mainstream popularity. Check out this great rundown by AdExchanger for more information on this exciting new trend.

Rewarded Ads Still King

rewarded ad

We have long championed rewarded ads on the Mystic Media blog. Rewarded ads offer in-game rewards to users who voluntarily choose to view an ad. Everyone wins—users get tangible rewards for their time, publishers get advertising revenue and advertisers get valuable impressions.

App usage data from 2021 only increases our enthusiasm for the format. 71% of mobile gamers desire the ability to choose whether or not to view an ad. 31% of gamers said rewarded video prompted them to browse for products within a month of seeing them. Leyi Games implemented rewarded video and improved player retention while bringing in an additional $1.5 million US.

Facebook’s 2020 report showed that gamers find rewarded ads to be the least disruptive ad format, leading to longer gameplay sessions and more opportunities for content discovery.

Playable Ads

Playable ads have emerged as one of the foremost employed advertising tactics for mobile games. Playable ads enable users to sample gameplay by interacting with the ad. After a snippet of gameplay, the ad transitions into a call to action to install the game.

The benefits are obvious. If the game is fun and absorbing to the viewer, it has a much better chance of getting installed. By putting the audience in the driver’s seat, playable ads drive increased retention rates and  a larger number of high lifetime value (LTV) players.

Check out three examples of impactful playable ads compiled by Shuttlerock.

Short Ads, Big Appeal

As we are bombarded with more and more media on a daily basis, finding a way to deliver a concise message while cutting through the clutter can be exceptionally difficult. However, recent research from MAGNA, IPG Media Lab, and Snap Inc. shows it may be well worth it.

Studies show short-form video ads drive nearly identical brand preference and purchase intent as 15 second ads. Whereas short form ads were predominantly employed to grow awareness, marketers now understand that longer ads are perceived by the user as more intrusive, and they can get just as much ROI out of shorter and less expensive content.

Check out the graph below, breaking down the efficacy of 6 second vs. 15 second ads via Business of Apps.

Screen-Shot-2020-12-15-at-14.37.18

Conclusion

Mobile advertisers need to think big picture in terms of both their target customer and how they format their ads to best engage their audience. While the trends we outlined are currently in the zeitgeist, ultimately what matters most is engaging app users with effective content that delivers a valuable message without intruding on their experience on the app.

For supplementary reading on mobile marketing, check out our blog on the Top Mobile Ad Platforms You Need to Know for 2021

How to Optimize GPS and Background Processes for Android Oreo

As our past article Android Oreo Serves Up the Sweets will show, Android Oreo lived up to expectations upon release and gave both consumers and app developers plenty of enhancements to enjoy.

However, for app developers, enhancements to the UI aimed to conserve battery life affect GPS services and require changes to the code in order to optimize pre-existing apps for the new OS. Specifically, Android Oreo restricts apps that are running in the background with limited access to background services. Additionally, apps can no longer use their manifests to register for most implicit broadcasts. When an app is in the background, it is given several minutes to create and use services, but at the end of that time slot, the app is considered idle and the OS will stop running background services.

These changes directly affect apps with geolocation functionality. Android Oreo limits how frequently apps can gather location in the background. Background apps can only receive location updates a few times each hour. The APIs affected due to these limits include Fused Location Provider, Geofencing, Location Manager, Wifi Manager, GNSS Measurements and GNSS Navigation Messages.

Apps that currently use location services in previous Android OS’s will require an update to optimize for Android Oreo. Apps that use location services range anywhere from navigational apps like Waze and Google Maps to social media apps like Twitter, and food apps like Yelp and Seamless.

For apps that require frequent location updates, increasing the usage of the app in the foreground will ensure that the app gets frequent access to location information. In order to program this, developers must implement startServiceinForeground() instead of startService() in Activity class.

In Service class in onStartCommand(), developers can use the following code:

Screen Shot 2018-05-07 at 12.46.57 PM

Via StackOverflow

When foreground services running in the background consume high energy, Oreo fires an automatic push notification to the user informing them of the battery-consuming service. With the push notification in place, app users are more likely to uninstall apps that track location without conserving battery life, putting the onus on software developers to deliver battery-efficient apps. One of the biggest issues facing some app developers is ensuring that battery life is not sucked as a result of tracking location in apps. Check out our full rundown of how to build battery-efficient geolocation apps for supplementary reading.

The results of the limits put in place with Android O are increased battery life for the user and the necessity for app owners to consider how their apps interact with location information. Retaining a thorough understanding of how location information will be retrieved and used through out the development process ultimately benefits both software developers and consumers with better UI and more energy efficient processes.

How to Safely Encrypt Sensitive Data in Your Mobile App

In November 2014, cybercriminals perpetrated one of the biggest cybercrimes of the decade. They hacked into Sony’s computer systems, stole sensitive data, paralyzed the company’s operations, and gradually leaked embarrassing information to the media. The hackers threatened to continue until Sony agreed to pull the controversial comedy The Interview from its theatrical release.

As the headlines will tell you, the encryption of sensitive data is one of the most important investments a company can make. Facebook is currently under heat for data protection practices. The UK National Crime Agency called WannaCry a signal moment for awareness of cyberattacks and their real world impact. With the stakes higher than ever, the encryption of sensitive data in apps has never been more important.

Here are our top tips on how to safely encrypt sensitive data in your mobile app.

TIP #1: Coding and Testing

Writing secure code is fundemental to creating a secure app. Obfuscating and minifying code so that it cannot be reverse engineered is critical to keeping a secure environment. Testing and fixing bugs when they are exposed should be an ongoing investment of resources as it will pay off in the long run.

Tip #2: Scramble Data

Sometimes, the best method of encrypting data is scrambling. Software and web developers often become obsessed with storing every bit of data in databases and logs, assuming it may be useful later, but doing so can create a target for cybercriminals.

Cunning developers will only store a scrambled version of the data, making it unreadable to the outside eye, but still useful for those who know how to query it correctly.

For an in-depth dive into scrambling data, check out this awesome essay on how Amazon does it.

Tip #3: In Transit Vs. At Rest Encryption

There are two types of data to be encrypted: in transit data and at rest data. In transit data is moving data, be it in transit via email, in apps, or through browsers and other web connections. At rest data is stored in databases, the cloud, computer hard drives, or mobile devices. In transit data can be protected through the implementation of robust network security controls and firewalls. At rest data can be protected through systematically categorizing and classifying data with data protection measures in mind.

Tip #4: Secret Vs. Public Key Algorithms

Secret Key Algorithms are algorithms that use the same key for encryption and decryption. Public-key algorithms us two different encryption keys, one for encryption and the other for decryption. The public key is how the data is sent and the private key decodes it. Public-key algorithms are more secure, but require more computer processing power.

Tip #5: Blockchain Cryptography

We’ve covered the Blockchain in our past article on The Revolutionary Mechanics of the Blockchain. Blockchain cryptography has been on the rise because blockchain databases are distributed and thus more resilient in the face of a DOS attack.

Tip #6: Apps that Clean Up after Themselves 

Apps that collect sensitive information don’t necessarily need to store it. It is wise to delete sensitive data from mobile apps when the data is no longer in active use.

Tip #7 Choose the Right Algorithm

There are several popular pre-existing algorithms in existence that can be used to encrypt sensitive data in mobile apps. Check out UpWork’s awesome rundown:

  1. Advanced Encryption Standard (AES)
  2. RSA
  3. IDEA
  4. Signal
  5. Blowfish and Two Fish
  6. Ring Learning With Errors or Ring-LWE

Over the last 10 years, enterprise-wide use of encryption has jumped by 22 percent according to the Ponemon Institute. When building a mobile app, investing in encrypting sensitive data will pay off in the long run and haunt those that short-change it.

The Real Power of Artificial Intelligence

Technological innovations expand the possibilities of our world, but they can also shake-up society in a disorienting manner. Periods of major technological advancement are often marked by alienation. While our generation has seen the boon of the Internet, the path to a new world may be paved with Artificial Intelligence.

WHAT IS ARTIFICIAL INTELLIGENCE

Artificial intelligence is defined as the development of computer systems to perform tasks that normally require human intelligence, including speech recognition, visual perception, and decision-making. As recently as a decade ago, artificial intelligence evoked the image of robots, but AI is software not hardware. For app developers, the modern-day realization of artificial intelligence takes on a more amorphous form. AI is on all of your favorite platforms, matching the names and faces of your friends. It’s planning the playlist when you hit shuffle on Apple Music. It’s curating the best Twitter content from you based on data-driven logic that is often too complex even for the humans who programmed the AI to decipher.

MACHINE LEARNING

Currently, Machine Learning is the primary means of achieving artificial intelligence. Machine Learning is the ability for a machine to continuously improve its performance without humans having to explain exactly how to accomplish all of the tasks it has been given. Web and Software programmers create algorithms capable of recognizing patterns in data imperceptible to the human eye and alter their behavior based on them.

For example, Google’s autonomous cars view the road through a camera that streams the footage to a database that centralizes the information of all cars. In other words, when one car learns something—like an image or a flaw in the system—then all the cars learn it.

For the past 50 years, computer programming has focused on codifying existing knowledge and procedures and embedding them in machines. Now, computers can learn from examples to generate knowledge. Thus, Artificial Intelligence has already permanently disrupted the standard flow of knowledge from human to computer and vice versa.

PERCEPTION AND COGNITION

Machine learning has enabled the two biggest advances in artificial intelligence:  perception and cognition. Perception is the ability to sense, while cognition is the ability to reason. In a machine’s case, perception refers to the ability to detect objects without being explicitly told and cognition refers to the ability to identify patterns to form new knowledge.

Perception allows machines to understand aspects of the world in which they are situated and lays the groundwork for their ability to interact with the world. Advancements in voice recognition have been some of the most useful. In 2007, despite its incredibly limited functionality, Siri was an anomaly that immediately generated comparisons to HAL, the Artificial Intelligence in 2001: A Space Odyssey. 10 years later, the fact that iOS 11 enables Siri to translate French, German, Italian, Mandarin and Spanish is a passing story in our media lifecycle.

Image recognition has also advanced dramatically. Facebook and iOS both can recognize your friends’ faces and help you tag them appropriately. Vision systems (like the ones used in autonomous cars) formerly made a mistake when identifying a pedestrian once in every 30 frames. Today, the same systems err less than once in 30 million frames.

EXPANSION

AI has already made become a staple of mainstream technology products. Across every industry, decision-making executives are looking to capitalize on what AI can do for their business. No doubt whoever answers those questions first will have a major edge on their competitors.

Next week, we will explore the impact of AI on the Digital Marketing industry in the next installment of our blog series on AI.

Scopes: How Ubuntu Is Changing the OS Landscape by Eschewing Apps

In the world of operating systems, Android and Apple reign supreme. According to leading research firm Gartner, about 97% of new smartphones sold are either iPhone or Android devices. While Windows, Firefox OS, and Blackberry all attempted to take a seat at the OS table, no company has been able to top Android & iOS. With the landscape more fixed than ever, Ubuntu has entered the arena with a different strategy which may break through the noise and catch on.

Ubuntu managed to stir up publicity in 2013 when they launched the largest crowdfunding campaign of all time through IndieGoGo—and failed. They attempted to raise $32 million in one month, but only hit $12.8 million and received none of the funds. Regardless, the stunt captured the attention of many and helped make a name for the young company.

Ubuntu has made waves in the tech world with an innovative strategy which eschews traditional OS models. Instead of apps, Ubuntu uses Scopes. Scopes are home-screen dashboards which present content from various sources alongside each other on a page. For instance, the music Scope puts songs stored locally on the device side-by-side with Youtube, Apple Music, and other music library services. The video Scope allows users to search for a title and see where it is available for viewing rather than forcing the user to to search individual video streaming libraries like Netflix and Hulu. Instead of forcing the user to search for content within a specific app, Scopes present the content from all providers that have it available.

If apps are folders in a computer, Scopes allow the user to search through the entire local storage disk rather than have to check each individual folder. The philosophy is intended to provide a more intuitive user experience. When a user wants to find content or information, they care less about where it’s coming from than receiving the content with the highest quality attainable.

Check out this awesome video walkthrough of Scopes functionality to better understand how they work visually:

Scopes are easier and less time-consuming to design than native-apps. Scopes also appeal to mobile developers as they offer more discoverability for their companies than apps in the app store. The lack of division in presenting search results ensures the best content will rise to the top, rather than the most popular brand. Given the lower price of entry and the innovative approach, Ubuntu parent company Canonical has managed to bring name-brand content providers to build Scopes, including Twitter, Facebook, Amazon, Yelp, SoundCloud, and more. Communities are also developing Scopes for other apps, including Dropbox and Spotify, using their APIs.

Meizu launched the Meizu PRO 5 Ubuntu Edition in February 2016. They currently have four phones on the market, including BQ Aquarius E5 HD, and the previous versions of either device. Windows 10 with Ubuntu recently went into public preview. Going forward, Ubuntu must become available on enough devices to gain traction and popularity if they want to compete with Android & iOS. Given the amount of resources at their disposal and the clear innovation on display in Ubuntu’s philosophy, we wouldn’t be surprised if Apple or Android took a shot at figuring out a way of applying Scopes within their OS.