Enter your email address:

Delivered by FeedBurner

HOAP in Cincinnati

Last Tuesday, Michael and I went to CINNUG to present our Hands on Agile Practices talk. This talk has been received well before, especially in Dayton. Something was in the air this time though. It might of been the Pepsi Michael pushed on me before the session started (I don't normally drink soda.)

The group was in a great mood, and we had a ball. The time flew by, and everyone was laughing and hollaring. CINNUG meets at a training center. In the room next door there was a trial session of their PM classes so that potential students could get a taste. I can only imagine that the room was filled with eager PM's to learn what these classes were like, and all they could hear was us carrying on in our room. I am sure many of them signed up for developer's classes that night. It was obvious developers have a lot more fun.

It was also good to retain my track record of filling the room at CINNUG as well! :)

All kidding aside, it was great to see the lights go on with some people. We had some excellant discussion after the session as well.

I have been through some great sessions that touch on the theory or pillars of agile/XP, but I always walked away wondering how I would implement those ideas in my shop. This talk is aimed at people who want to see how agile is actually used in a real shop. I make it clear that our practices are NOT the gold standard, but our take on the beliefs, and they may not work for other people.

We have tweaked our process so that it is easily adapted to the needs of our different clients and projects. We will remove deliverables or activities that won't provide value to the client, and the opposite. We will add deliverables or activities that will provide value to the client.

In the end, we have one core belief.

Do more of what works, and do less of what doesn't.

Remember that everyday, and you will always get better. There are other beliefs we have, but that is the first fundamental one.


HIPAA errors

I have been struggling to get some 278 (service approval) HIPAA messages in through my BizTalk box (using the accelerator). I was stumped. I received some sample messages from colleagues, and I still couldn't get the messages processed.

Then Keith (on the BizTalk team at MS) gave me an idea. I started up Notepad2 to look at the messages, and turned on the encoding/hidden characters. Voila! The line endings were CRLF. Changed them all to LF, and everything started going through! Yeah! In hindsight, it always seems to be the smallest thing that is the hardest to solve. I remember that when I was first using C, I would spend hours to fix an issue, and it turned out to be a missing semi-colon.

For future reference, here is a small sample (of course wrapping is all messed up):
ISA*00* *00* *ZZ*7654321 *ZZ*1234567 *050101*1200*U*00401*000000054*0*T*:GS*HI*7654321*1234567*20050101*0717*141797357*X*004010X094A1ST*278*0002BHT*0078*11*20030721071727*20030721*071727HL*1**20*1NM1*X3*2*NYSDOH*****PI*141797357PER*IC*eMedNY PROVIDER SERVICES*TE*8003439000HL*2*1*21*1NM1*1P*1******46*11111111REF*ZH*00358690HL*3*2*22*1TRN*1*GS192050236782100@03202071727*1141797357NM1*IL*1*MEMBER*IMA****MI*XX22222XREF*HJ*02HL*4*3*19*1NM1*1T*1******46*11111111REF*ZH*01234567HL*5*4*SS*0UM*HS*I*2HCR*A1*93387654321DTP*472*D8*20030721HI*BO:A4554:::300SE*21*0002GE*1*141797357IEA*1*000000054

