Perficient Digital Transformation Blog


Archive for the ‘Integration’ Category

Most web sites demand integration to one or more types of functionality. Posts with this category will describe what and how to do this type of integration.

The Year in Review | Top 10 Digital Transformation Posts of 2015

Top 10 Digital Transformation Posts of 2015


Digital Transformation was one of the biggest trends of 2015. Transformation is vital, but can be overwhelming if you don’t know where to start. These were the ten posts that you found most compelling this year:


Ten | Top 10 Reasons Why You Need API

There are many reasons to have an API. We list the top ten.


Nine | The Benefits of Service-Oriented Architecture Approach for APIs

How to ensure that you have the best of SOA, APIs and microservices.


Eight | Don’t Underestimate Employees and Culture in Your Transformation

If you want to truly transform your business, you must focus on culture.

Read the rest of this post »

How to Implement Lighter Weight Portals, Part 3: Knockout Portlet

In this series, I’m showing how Portals don’t have to be heavyweight.  In Part 1, I wrote about how to make the infrastructure lighter by using cloud or IBM’s Pure System.  In Part 2, I introduced the concept of using IBM’s Web Content Manager system to build very simple portlets.

Now in this final installment, I am going to extend the concepts introduced in Part 2 to show how we can build more complex portlets, but still keep everything lightweight.  To review quickly, in Part 2, I avoided the build and deploy cycle of building Java portlets by using the built-in content management system – WCM.  In that example, I used WCM to display a Reuter’s news feed from a simple Javascript widget supplied by Reuters.

My Appointments Portlet

Final Appointments Portlet

In this blog, I want to implement a more complex portlet using Knockout, which is a popular Javascript framework.  My example is to display in a portlet a list of my Doctor Appointments pulled from a REST service.  Our goal is still to keep this lightweight, so I shouldn’t see a lot of code.  The first screen shot shows you what the final version looks like in Portal 8.

A typical web page or application consists of several sections:

  • CSS
  • Links to external files
  • HTML body
  • Javascript

In WCM, we can create an authoring template that contains four HTML fields, one for each of the sections described above. The authoring template also has a workflow associated with it so we can control the publishing of our code.
Read the rest of this post »

Integrating IBM Digital Experience and Microsoft SharePoint

Jason Cornell spoke at the IBM Digital Experience Conference about how well IBM Digital Experience software integrates with SharePoint. When IBM talks about integration with SharePoint, its usually how to display SharePoint content or apps within WebSphere Portal.

There are a bunch of ways that IBM has enabled out-of-the-box integration with SharePoint:

  • IBM has Web Application Bridge to pull in SharePoint sites, libraries, lists, wikis, blogs, announcements and so on.  The Bridge displays content from SharePoint as-is or you can intercept the HTML produced by SharePoint and do some manipulation on it.
  • Another technique is to use RSS Feed portlets to display SharePoint RSS Feeds.
  • IBM has Exchange portlets that allow you to bring in mail and calendaring into Portal.
  • When you have SharePoint Web, REST services or SQL services, IBM can use its new Digital Data Connector to grab feeds from those services and allow you to manage the display of the data in Digital Experience.
  • When you use SharePoint for document management, you can use CMIS capabilities to provide access to those documents from your WebSphere Portal. IBM provides a sample portlet on the Digital Experience wiki that access a SharePoint library, displays content and allows writing content to SharePoint.
  • Sometimes you want to migrate content from SharePoint. For this you can use the IBM’s Web Content Integrator to feed that SharePoint content directly into IBM Web Content Manager.  In this case, the content will live inside IBM WCM.
  • IBM’s Search technology will provide search services against SharePoint sites.  Search results can be combined with content from other sites to have a unified search experience.

Jason demonstrated all these techniques in IBM Digital Experience software.  Some of the pre-built applications are available on IBM’s Solution Catalog and some are available on the Digital Experience wiki site. All of these pre-built integrations are free to use, though you will have to configure most them appropriately to connect to the SharePoint system.

Adobe Summit: Understanding customer insight without getting creepy

In a different session one of the speakers said there is a fine line between understanding customer sentiment and being creepy. To get insight, you have to monitor what they say, what the do on your site and others’. But you don’t want to go too far and cross that creepy line.

