BizTalk Accelerator for Healthcare - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

BizTalk Accelerator for Healthcare

Description:

BizTalk and HL7 Accelerator Overview. Pipelines and Ports. HL7 ... The HL7 Accelerator provides BizTalk with HL7 support through. Predefined message schemas ... – PowerPoint PPT presentation

Number of Views:307
Avg rating:3.0/5.0
Slides: 70
Provided by: msh2
Category:

less

Transcript and Presenter's Notes

Title: BizTalk Accelerator for Healthcare


1
BizTalk Accelerator for Healthcare
2
BizTalk Accelerator for Healthcare
Mark Oswald Program Manager E-Business Server
Division Microsoft Corporation
3
Agenda
  • BizTalk and HL7 Accelerator Overview
  • Pipelines and Ports
  • HL7 MLLP Communications
  • HL7 Message Structure
  • Working with HL7 Schema
  • Transformation Maps
  • Business Process Automation
  • Health and Activity Tracking

4
BizTalk Overview
5
BizTalk Architecture
Orchestration
Monitoring Reporting Business Intelligence
Configuration Deployment
Mapping
HTTP
SOAP-RM
MSMQ
FTP
MQ Series
File
MLLP
6
BizTalk Message Flow
Orchestration
Transport
Transport
Decrypt
Parse
Resolve Party
Serialize
Sign Encrypt
Send Pipeline
Receive Pipeline
Message Box
7
Unified Development Environment
Schemas
Define Business Documents
Orchestration
Model the Business Process
Pipelines
Visual Studio .NET
Mapping
Process Messages
Transform Data
8
Creating a BizTalk Server Project
Visual Studio .NET Solution
  • Visual Studio .NET Solution
  • Contains one or more projects
  • BizTalk Projects
  • Orchestrations
  • Schemas
  • Maps
  • Pipelines

BizTalk Server Project
9
HL7 Accelerator Overview
10
HL7 Accelerator Components
  • The HL7 Accelerator provides BizTalk with HL7
    support through
  • Predefined message schemas
  • 2.1, 2.2, 2.3, 2.3.1, 2.4 versions
  • 2.xml
  • Predefined Receive Pipeline
  • Disassembles the HL7 flat file to an XML file to
    be used internally by BizTalk (DASM Component)
  • Predefined Send Pipeline
  • Assembles the data back into the original HL7
    flat file format for exit from BizTalk (ASM
    Component)

11
HL7 Accelerator Components Contd
  • BTAHL7 Disassembler
  • Engine that provides the following functionality
  • Dynamically selects appropriate schema validation
  • Structural validation
  • Syntactic validation (data types)
  • Dynamic delimiter validation
  • Handles escape sequences
  • Handles conditional optionality
  • Handles defined or unexpected Z segments
  • BTAHL7 Assembler
  • Engine that generates HL7 encoded documents

12
HL7 Accelerator Components Contd
  • MLLP Adapter
  • For processing HL7 data streamed over a TCP/IP
    socket using MLLP
  • Can receive message and send ACK on same socket
  • Configurable as request response (1 way) or
    solicit response (2 way)
  • Automatic Message Acknowledgments
  • HL7 Configuration Explorer for easy configuration
    of acknowledgement messages
  • Supports original, enhanced, and static mode
    acknowledgements
  • Routes deferred ACK messages

13
HL7 Accelerator Components Contd
  • Batch Processing
  • Ability to
  • Create a batch
  • Fragment batched messages into individual
    messages
  • Route pre-built batches (BI/BO)
  • HL7 Configuration Explorer used for easy
    configuration of batch scheduling and included
    messages
  • Auditing and Logging
  • Auditing and Logging SQL database extending
    BizTalks Health and Activity Tracking (HAT)
    functionality

14
Fundamental BizTalk Components for HL7
BTAHL7 2X Receive Pipeline
HL7 Receive Pipeline
A predefined pipeline that disassembles the HL7
data into XML for use by the BT engine
Receive Port
Send Port
Serialize
Sign Encrypt
Decrypt
Parse
Resolve Party
DASM Component
Message Box
15
Fundamental BizTalk Components for HL7
HL7 Send Pipeline
HL7 Send Pipeline
  • A pre-defined pipeline that assembles data into
    an HL7 encoded document

