November 25, 2014, 12:08 pm

Today’s Top Integration Challenges

by Jeff McGeath, Senior Vice President at Iatric Systems

I was recently asked what the top challenges are for today’s integration projects in healthcare. It’s tough to put your finger on the “top” challenges, but the more I thought about it and talked to my Iatric Systems team, the two top challenges for today’s healthcare integration professional became apparent.

The ability to deliver interfaces that are semantically interoperable has become much more complex in the last five to seven years. Therein lies the first challenge, and it revolves around all of the terminology mapping process that has to take place at interface build time. You see, we can’t just build interface translations and simple maps to manipulate data in an HL7 message any longer. That is not good enough. As the market matures and regulatory pressures increase, emerging goals and standards require hospitals to communicate data among EHRs and other systems in a way that is semantically interoperable. Due to this, integration tool sets and the interface development process are tremendously more complex.

The industry’s response to semantic interoperability has been the introduction of multiple coding systems, not only at the data level, but also the identifier level. Experts now need to know which codes to use and even the code value of the coding system being used — it quickly snowballs. Further complications arise because many EHR systems support localized coding, meaning one hospital can refer to a procedure or item as one name and another facility can use an entirely different name. If these organizations try to share EHR data within a connected community, the clashing codes would require significant resources to resolve.

Terminology isn’t comprehensively mapped within most hospitals, let alone across the industry, therefore integration projects continue to be overly complex with an increasing number of moving parts. The lack of comprehensively mapped terminology means integration experts have to formulate additional plans, further straining project bandwidth.

Integration resource and expert pools have grown especially thin due to recent hyperactivity surrounding healthcare reform and government regulations, such as the HITECH Act. Further, companies constantly bring new technologies to the market, which is great, but it continues to dilute the integration skill set.

New technology creates the second challenge facing healthcare organizations and integration projects today — a very finite set of experienced integration talent. Finding true integration experts has become harder, and those available are pulled in multiple directions.

At Iatric Systems, we have the tooling and experienced staff who have delivered more than 20,000 interface projects to minimize the technical challenges. Our teams have spent the time and effort to build internal knowledge bases, coding system libraries, and have direct lines into staff at the federal regulatory level.

We understand your need for semantically interoperable interfaces — and we understand the complexity, time and talent required for successful integration. We have identified and addressed these challenges and worked to position ourselves in a way to be your most trusted healthcare IT integration partner.

This article originally appeared in the November 2014 issue of Iatric Systems Updates! newsletter.

 

November 21, 2014, 12:23 pm

Case Study: Reduce medical errors

If you’re considering integrating your systems that don’t normally interact with each other, but are struggling to get it done, learn how Roper St. Francis was able to get information flowing between multiple systems.

Roper Saint Francis Prevents Medication Errors and Saves Thousands of Staff Hours

You’ll read how Roper needed to integrate several of their inpatient systems (charting, registration and medication) with their Emergency Department Information System (EDIS) and how Iatric Systems Integration Services helped them be more efficient, reduce medication errors, and ultimately improve patient care.

Read their story now.

November 20, 2014, 12:32 pm

MEDITECH: Physicians Advance Care with 6.1

Stacey Johnston, MD, Beaufort Memorial Hospital, explains how MEDITECH’s EHR streamlines physicians’ workflow.

Source.

November 20, 2014, 12:31 pm

MEDITECH: By Physicians, For Physicians

MEDITECH’s “by physicians, for physicians” approach to our EHR isn’t just talk — the physician user experience is paramount to us. Our collaborations help to infuse physician-driven concepts and perspectives into every aspect of the MEDITECH EHR. As a result, we’re helping providers to deliver safer, more efficient care in today’s value-based purchasing environment. 

Here are some of the results we recently showcased to our forum attendees.

6.x Customer Successes 

  • Click Reductions: Physicians at Kootenai Health (Coeur d’Alene, ID) like the ability to link home meds with the inpatient med list, and they especially like the option of reverting back to the patient’s home meds upon discharge via the Resume Home Meds button.
  • Streamlined Documentation: Hancock Regional Hospital (Greenfield, IN) is leveraging nursing data to reduce physician documentation time. Providers can choose from voice recognition or point-and-click.
  • Patient Safety: A 100 percent CPOE usage rate at Beaufort Memorial Hospital (Beaufort, SC) means their 160 physicians always have clinical decision support when ordering medications.