In this session Craig Stoe and Andrew Bolander spoke about this topic. You can use Adobe Social to gain customer insight. These insights should lead to developing stronger relationships with customers and delivering more consistent experiences.


What is social data?
– engagement data is what is going on with the customer
– listening data are brand relevant keywords, sentiment, influencers
– attribution data is what we can learn about the customer personal attributes

Start with discovery. This is where you mine data about customers. Next is explore. Here you start to look for more engagement data. At the buy stage, customers express buying signals and you need to pick up on these to make offers. All this data can lead to better engagement.

A social profile helps you collect all this data so you have a better view of the customer. Adobe has developed a scoring algorithm that can be assigned. This consists of measuring User Class, Supporter index, Buzz and User Distribution. These measures lead to a composite score that can be used to target customers.

Andrew presented 5 steps to implement and use the social profile.
1. Listen
2. Prioritize
3. Engage properly
4. Gather insights
5. Share insights

He presented a live demo of Adobe Social and how to build and use the social profile through tweets from the audience.

For listening, you create listening rules that help you filter across the social platforms, hashtags, and attributes.

In prioritization, you can set up automation rules to route content around the organization. You can also apply segments and tags to results of the rules.

When it comes time to engage, you use Unified Moderation, which places multiple platforms under one screen so you can moderate multiple systems at the same time. Moderators can claim content, retweet, respond, and close out the item as handled. By claiming content, you prevent others from working on ending up with duplicate responses.

The social profile is connected to the moderation screen and you can review a users profile attributes. The system can also pull together different accounts into one profile. So one profile could link you twitter data with your Facebook data.

The social profile provides the customer insights, including emotion scores, sentiment scores, tracking of previous interactions and more.

As a final piece, Andrew showed how Adobe Social integrates and shares with the Adobe Marketing Cloud. For example, if a user logs into your AEM site using a Facebook login, their actions on the site can contribute to their social profile.

Optimizing Experiences Using IBM TeaLeaf

IBM Tealeaf is a tool that can help you optimize customer experiences with your website.  Here are a couple of examples of where Tealeaf can be used:

  • A customer has an issue with the website and calls your service center for help.  Rather than have the customer relive the poor experience, Tealeaf allows the CSR to see what happened and take corrective action.
  • Customers are not responding to your marketing offers.  They get part-way through the desired interaction, but don’t finish.  Use Tealeaf to see what users are doing on the site and maybe discover an error popping up.

Tealeaf screen shot

With Tealeaf you can passively capture all actions, all interactions, and all customer experience obstacles.  Since Tealeaf is passive, you don’t have to alter your code to start working with it.

Here are some results that Forrester found with Tealeaf:

  • 3.5% increase in conversion rates
  • 1% improvement in customer retention rates
  • 80% reduction in investigative time
  • 249% ROI
  • 7.3 months payback

Tealeaf also includes built-in analytics, including a Struggle Score.  Here you can tweak the analytics to alert you when Tealeaf perceives a customer is struggling.  Using the analytics, you can drill down into the data and find out who succeeded vs failed in attempting an interaction.

You can also set up “known obstacles” so you can track specific problem areas.  Say you have a known issue with a recent update, but its not bad enough to fix it right away.  These known problems can then be separated from “unknown obstacles” so you can identify new, unknown issues.

Oh, and all this works with mobile web clients too. You can track zooms, swipes, pinches and more. If you have mobile apps, you can use a Tealeaf SDK to integrate Tealeaf capabilities into the app itself.

Data entered by the user is stored in a secure way by Tealeaf and sensitive information can be obfuscated for specific roles of people who need to access the user data.

Finally, you can use the analytics provided by Tealeaf to assess the impact to your business.  This can help prioritize issues, or help sell the need to address problems.

Tealeaf really provides a lot of insight into your website that traditional web analytics tools can’t match.

What’s coming in WebSphere Portal and WCM

Rob Will, Chief Architect at IBM, presented the future vision for Portal and WCM today.   He started out talking about how the concept of customer experience has been evolving over the past few years.  A core shift has been to enable non-technical users to do more and more with less reliance on IT.