Receive Port
Send Port
Serialize
Sign Encrypt
Decrypt
Parse
Resolve Party
ASM Component
Message Box
16
Configure Parties and Acknowledgments
  • BTAHL7 Configuration Explorer
  • Used to configure
  • Validation
  • Acknowledgements
  • Batches

17
System Walkthrough HL7 File Transfer
Registration system sends file to Receive Location
Health Information System (HIS)
Registration System
Send Port subscribes to messages with specific
MSH content
MLLP
MLLP
ASM
Sign Encrypt
Decrypt
DASM
Resolve Party
HL7 Send Pipeline
HL7 Receive Pipeline
Message Box
HL7 Assembler takes an XML document and returns
an HL7 formatted flat file
The HL7 Disassembler parses the flat file
messages and returns an XML document
18
Ports and Pipelines
19
Fundamental BizTalk Components
Send Port
Receive Port
A predefined data drop location that subscribes
to messages received in a particular Receive Port
  • A data transformation map can be executed at
    various stages along the way
  • or
  • Data can simply be passed from point to point

A message is received in a predefined location
Receive Port
Send Port
Serialize
Sign Encrypt
Decrypt
Parse
Resolve Party
Send Pipeline
Receive Pipeline
Receive Pipeline
Message Box
Send Pipeline
Prepares the message for processing through the
BT message database
Reconstructs the message if necessary prior to
leaving BT
20
The Fundamentals
  • Ports and pipelines are fundamental to every
    other BizTalk process
  • Ports
  • All data gets into BizTalk through receive ports
  • All data leaves BizTalk through send ports
  • Send ports subscribe to receive ports
  • All messages received in a specific port or
  • Specific data content flowing through a specific
    port

21
The Fundamentals
  • Pipelines
  • Pipelines funnel data to and from the BizTalk
    MessageBox
  • Data is parsed and validated in Receive Pipelines
  • Data is serialized and encrypted in Send
    Pipelines
  • Two default pipelines plus users can create their
    own
  • Pass Thru the data is not touched, it is simply
    funneled
  • XML data will be parsed as xml and validated
    against a schema
  • HL7 Accelerator adds HL7 send and receive pipeline

22
What is a Pipeline?
Pipeline Processing
Receive Pipeline
Orchestration
Send Pipeline
  • Stages
  • Pre-Assemble
  • Assemble
  • Encode
  • Stages
  • Decode
  • Disassemble
  • Validate
  • Resolve Party

Pipeline Components
23
Creating a Custom Pipeline with the Pipeline
Designer
Pipeline File
Toolbox
Drag the Flat file disassembler into the
Disassemble Component
24
Create a Receive Port and Receive Location
  • A Receive Port is the way that services interact
    with external partners when receiving data
  • One Way
  • Request-Response
  • A receive location is the physical, design-time
    notion of a location (such as a URL) and a
    protocol type
  • Transport type
  • Address (URL)
  • Receive Handler (BizTalk Server Application)
  • Receive Pipeline

25
Configuring a Receive Port
  • In BizTalk Explorer, right-click on Receive Port
    to add a port
  • Specify the transport type
  • Name the port

1
26
Configuring a Receive Location
2
  • Right click on Receive Locations under the
    desired Receive Port
  • Choose Transport Type
  • Enter Address (URL)
  • Specify Receive Handler
  • Specify Receive Pipeline

27
Create a Send Port
  • Similar to a receive location, a send port is a
    grouping of endpoints that are used for
    transmitting messages
  • Consists of
  • A primary URL
  • A backup URL
  • Optionally refers to one send pipeline and an
    encryption certificate

28
Configuring a Send Port
Configure Put Location
  • In BizTalk Explorer, right-click on Send Port to
    add a port
  • Specify the port type
  • Name the port
  • Specify Transport Type and Address (URL)

29
Configuring Send Pipeline and Filters
Specify Send Pipeline
  • Under Configurations, select Send
  • Select Pipeline

Subscribe to Receive Port
  • Under Configurations, Filters Maps, Select
    Filters
  • Enter Filter Expression
  • Data causing the expression to evaluate to True
    will be sent to this port

30
MLLP Adapter
31
HL7 Message Communications
  • For IP-based communications, HL7 is often
    streamed over a TCP/IP socket
  • Data is presented following Minimum Lower-Level
    Protocol
  • Message start and stop control characters placed
    around message
  • Data stream end is indicated by additional
    control character
  • MLLP Communications Adapter
  • Manages Communications with sending and receiving
    systems
  • Moves HL7 messages to/from pipelines

