Jan 152008

One of the properties you’ll quickly wish you had using either the BizTalk HIPAA or BaseEDI adapters is the original file name of the message with which you are dealing.  We’ve all searched for BTS.ReceiveFileName to no avail. 

Here I’m showing you that there is no BTS.ReceiveFileName:


We’ll I’ve decided to build a C# class with two functions that will extract that for you easily.

The class I created has two static overloaded functions 1: GetBaseEDIOriginalFileNameFunction, and  2: GetHIPAAOriginalFileNameFunction. 

Simply pass the <yourmessage(BTS.MessageID)> and (optionally) the Server where your HIPAA or BaseEDI databases are located into the function and you’ll have your original filename.


Email me if you’d like a copy

Jan 072008

Some official news:


Apax Partners is taking healthcare software company TriZetto Group Inc. private in a cash deal valued at roughly $1.4 billion, TriZetto said Friday, April 11.

In one of the few take-privates in recent months, shareholders will receive $22 per share in cash, a 25% premium to TriZetto’s closing price Thursday of $17.67.

BlueCross BlueShield of Tennessee and Regence Group, both customers of TriZetto, are helping to fund the buyout with an undisclosed amount of equity. Regence is a combination of several BlueCross BlueShield operations in the U.S.

TriZetto’s stock closed Friday up 15% to $20.39, near a 52-week high of $20.85. That gave it a market capitalization of $875 million. Its 52-week low is $14.52. The Newport Beach, Calif., company had $391 million of long-term debt and lease obligations on Dec. 31.

TriZetto provides software to health insurance plans and benefits administrators. Last year it booked $452 million of revenue, up 30% from 2006, a spokesman for the company said. Adjusted Ebitda, meanwhile, jumped 45%, from $67 million to $97 million, he said.

The bulk of its growth came from sales of its core administration software product, he said. Among other things, it helps manage healthcare claims and membership enrollment.

“A number of BlueCross and BlueShield plans signed up,” he said, adding that these new customers drove most of the gains in 2007.

TriZetto’s $1.4 billion take-private includes stock options and shares related to its outstanding convertible notes.

RBC Capital Markets is the sole underwriter for the debt financing, TriZetta said.

The U.S. healthcare system is disconnected, a TriZetto spokesman said, adding that the company’s software helps it “work more smoothly” by linking consumers, providers, employers and brokers.

We see the confluence of healthcare and information technology as a key area of focus for strategic investments,” Buddy Gumina, the head of U.S. healthcare at Apax Partners, said in a statement. TriZetto, he added, is poised to “drive positive changes in organized systems of healthcare, both in the U.S. and abroad.”

The same day the TriZetto take-private was announced, Aurora Capital Group‘s Mitchell International Inc. said it would merge with CCC Information Services Inc., which is owned by Investcorp, in an all-stock deal valued at $1.4 billion. The drive to utilize technology better in the healthcare sector, meanwhile, drove Nuance Communications Inc.‘s $400 million, April 8 deal to buy medical transcription software maker eScription Inc.

TriZetto said it does not anticipate any material changes in its product offerings, staffing or facility locations as a result of the buyout.

The company, founded in 1997 as MC Health Holdings, has made a number of acquisitions, including the 2007 purchase of Quality Care Solutions Inc., a deal valued at up to $146.2 million. In November 2005 it bought Boston-based CareKey Inc., an advanced-care management software maker, for $60 million with an add-on of up to $40 million if certain financial targets were met.

For financial advice on the take-private, Apax Partners turned to Deutsche Bank Securities Inc.‘s Sarah Bradley, Ravi Sachdev and Raul Gutierrez.

For counsel, it tapped Kirkland & Ellis LLP‘s Kirk Radke, Kimberly Taylor and Susan Zachman.

UBS Investment Bank‘s Robert DiGia, James Brennan, Matt Kim and Brad White advised TriZetto, which relied on Gibson, Dunn & Crutcher LLP‘s Thomas Magill, Erik Greupner, Drew Bordages and Kevin Schubert for legal advice.

Co-investors BlueCross BlueShield of Tennessee and Regence were advised by Cain Brothers & Co. LLC.

The buyout by Apax is expected to close in four to six months, pending shareholder and regulatory approvals.

Jan 032008

Have you ever received the following error message when trying to undeploy a BizTalk assembly?

“Some items in the removed assembly are still being used by items not defined in the same assembly, thus removal of the assembly failed.”

Make sure that items in the assembly you are trying to remove fulfill the following conditions:
1. Pipelines, maps, and schemas are not being used by Send Ports or Receive Locations
2. Roles have no enlisted parties.

Here’s a query used against the mgmt database for those of you on BizTalk 2004/2006 for finding the maps and pipelines that are still deployed that might be getting in your way of undeploying:

select 'RcvPort' PortType, r.nvcName Port, item.name MapName,assem.nvcName Assembly, indoc_docspec_name, outdoc_docspec_name from bts_receiveport_transform rt join bts_receiveport r on rt.nReceivePortID = r.nID join bt_mapspec ms on ms.id = rt.uidTransformGUID join bts_assembly assem on ms.assemblyid = assem.nID join bts_item item on ms.itemid = item.id union select 'SendPort' PortType, r.nvcName Port, item.name MapName, assem.nvcName Assembly, indoc_docspec_name, outdoc_docspec_name from bts_sendport_transform rt join bts_sendport r on rt.nSendPortID = r.nID join bt_mapspec ms on ms.id = rt.uidTransformGUID join bts_assembly assem on ms.assemblyid = assem.nID join bts_item item on ms.itemid = item.id order by Assembly, PortType, Port select 'SendPort' Type, ReceivePortName = '', bts_sendport.nvcName [SendPort/ReceiveLocation], bts_pipeline.[name]PipelineName from bts_sendport join bts_pipeline on bts_sendport.nSendPipelineID = bts_pipeline.[ID] where bts_pipeline.[name]<> 'Microsoft.BizTalk.DefaultPipelines.XMLTransmit' AND bts_pipeline.[name]<> 'Microsoft.BizTalk.DefaultPipelines.PassThruTransmit' union select 'ReceiveLocation' Type, bts_receiveport.nvcName ReceivePortName, adm_receiveLocation.[Name] [SendPort/ReceiveLocation], bts_pipeline.[name]PipelineName from adm_ReceiveLocation join bts_pipeline on adm_receiveLocation.ReceivePipelineID = bts_pipeline.[ID] join bts_receiveport on adm_receivelocation.receiveportid = bts_receiveport.nID where bts_pipeline.[name]<> 'Microsoft.BizTalk.DefaultPipelines.XMLReceive' AND bts_pipeline.[name]<> 'Microsoft.BizTalk.DefaultPipelines.PassThruReceive' order by Type, PipelineName