What's Coming in WebSphere Portal and WCMA slight change with profound implications has been the change from a Web experience to a Digital experience, which implies support many more devices and output streams.   Portal and WCM has always been about web sites, not mobile applications.  Portal is now in the mobile web site business to enable multi-channel web site business.  Portal is still the integrating platform for content, applications, etc.  Everything done in Portal and WCM is now done with mobile in mind.

IBM Worklight is the hybrid application platform that integrates with Portal and WCM.   Worklight enables access to all the mobile device features through portlets.  Its easy to create a Worklight adapter to grab content from WCM to display in a native application.  WCM’s personalization engine can also be leveraged from Worklight so you see the same promotions on the web as you see in the mobile app.

Mobile Directions

  • Improving integration to support device classes
  • Fine tuning seamlessness of the theme integration
  • Co-deploy Worklight on Portal

Content and Rich Media

  • More and more convergence between portal and content management
  • Projects and Templates (in Portal 8) are heavily relied on in future releases
  • Content Template Catalog 4.1.2 came out last week – uses latest CKEditor for inline editing
  • Vanity URLs- in beta now.  You can completely control the URL.  URLs are stored in WCM to support Syndication.  This feature will deprecate URL Mappings in Portal.
  • WCM Content Security is more seamless with Portal.
  • Attribute based security means you can control access to content based on Attributes.
  • Project templates make it easier to set up projects, including predefined workflow
  • Now everyone is entitled to EditLive! Enterprise version
  • Customers on have entitlement to WebRadar which is content reporting and analytics
  • Cross Version syndication is supported to ease content migration.  You can syndicate from WCM CF26 or higher to WCM CF09 or higher
  • Syndication – improvements in error messaging, error handling, more retry capabilities.  Also in the Authoring UI, you can see a status of each object’s syndication.
  • Rich Media Edition seamlessly integrates with MediaBeacon.
  • Deliver and Stream HD Videos – this includes integration with BrightCove

Personalization and Targeting

  • In 8.0 IBM added in-context rules editing.  New minor enhancements are coming here.
  • Marketing Management is more of a focus for a richer experience, including Unica Marketing Center and IBM Interact.
  • New Portlet allows user to enter a few details about the spot and the portlets does all the work to bring in offers from Interact.  This reduces the rules that you have to write in portal.

WCM and Commerce

  • This is available now.
  • You can link content from WCM directly into a commerce site.  This also includes preview capability


  • Social rendering in takes content from connections and delivers them inside portal mixed with other content and applications. WCM presentation templates are used to make the social content look like other content on the page.
  • In the next version, IBM provides a bunch of enhancements.  Discussion threads hosted on IBM Connections, but linked to WCM content.   Here the visual experience of the discussion is controlled by WCM.
  • Now you can Like, create posts, comment, etc right in line.
  • Dynamic filters for social lists – these lists cooperate with other page components to filter content and drilling down in lists.
  • This is all available in mobile web too.

For a sample of how well Portal, WCM and Connections are integrated together, take a look at the Connect 2014 Site:

  • News and updates are blogs in Connections
  • Events are in WCM.
  • Session info is in WCM,
  • Speaker profile is in Connections.
  • Downloads are in Connections Files.
  • Session add is a DB2 application

Digital Data Connector (DDC) – this is a new concept and we’ll more information on this shortly.

  • Extends social rendering and WCM to any type of data source.
  • Can take most data source and bring into Portal through social rendering

I had to leave this session early, so I will follow up with another post on the rest of the new features coming in the future.

A beta version of Portal is now available if you want to try out some of these features.




IBM WebSphere Portal adds enhanced marketing features

Almost one year ago at IBM Connect 2013, IBM showed some advanced marketing integration with IBM WebSphere Portal.  The demos showed marketers easily customizing portal pages with targeted content based on market segmentation.  Some of the features demo’d last year have slowly crept into the product.

Today, though, IBM announced a much better integration between WebSphere Portal and IBM’s Enterprise Marketing Management (EMM) products.  Through EMM products, marketers can create and manage campaigns, segments, etc.  Now these new EMM Portlets will allow marketers to select a location on a portal page where marketing content will appear and then pick the rules to apply to this content.

IBM Marketing Center Image