Read more at meditech.com.

November 20, 2014, 12:27 pm

MEDITECH: Path to Excellence

MEDITECH customer South County Hospital (Wakefield, RI) was just named a 2014 Guardian of Excellence Award winner by Press Ganey Associates Inc. The Guardian of Excellence Award recognizes top performing facilities that consistently achieved the 95th percentile of performance in Employee Engagement.

“Our employees demonstrate engagement by displaying enthusiasm for their work, loyalty, and the willingness to go above and beyond,” said Lou Giancola, President of South County Hospital. “The award is a testament to the employees’ strong sense of commitment to the organization, which is beneficial to the hospital’s performance.”

Read more about this prestigious recognition here.

Source.

November 19, 2014, 12:55 pm

SQL Tip — Facility Prompt by User Access

Thomas Harlan, Technical Team Lead – Data Repository at Iatric Systems

One of the challenges of moving from inside MEDITECH-integrated reporting (NPR or RD) outside into the realm of DR (SQL + SQL Server Reporting Services or Crystal Reports)- based reporting is that you lose the benefits of being integrated.

A key capability lost is the ability to restrict a user to a specific facility’s set of data when reporting. Whereas in NPR you might be prompted, for example, to pick a BAR or AD database, which was facility-specific, in the world of the DR you need to be mindful of multiple facilities and filter accordingly.

Which brings us to the question: which facility (or facilities) does the user running this SSRS report have access to? And then – how do we get the report to know which facility to look at? And how does the report know who we are?

Let’s start with which user is running the report first. Inside SSRS, you can declare a parameter (cUserID) and set that parameter to an expression (calculated value):

=User!UserID

Which gets us the currently logged-in Active Directory user on the workstation:

IATRIC\thomas.harlan

When you are setting up this SSRS parameter, you want to make it hidden:

SQL Tip

And set the Available Values to code to get the current AD user. Click on each of the Expression buttons:

SQL Tip

And set the code in each expression to:

=StrReverse(Left(StrReverse(User!UserID),InStr(StrReverse(User!UserID),”\”)-1))

Then do the same on the Default Values screen:

SQL Tip

We do this because the format of the AD user ID is not what is stored in MEDITECH. The AD username returned by SSRS looks like:

IATRIC\thomas.harlan

But all we have in MEDITECH is the part after the “\” character. So the expression code returns us everything after the “\” to the end of the string:

thomas.harlan

With that shortened value, we can now call a stored procedure from the next report parameter (cFacilityID) to get all of the facilities where that AD user has access.

In that stored procedure, we need to look at a variety of different tables, to see if (A) we find the ID, and (B) which facility they are attached to:

Livefdb.dbo.MisPerson_JobFacilities
Livefdb.dbo.MisPerson_Jobs
Livefdb.dbo.MisPerson_ProviderFacilityMain
Livendb.dbo.DMisUserAdmMriFacility

Attached to this tip is a stored procedure (IatricFacilityIDFromUserID) which will take that AD user ID as a parameter, then check this constellation of tables and return the list of facility ID(s), SourceID(s) and User ID/Name (for verification purposes).

After you’ve compiled that sp in your DR, you can create a new DataSet in your report for this new stored procedure:

SQL Tip

Which will have three fields (we only need two, really, but the UserNameAndID is useful to making sure you’ve gotten it working properly):

SQL Tip

…and feed it the cUserID value as a parameter:

SQL Tip

Note that the Parameter Value field has the parameter name we created earlier
(cUserID) wrapped in brackets with a leading @. This chains our retrieved cUserID to the stored procedure to get a list of facilities. Now we connect that to the cFacilityID parameter:

SQL Tip

We connect to the same stored procedure on the Default Values screen (which, if you have more than one facility assigned to you, will only use the first one in the list):

SQL Tip

Now we can carry on with the rest of the report…

Bonus!

Attached to this tip is a template report which implements this code. It’s an excellent idea to start from a reusable template, so you don’t have to go through all of the setup for standard features over and over again…

The stored procedure to get the list of MIS Locations from the Facility ID is also attached, as it’s used in the template report.

Extra Credit

