The Public Health Information Network Messaging System Tim Morris Director, Division of Informatics Shared Services (DISS) National Center for Public Health Informatics (NCPHI) Centers for Disease Control and Prevention (CDC)
Overview PHIN Messaging System Secure and Reliable Messaging Overview Direct-Send vs. Route-not-Read
Mission To support applications sending public health data across the PHIN network which help accomplish CDC s mission: Preventing & controlling disease Preparedness & emergency response By providing these applications a common platform for secure message transport that is: Secure, reliable, easy to use, easy to support Well performing, feature-rich De-facto standard for secure message transport Available at no cost to users
What is? (Business Perspective) Secure, reliable message transport Used by PH agencies to send data to CDC Applications using include: BioSense, ELR, LRN, NBS, HCN, NND, NHSN Some states using internally: NYS, NYC, MN, OK, CA 4-year old product deemed mission critical by CDC
What is? (Technical Perspective) CDC s implementation of the ebxml 2.0 messaging standards Runs on Windows, Linux, Solaris (platform independent) Can be used by any application that can write and read database tables (language independent)
Usage Increase in Messages ~800,000 Increase in Senders ~360 189,374 87 88,859 40 7734 2003 2004 2005 2006 (est.) 2004 2005 2006 (est.)
Roadmap Version 2.1: Core Transport System (June 03) Version 2.5: Deployment engine (Tomcat), Graphical configuration, chunking (May 05) Version 2.6: Upgrade wizard, enhanced feature set (Feb 06) Version 2.7: Transport Folder polling, Auto email upon fatal sender error, Registry lookup (Fall 06)
What is ebxml? (www.ebxml.org) ebxml Messaging Service is a robust messaging framework for commerce Can send all types of files, not just XML HL7 has proposed an ebxml DSTU (Draft Standard for Trial Use) as a transport mechanism for all HL7 messages.
PHIN - Operational Environment PHIN Node (CDC) Data PHIN Node (State) PHIN Node (Lab) Data Data
Placement within PHIN Application Data Component Application Data Component Message Transformation Component (Creation) Message Transformation Component (Parsing)
Architecture Other Sites, Systems ebxml, XMLDSIG, XMLENC, LDAP, X.509 PHIN MS Q U E U E S Apps Platform Neutral
Business/Electronic Agreements, Trust, CPAs State Lab Client Server Hospital System Client State HD Client Server National Labs Client CDC Client Server
Message Flow LDAP CDC HL7 Lab CDC Public Key (Encrypt) CDC Private Key (Decrypt) Internet HL7 DB Q Sender Proxy Server DMZ Receiver DB Q Firewall Firewall
Message Routing Message Sending Application Service=X Action=Y Application In-Queue A Message Receiving Application A Out-Queue Sender Route Message (Service=X, Action=Y) Receiver Service=P Action=Q Application In-Queue B Message Receiving Application B Service=M Action=N Application In-Queue C Message Receiving Application C
Reliable Messaging Transport Queue Sender Receiver Once and Only Once Delivery Worker Queue Connection Retries Data Submit Retries Delayed Retries Duplicate Message Detection Persistent Cache
Message Chunking Message Size limit <= 10Mb Sender can be configured to send larger files in chunks Chunking is transparent to sending and receiving applications With chunking, tested up to a 4 Gb file
Two Ways of Sending Data Direct- Send Point to point transmission, no intermediary Adv: very reliable, no single point of failure Disadv: higher deployment + maint costs Route-Not-Read Intermediary holds message w/o reading Adv: lower deployment + maint costs Disadv: single point of failure
What is Direct-Send? Node A (Sender) Encrypt, Send Node B (Receiver) Receive, Decrypt Impact on Deployment - At message sending end - minor - At message receiving end - major
What is Route-not-Read? Intermediate Node C (Receiver) Store/ Retrieve Encrypt, Send Poll Receive, Decrypt Node A (Sender) Node B (Sender)
Why is Direct-Send Better? Route-not-Read Direct-Send
and Tracking Network Many public health departments using currently Transport of notifiable disease case messages sent to CDC via Secure point to point messaging Tracking Network use depends on requirements Tracking network may require some grid query and some point to point Could use for some data flows
and Tracking Network Public Health Department CDX Node Client Local EPD Health Data Source CDX Node Aggregate data analysis
Questions? http://www.cdc.gov/phin/phinms