Image Source: IBM

The new EMM portlets are available in IBM’s Solutions Catalog here:  Documentation can be found here:

I’m sure that IBM will be showing this new integration off at IBM Connect 2014 in Orlando this month.  If you get a chance to go and see a demo, let me know what you think.  I’ll be there and hope to see it live.

Dreamforce: Service Cloud

I mentioned Salesforce 1 in a previous post, a new platform to run Salesforce on mobile devices.  Service Cloud is also being enabled for Salesforce 1, so you can run Service Cloud applications on mobile devices.  Salesforce demonstrated how Philips embedded Service Cloud into an ultrasound machine.  When a technician has trouble with the ultrasound machine, she can hit a support button and the device will log events into Service Cloud and connect to the Philips support center.  The support center then uses Service Cloud to manage the case and provide the support team with knowledge articles and more.

The team also showed how Salesforce 1 can run on Google Glasses, so technicians sent out to the field can view the Service Cloud right on the Google Glasses. IMG_0145Service Cloud also includes advanced screen sharing which also runs on the Salesforce 1 platform.  This means that the technician wearing Google Glasses can do a screen share with the customer service center.  In the demo they showed how the technician can transmit what they see through Google Glasses back to the support center where the central technicians can guide the remote work and deliver content right to Google Glasses.

By delivering Service Cloud through all these various devices using Salesforce 1, Salesforce is creating a whole new paradigm for companies that need to implement service based environments.


Thank You IFTTT for Making Our Lives Easier

I am enamored with IFTTT (pronounced as IFT).  IFTTT is like that parent or spouse that does things for you.  If you are sitting on the couch, you can call out, “Can you turn the lights off?” and that person will do it for you.  You want a sandwich?  “Honey can you get me sandwich?” and whoosh there it is.  IFTTT is like that.

You haven’t heard of IFTTT? It is an internet service that you lets you connect systems together to do something for you using the simple logic of “If … then do …”.


As shown in the diagram here, IFTTT consists of recipes that take a trigger and then performs an action. As an example, say you create a blog post like I’m doing right now. Every time you create a new article you also send a tweet to your followers.  As a recipe that can be written as “If I post a new blog entry, then tweet it with a link.’  Here is how that looks in IFTTT:


When I create a new blog post, I have IFTTT automatically create a new entry in Yammer, Chatter, LinkedIn and Twitter to get the message out.  This is also really useful when I schedule an article to post on a particular day in the future.  I don’t have to remember to go Yammer and Chatter to post the new entry – IFTTT takes care of it at that time.  Too bad it can’t deliver me a sandwich – maybe the IFTTT can hook up with Jimmy John’s to deliver a sandwich when I tweet “I’m hungry”.

The power of IFTTT comes in the number of systems that can be a trigger and the number of systems that can be an action.  The more systems that can be connected together, the more powerful this tool becomes.  At the same time, the more these triggers and actions are open, the better.

In these two aspects IFTTT is diong a great job.  The list of systems that can be interconnected is already long and growing by the day.  While many of the systems are social based systems, like Twitter, Facebook, Instagram, etc. there are quite a few other systems in the list, including email, SMS, RSS, a clock, etc.  A good example includes the Hue lightbulbs from Philips.  These lightbulbs connect to your wireless network and can be controlled remotely. There are recipes to turn on the lights at dusk, change the color when its raining (Purple Rain!) and more.  The one I liked blinks the light when you receive an email from a specific person.  Today I see there are 400 recipes dealing with Hue.

IFTTT has also made the recipes open, so you can create your own recipes, keep them personal or share them, and use recipes that other people have shared.  Recipes use standard notation to grab data from the underlying system.  For example, in my If WordPress Then Twitter recipe, I tell Twitter to use the title of my post and the url to my blog as part of the tweet.  At the same time, you can customize recipes based on your needs by adding your own text or including additional predefined tags.

Finally IFTTT has mobile versions that work with your iOS and Android devices.  You can use these mobile apps to IFTTT pictures you take, take actions on contacts and more.

Here are a few recipes that I think are pretty useful:

Want to save email attachments outside of email?  This one copies email attachments to Dropbox automatically.Email to Dropbox