If you’re not at an MT6 site, you don’t need all of the code in the stored procedure. Just the last section where it looks at DMisUserAdmMriFacility will get you the clinical users. The Business/Financial users you’ll need to get from the Client/Server or MEDITECH versions of the Job Table(s).

(end)

Visit our report library at http://www.iatric.com/Information/NPRReportLibrarySearch.aspx to look them up.

You can find additional Report Writing Tips on our website at http://www.iatric.com/Information/NPRTips.aspx, as well as information about our on-site Report Writer Training and Report Writing Services.

To subscribe for email notifications for new Report Writing classes, please follow this link:
http://www.iatric.com/Information/Classes.aspx.

For more information, please contact Karen Roemer at 978.805.3142 or email karen.roemer@iatric.com.

This article originally appeared in the November 2014 issue of Iatric Systems Updates! newsletter.

November 19, 2014, 12:52 pm

Stop at Query if Patient is “on Coumadin” (MAGIC Only)

Joe Cocuzzo, Senior Vice President – Report Writing Services

Someone from Mid Columbia Medical Center in Oregon asked for a way to stop at a query only if a patient was “on coumadin.” I am going to interpret that to mean any active PHA order for Warfarin (administration of the drug not checked, although you could add this if needed).

Since it is tip time, I thought I would show how you can write a generic macro that will go from any application to Pharmacy and check for an active order for a particular medication and return a flag if such an order is found. We will use the MEDITECH MAGIC “Z.link” utility to “open” PHA.

First we need to write a fake “holder” report in “Z” or “MIS” so our programming can be available from any segment. If we wrote our report in NUR, we would only be safe using the utility from NUR CDSs.

If you have ever noticed the “copying files to:” message you get when you file and translate a report in MIS or Z, that is an indication that the translator is making the object code available on every segment and therefore from every application.

NPR Tip

NPR Tip

Next we write a macro called “check”

NPR Tip

We can make our code modular by breaking the macro into “submacros.” By ending the code with a semi colon, we make it a program. When you call a program, you use %, then the name of the program, then one or more arguments in parenthesis, for example:

%Z.name.inversion(“SMITH,JOE”)

In our example, the program is %Z.zcus.is.warfarin.M.check and we are passing in the patient’s admission urn.

The program then returns a value from the last expression in the code, which in our example is the value of the variable OK. We put a 1 into OK if we find an ACTIVE (status = AC) order for Warfarin for the patient we are checking.

Inside the program the first argument (in this example it is the only argument) becomes the variable A.

NPR Tip

We test for A before having the program do anything. Since the CDS filer will check the code by running it with no A argument, we can avoid bogus CDS “syntax error – file as draft” issues by testing for A and skipping all the code in the program when A is nil.

MEDITECH MAGIC has a utility program called %Z.link that will open any prefix to any data or dictionary file.

The general way you use the program is:

  • Save the prefixes you plan to use
  • Call the Z.link program to open the prefix or prefixes to the data or dictionary file of the other application database. Our example calls it once to open PHA data, then again to open PHA dictionaries.
  • Get the data you need – typically by looping on some index and then checking or getting some data.
  • Restore the prefixes the way you started.

When your are working with prefixes “yourself,” it is a very good idea to test your code in the TEST system first, before using it in the LIVE directory. Bad programming can crash and leave records locked when your macro runs from a CDS.

STEP ONE – “OPEN PHA”

First we need to “open PHA.” When we are in Nursing, prefixes are “open to” NUR, ADM, and MIS, but not PHA.

NPR Tip

Z.link goes over to the PHA segment and directory and opens the prefixes and then comes back to the segment it started from. This means that you can then get to PHA fields and dictionaries, but you need to be careful not to try to use any PHA fields that call PHA programs or you will likely crash. This is because the PHA programs are only available in the PHA segment and directory (and the NPR master segment) and you might call the Z program from some other segment.

PHA.combo.dose.and.unit is an example of a field that calls some PHA program, see the %PHA.RX program call in the VAL column that is your tip off:

NPR Tip

STEP TWO “CHECK ORDERS”

To check orders, we need to make sure that all the PHA fields we use translate using the one prefix (:) that we opened to the PHA data file with the Z.link program. Looking at the date definition we can see that indexes translate with :, which is fine, but data fields use ? which won’t work. The @Chg.prefix translator macro will fix this.