32
HL7 MLLP Adapter
  • HL7 Accelerator provides an MLLP Adapter
  • Socket configuration
  • Can receive message and send ACK on same socket
  • Configurable as request response (1 way) or
    solicit response (2 way)

33
Configuring the MLLP Adapter
  • Select MLLP as Transport Type
  • Configure Host and Socket in Transport Properties
  • Use the HL7 Receive Pipeline

34
HL7 Message Structure
35
How the HL7 Standard Works
  • HL7 assumes that an event in the real world of
    healthcare creates the need for data to flow
    among systems
  • Called a Trigger Event
  • Trigger Event real world event
  • Examples
  • A change in a patients status
  • Ordering of a procedure
  • Return of Lab Results
  • Identified by a unique 3 character code

36
Sample Trigger Event Codes
  • Patient Administration
  • A01 Admit a Patient
  • A03 Discharge a Patient
  • A04 Register a Patient
  • Order Processing
  • O01 Order
  • R01 Return of Order Results

37
Message Types
  • Four primary message types
  • Referred to by a three character code
  • Patient Administration - ADT
  • Order Processing ORM
  • Procedure (Observation) Results ORU
  • Financial DFT
  • Messages are referred to by both their Type Code
    and Trigger Code
  • Example A message informing of a patient
    admission is an ADTA01

38
Flat File Syntax Characters
39
Message Structure
  • Message parts
  • Segment
  • Field
  • Component (one or more)
  • Sub Component (optional)
  • All messages have a message header and body
  • The message header is the first segment in the
    message
  • The other segments make up the body

40
Segments
  • Segments are logical groupings of data fields
  • Identified by a 3 character Segment ID
  • Contain a specific type of information
  • Segments end with a carriage return

Patient Last Name
PID1 PATID12345M11 SMITHHARRYT
Segment Id if PID Patient Identification
Patient First Name
41
Segments
  • May be required or optional
  • May occur only once or they may be allowed to
    repeat

MSH\ADT1MCMLABADTMCM198808181126SECURITY
ADTA01MSG00001P2.3 EVNA01198808181123 PI
DPATID12345M11JOHNSMITHJIII19610615M
C1 MICROSOFT WAY STREDMONDWA98052GL(425)93
6-7329(425)678-5309SPATID123450012M1012345
6789987654NC NK11SMITHBARBARAKWIFENK
NEXT OF KIN PV11I2000201201004777LEBAUE
RSIDNEYJ.SURADMA0 AL11PENICILLINP
RODUCES HIVESRASHLOSS OF APPETITE AL12DOG
HAIRRESPIRATORY DISTRESS
First Allergy
Second Allergy
42
Data Fields
  • Segments are logical groupings of fields
  • Data fields are typically separated by a symbol
  • A data field is a unit of data such as a name,
    number, address, etc.
  • Identified by element name or data type code
  • Referred to by position in segment
  • EVN Segment
  • EVN.1 (Event Type Code)
  • EVN.2 (Recorded Date/Time)
  • Etc. (Other Fields in EVN Segment)

43
Components and Sub Components
  • Data within a data field is further separated
    into components
  • Components separated by a symbol
  • Can repeat within the same field
  • Repeating values separated by a symbol

PD11EEMERGENCYROOM31E4421WELBYMARCUS
MD
AL11PENICILLINPRODUCES HIVESRASHLOSS OF
APPETITE
reactions to an allergy
44
Subcomponents
  • A component may contain components, called
    subcomponents
  • Separated by a symbol
  • Subcomponents
  • Can repeat in same field
  • Are optional

45
Sample Message
  • Sample ADTA01 Message

Patient Administration Message Patient has been
admitted
  • MSH\ERADMITMAINBILLINGMAIN200309241123A
    DTA019876PI2.3.1
  • EVNA01200309241123
  • PID88888PRIMARY99999LABU6123456SMITHHA
    RRYTBabasafa19610521MALE123 CENTER
    STREETMETROLOLISIL60016USAHOME(555)123-4567
    ENGLISHMCATHOLIC3444-55-6666555555555IL
  • PV11EEMERGENCYROOMROOM3BED1E4421WELBYMA
    RCUS
  • AL11PENICILLINPRODUCES HIVESRASHLOSS OF
    APPETITE
  • AL12DOG HAIRRESPIRATORY DISTRESS