iOS Contact to Linked In  When you create a new contact in iOS (iPhone, iPad), invite that person to connect through LinkedIn


Copy Dropbox files to SkyDrive for your intranet.Dopbox to SkyDrive



Let me know your favorite IFTTT recipes.

3: A Patient Portal Is Integrated

Continuing on with the series on what is a patient portal, I want to talk about integration.  This represents a large effort for any true patient portal.  By integration I mean, the effort and services necessary to pull data and complete transactions to one or more back end systems.  In other words, a patient portal shouldn’t house the data for any one system. It’s goal should be to pull the right data from the system that already owns that data.  In today’s more connected world it shouldn’t cause too much time and effort…………….unless you have no services layer (keywords SOA and ESB).  Unfortunately for most hospitals, they have no services layer so building one adds to the short term expense while decreasing long term costs.

Here’s a list of potential integrations a patient portal could drive:

linked handsEMR

Any EMR like Epic, Cerner, Meditech, GE, Siemens, and a host of others comes to mind as the first integration you will do.  You need this integration for MU2.  Most vendors however, don’t have the API’s to make this simple.  They are happy to provide HL7 messages in batch mode which you can harvest. But you cannot make a real time query.  At the same time, most EMR systems are not sized correctly for real time transactions even if they did have an API.

You have two options at this time.  First, you can pull those HL7 messages and put them into some sort of data warehouse or hospital specific information exchange (HIE).  This can add a lot of benefit from a reporting standpoint and this system could pull patient interactions from multiple systems like the Hospital EMR and your local clinic’s EMR.  Of course, it can be an expensive approach whose benefits will only be realized in a couple years.

Your second option consists of harvesting the HL7 messages from the EMR and putting them in your own database so you can make real time queries.  This cheap and easy options lets you get hospital specific transactions from a Continuity of Care Document (CCD).  However, it doesn’t give you the long term flexibility and agility of the datawarehouse above.

Invoice System

Behind the EMR integration, integrating to your billing system drives the most value.  Anything that lets drives down your Day Sales Outstanding (DSO) or increases the number of payments makes a lot of sense.  But to do so, you need an API of some sort that you can call.  If you want to get really spiffy, then you also want either the PDF bill or a streamed bill to view.  Now add on the fact that any payment must be from a system that is PCI compliant. I mentioned this in the regulated post.  It’s not a healthcare standard.  It’s a commerce standard that ensures that you never lose or expose credit card information.  PCI compliance demands a yearly re-certification as well.

When you put these all together, bill pay integration will take a significant amount of effort.

Find a Doctor

Every hospital has a different way to create find a doctor.  Your patient portal will need to find that data source (, custom db, in the EMR, etc>). Once you’ve found the data source, you will want to extend the data model to capture things like your favorite doctors. Then you will want to surface it in your portal.

Schedule Appointment

You may get lucky and only have one appointment system. But if you are like most hospitals, you will have acquired a few Doctor’s businesses and clinics.  You may also have acquired one or more hospitals.  Finally, you probably have affiliated physicians who have their own systems.  You could certainly try to create an integration to each of these systems but you are probably better off going to companies like MyHealthDirect (and a whole bunch of other companies)  Regardless, you will spend a lot of time making it work and a lot of effort convincing your Doctors to support it.

Classes and Events

Just like Find a Doctor, almost every hospital has a different place to store and manage classes and events.  You need to find the data source, create API’s or services for it, and bring it to your patient portal.  Like Find a Doctor, you will want to enhance the application to display old classes and upcoming classes.


I add this to the possible integrations list despite the fact that I’ve never seen an actual integration. Those hospitals I see doing it just take the pre-registration form and do manual data entry into the EMR.  For reasons why, look at the EMR paragraph above. EMR’s don’t like others to do data entry and they have no incentive to provide those API’s.


I’m not going to go into a whole bunch of other options but integration could come from almost anything including:

  • Web Content Management tools
  • Video
  • Third party content. (possible trend to make it contextual rather than a wholesale dump)
  • etc.

Bottom Line

You cannot do a true patient portal without thinking about integration.  You will probably spend more time understanding, defining, and implementing the integration than you will creating a nice user interface on your portal.