NPR Tip

This code uses an index by patient ADM urn, status, and order type, so we can put the patient’s admission urn into PHA.RX.patient, and “AC” (that is the status of PHA active orders) into PHA.RX.status and then loop through just the active orders for just the one patient and then check the generic of each @med to see if we have any active orders with Warfarin. Just change the generic mnemonic to the value used at your hospital.

I try very hard to avoid writing any reports in PHA with hardcoded drug mnemonics, as these change quite often and your report will “break” because you won’t add new ones. This is why I opened the PHA dictionary file as well, so I could go from the @med field on each order over to the generic to select based on a value which changes far less often. There is usually just one value, although nothing prevents a site from creating multiple different generic mnemonics for what is actually the same medication.

If the medication you are looking for might be a compound, split, or IV with additives, the @med field based selection would fail. Since Warfarin is not that kind of medication, we can just check @med’s.generic and be fine.

STEP THREE “CLOSE PHA” (put everything back or else!)

After we check PHA, we need to be very careful to restore : and &, otherwise we will likely crash back in NUR. The “CLOSE.PHA” macro does this as follows:

NPR Tip

We used the C(:S) “close and stack” syntax to save the value of our prefixes to “the stack”.
If we use C(:U) we restore the prefixes to their previous state (typically open to the previous file).
It may seem funny to use a “Close” command and have a prefix be Open, but these two comands do just the same thing C(:U) O(:U). The advantage of using C is that the syntax checker does not complain.

To use our utility macro from an IFE, we attach it like this:

NPR Tip

If we select a patient with an Active PHA order for Warfarin, the cursor will stop at the “IAT.WARED” field, because our utility program returns a value if such an order is found.

NPR Tip

A copy of the Z report has been added to our MAGIC report library. Z.zcus.is.warfarin
http://www.iatric.com/Information/NPRReportLibrarySearch.aspx

Make sure you change the PHA database in the “check” macro to match YOUR HOSPITAL, and the generic mnemonic to match what you use. Otherwise the utility is generic and will work at any MAGIC site.

You can find additional Report Writing Tips on our website at http://www.iatric.com/Information/NPRTips.aspx, as well as information about our on-site Report Writer Training and Report Writing Services.

To subscribe for email notifications for new Report Writing classes, please follow this link:

http://www.iatric.com/Information/Classes.aspx.

For more information, please contact Karen Roemer at 978.805.3142 or email
karen.roemer@iatric.com
.

This article originally appeared in the November 2014 issue of Iatric Systems Updates! newsletter.

November 18, 2014, 9:54 am

Iatric Systems Delivering First True Enterprise-class, EHR-neutral Integration with Apple Health

Iatric Systems, Inc., a comprehensive healthcare IT integration company, has undertaken the enterprise-wide integration of Apple Health with an EHR-neutral approach that pulls and presents patient data from a variety of hospital inpatient, ambulatory and even patient-provided data sources.

The first two hospitals to engage Iatric Systems for enterprise-class integration of the Apple Health app are Memorial Healthcare, a 150-bed facility in Owosso, Michigan; and King’s Daughters Medical Center, a 122-bed hospital in Brookhaven, Mississippi.

Read more at http://www.iatric.com/Press.

 

November 17, 2014, 1:04 pm

Hospital makes good progress on electronic records

The Lake of the Woods District Hospital is happy with their new Meditech system. The software keeps electronic medical records for patients.

Patty Tittlemier and Donna Burkart gave a presentation to the board, about the system at their last board meeting. They both agreed that while there is a steep learning curve, many of the staff are happy with the change.

Meditech was introduced into the hospital back in 2013. Since then, staff have been trained — and they’re continuing to be trained — on using the system. Meditech keeps all of a patient’s medical records together in one file. Nurses or doctors can access that file and see their previous history.

November 17, 2014, 12:11 pm

Congratulations to Hill Country Memorial

Congratulations to Hill Country Memorial on receiving the 2014 Malcolm Baldrige National Quality Award.

This honor validates HCM’s remarkable performance through innovation, best practices and insightful leadership. We are now one of 19 health care organizations in the country to receive this award since 1998.

Read more at hillcountrymemorial.org.