The error messages are so much more useful in this new version. Very verbose messages, but useful. Here is a sample:
Event Type: Error
Event Source: HIPAA EDI Subsystem
Event Category: BizTalk Server 2006
Event ID: 24
Date: 4/25/2006
Time: 10:06:03 PM
User: N/A
Computer: POC
Description:Error encountered: ERROR (62), interchangenr 10052 :The length of the element is not correct. Contact the sender.
source format: [5 00401 ,X12-4010]
source document: [278 004010DEFAULT X X094A1,Health Care Services Review -- Resp]
source segment: [data#0,def#7,tag=IEA ,name=Interchange Control Trailer]
source element: [def#2,elm#2,comp#0,tag=9012,name=Interchange control number], value: [00000354], fixed length: [9] (msgnr:1 segnr:0)(line:27 pos:0 filepos:934)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

If you wade through all of the detail, this message says the length of the element is incorrect. Which element? Read further. It identifies the element (including which segment it is in). It even tells you the type of element. In this case, I munged the ICN (interchange control number) so that the ICN at the begining of the message didn't match the one at the end. If other fields didn't match, it would show the two different values. This makes it much nicer to deduce content errors in your message. One error like this might create several errors in the event log, so always try to start with the first error message.


BizTalk 2006 HIPAA Accelerator

I have occasionaly had to work on HIPAA related projects. I never had to get very deep in the spec (there always seemed to be others around to do that heavy lifting). Recently I have had time to install the accelerator for BizTalk, and work with it.

First off, the accelerators are a group of software add-ons for BTS that added new functionality for specific markets. SWIFT, HIPAA, HL7, etc.
The HIPAA package adds all of the related schemas from WPC (THE company that builds and maintains the schemas), and an EDI engine that can process the edi formatted messages. This engine runs as a service on Windows Server, and can be configured to watch a FILE drop or an FTP drop for in/out going edi formed HIPAA messages. It will grab the message, validate it, find the appropriate party from BTS, and then convert it to XML and drop it in the message box. The engine will also handle the functional responses often needed in a HIPAA exchange. These message (997, etc.) are responses back to the sender letting them know that you received a valid message. It is a pure functional/technical meaning. The response does not imply any business process (approval, etc).

If you don't need to process the edi format, or need to use a different adapter (perhaps POP3 of HTTP), then you have to build a custom pipeline. The accelerator providers a disassembler/assembler for you to use in the your pipeline.

The install experience is identical to BTS 2006, which is a nice touch. The same screens, options, and workflow. One thing I did notice is that I get an error in the install (they at least warn you about it, but you have to not get 'next crazy' and miss it.) I get this when I just finish installing BizTalk, and then the accelerator. Now, I just reboot between installs, but a stop/start of BizTalk might also fix it.

The documentation is good all around. There are two help files that focus on the HIPAA specs themselves. These are very technical, just a series of formats and layouts. These are good as reference, but not meant for the uninitiated. Tey won't teach you what you need to know about the HIPAA business processes. The actual accelerator documentation is just ok. The BizTalk Server 2006 documentation team really set the bar high (for all of MS's products), and the accelerator falls a little flat in comparison. The BizTalk docs are so good, I wonder if third party books will even be published. The accelerator docs seem to be the old docs with a little polish. Some of it is out right wrong. When you are going through the tutorials there are improper screen references, for example. But the docs are functional.

The real trick is the accelerator doesn't come with sample messages. I really think that the accelerator really should. There should be several variations of each format, with a range of complexity (some messages of the same type can be simple or complex). This would really help in getting POC's or samples put together, as well as proven fodder to use to test your system.

The accelerators did release at the same time at BizTalk Server did, and that is a first. They are usually 30-90 days later than the general availability date. Having them available at GA really makes it easier for customers to be aggresive in adopting the new version of BizTalk. I also hear that the accelerator team actually received RTM approval a few scant hours before the Server team did.

Anyway, check the acceleartors out. They are worth their weight in gold! Not having to build the complex schemas and test them by hand is a huge timesaver. It would take months to get them where they would need to be. These schemas can be simple on the surface, and very difficult to test and ensure they are accurate to the standards, down deep. By using the 'official' schemas, you save a lot of time, and can have a lot of trust that you won't have interoperability issues down the road.


Proud owner of a shiny new MVP Award!

I was nominated for an Microsoft MVP Award (Architect) many weeks ago. I always wanted to be an MVP, but never really thought I would get one. It always seemed like something other people got. Authors, freelancers, etc. And with limited awards to go around, I felt for a long time that my freelancer friends (remember I work for a not so souless corp, I ain't no freelancer) should get them only because MVP awards have a major effect on their personal marketing and visibility.

But I was nominated, and I felt honored just for that. Then the weeks started to slowly slide by. I was on pins and needles the whole time. I would obsessively check my email at all hours (even more than normal). There were days when I would check my office snail mail four or more times (even though we only get one delivery per day!) The only thing that helped pass the time was Oblivian (see dave's post).

Today I got in late (helpng a client deploy a BizTalk application), and finally checked my email. There, sitting in it's 'no yet read red text' was an email telling me of the award. I of course yelled out, wa-hoo! Several people from down the hall came into my office to find out what the excitement was about (assuming perhaps a lottery win?).

So now I am an MVP/Architect. I just feel so honored. I have worked hard in the community over the past few years. I do it out of love for technology, and love for the local community. I just love going anywhere and talking about any technology. I wouldn't have been able to do it without the support of my family, and the support of my colleagues, and my company. They give me the time and resources (money, travel, etc.) I need to be active.

Again, I say thank you. Dave.Drew.James.Jim.Nate.Keith.and many others.


TechEd 2006 - Be There!

It's spring cleaning time! What's different on my blog design?

Not only have I been working in the yard, but I ditched the Google Adsense banner today. I only added it because it was a simple check box when setting up blogger. I wanted to go through the process to see how it worked. I got sick of it lurking up there, so out it goes!

Second, I changed my stat provider to feedBurner, on Jim Holmes advice. I also added a RSS icon. Never noticed there wasn't one there. I just assumed there was one in the blogger template, but I guess not.

Third, and best, I have registered for Tech-Ed 2006! This is going to be awesome. I attended the PDC in LA this past fall, and met a lot of great people. This time I get to not only go to the conference, but also I have been asked to be a speaker! I was totally floored and honored when I was asked. I will be co-presenting with Keith Bauer, the district's Program Manager for BizTalk. Our topic will be "BizTalk Server Solution Lifecycle: Planning and Design (Part 1)". This will be a level 300 talk. The abstract is:

"Part one of a three-part series of sessions covering the design, implementation and management of a BizTalk Server solution. The first session covers the common scenarios where BizTalk is an appropriate solution and what questions you should be asking to develop appropriate timelines, resource plans and deliverables. This session provides experienced IT project managers, who may not have previously worked with BizTalk Server, the background needed to successful launch a BizTalk Server project. "

So, who else is going? If you are going, sometime before the event, you will be able to go to the TechEd site, and post requests for the session content. Let us know what details you want.