Date and Time of Admission
Attending Physician Physician IDLastFirst
46
BizTalk Schema
47
What is a BizTalk XML Schema?
  • BizTalk uses the XML Schema Definition Language
    (XSD)
  • An XML schema defines
  • Elements
  • Attributes
  • Data types
  • Order of tags
  • Mandatory fields
  • Multiple occurrences

48
Supported Schema Types
49
Creating a Schema Using the BizTalk Editor
Schema Tree View
XSD View
50
Transformation Maps
51
What is a Map?
  • Defines the correspondence between records and
    fields in two different schemas
  • Data Transformation
  • Perform computational and other data operations
  • Automatically inserts the data from one message
    into another during runtime
  • Data Translation
  • Change the format of data between messages
  • Example translate to and from a flat file and an
    XML file

52
Creating a Map using the BizTalk Mapper
  • BizTalk Mapper
  • Integrated within Visual Studio .NET
  • Becomes active when a map is opened or added to a
    project
  • Schemas must be part of the project or referenced
    in another assembly

DestinationSchema
Map Zone
Source Schema
53
What is a Functoid?
  • Mechanism for performing operations on mapped data
  • 70 Predefined functoids
  • Add and modify data
  • Change date and time
  • Concatenate fields
  • Perform complex transformations
  • Custom functoids
  • Custom functionality
  • Use scripting functoid
  • Create in Visual Basic or C

Destination Schema
Source Schema
Order
(..)
PO Number
Date
Item No
Quantity
X
Order Status
Total Price
54
Configuring a Send Port to execute a map
  • Subscribing Send Port can execute a map on the
    data its receiving
  • Select Outbound Maps under Filters Maps in Send
    Port configuration
  • Select any deployed map

55
Business Process Automation
56
What is Orchestration?
  • BizTalk Orchestration
  • A new way to design, deploy, and maintain
    distributed business processes
  • Used to design business processes that manage the
    overall business logic
  • Combines a run-time engine with a design-time
    tool called Orchestration Designer

Business Process
Orchestration
Mapping
lttaggt lttaggtlttaggt lttaggt
57
Working in the Orchestration Designer
Design Surface
Port Surface
Port Surface
Toolbox
58
Configuring Message and Data Handling Shapes
!
Receive_1
!
ContructMesssage_1
!
MessageAssignment_1
!
ContructMesssage_1
!
Transform_1
!
Send_1
Message_1
59
Configuring Orchestration Flow Shapes
Decide_1
!
Else
Rule_1
Drop a shapefrom the toolbox here
Drop a shapefrom the toolbox here
!
Delay_1
Group_1
Drop a shapefrom the toolbox here
Listen_1
!
!
Drop a Receive orDelay shape here
Drop a Receive orDelay shape here
Drop a shapefrom the toolbox here
Drop a shapefrom the toolbox here
60
Configuring Orchestration Flow Shapes (Cont.)
!
Loop_1
Drop a shapefrom the toolbox here
ParallelActions_1
Drop a shapefrom the toolbox here
Drop a shapefrom the toolbox here
!
Terminate_1
X
61
Configuring Transaction and Exception Handling
Shapes
!
Compensate_1
62
Configure Port and Role Link Shapes
Port_1 Operation_1 gt Request
RoleLink_1
Provider
Insert Ports that your orchestration is
Implementing into this role (i.e. receive ports)
Consumer
Insert Ports that your orchestration is using
into this role (i.e. receive ports)
63
Health and Activity Tracking
64
What is Health and Activity Tracking (HAT)?
  • The ability to receive detailed information about
    a message as it flows throughout your system

65
The HAT Database
  • Information is stored in SQL Server so can be
    easily accessed through the HAT query interface
    tool

Transport
Transport
Decrypt
Parse
Resolve Party
Serialize
Sign Encrypt
Config DB
Message DB
Tracking DB
66
The HAT Tool
  • A configurable, run-time tracking system
  • View End-End Message Flow
  • Query and analyze tracked data
  • Interactive Orchestration Debugger
  • General Troubleshooting
  • External Interface

67
Demo
68
BizTalk Accelerator for HL7
http//www.microsoft.com/hl7
69
Thank you for attending. Visit www.mshug.org.
Write a Comment
User Comments (0)
About PowerShow.com