Connect Webinar24


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Connect Webinar24

  1. 1. CONNECT: Release 2.4 Webinar March 25th, 2010
  2. 2. CONNECT Architecture Overview Les Westberg
  3. 3. CONNECT Architecture Message from NHIN
  4. 4. CONNECT Architecture Message to NHIN
  5. 5. CONNECT Development Environment Version 2.1 Item Version Java JRE/JDK 1.6 Update 16 (32-bit version) GlassFish 2.1 NetBeans 6.7.1 Metro 1.5 MySQL 5.1.41 SoapUI 3.0.1
  6. 6. Major Changes in 2.4 <ul><li>Support of the Updated NHIN Specs: </li></ul><ul><ul><li>Document Submission </li></ul></ul><ul><ul><li>UDDI </li></ul></ul><ul><ul><ul><li>Also added as part of release 2.3.1 </li></ul></ul></ul><ul><ul><li>Certificate Revocation List (CRL) </li></ul></ul><ul><ul><ul><li>Also added as part of release 2.3.1 </li></ul></ul></ul><ul><li>Performance and Build Time Improvements </li></ul><ul><li>Progress toward IDE Neutral Build Scripts </li></ul><ul><li>Dynamic Document Assembly Components </li></ul><ul><li>SoapUI Updates </li></ul><ul><li>Asynchronous Messaging Research </li></ul>
  7. 7. Support of the Updated NHIN Specifications Document Submission Kieran Dunne
  8. 8. Document Submission <ul><li>NHIN Specification: </li></ul><ul><ul><li>Document Submission V 1.1.0 Dated: 10/26/2009 </li></ul></ul><ul><li>Underlying Specifications: </li></ul><ul><ul><li>HITSP/T31 Document Reliable Interchange Transaction Version 1.3 July 8, 2009 </li></ul></ul><ul><ul><li>IHE ITI TF Supplement XDR TI 2009-8-10 </li></ul></ul><ul><ul><li>IHE ITI TF Revision 6.0 Vol. 2b, 2x, 3 2009-8-10 </li></ul></ul><ul><li>Emerging Specification: </li></ul><ul><ul><li>Document Submission Specification has not been finalized. </li></ul></ul>
  9. 9. Document Submission <ul><ul><li>Purpose of the Document Submission Framework </li></ul></ul><ul><ul><li>Provide the ability to “push” data for a given patient from one NHIE to another via configuration on the submission side. </li></ul></ul><ul><ul><li>This is a different model of exchange than subscription because the sender decides who the data should go to and the receiver receives data on an appropriate available endpoint from the sources it authorizes </li></ul></ul><ul><ul><li>Intended Usage </li></ul></ul><ul><ul><li>Document Submission is viable where XDS Registry/Repositories are not yet implemented or available for the exchange of information. </li></ul></ul><ul><ul><li>Intended only for exchange of patient related medical documents and not intended to address all cross‐enterprise EHR communication needs </li></ul></ul>
  10. 10. Document Submission <ul><ul><li>Profile Highlights </li></ul></ul><ul><ul><li>Receiver does not need to know about the sender </li></ul></ul><ul><ul><ul><li>Differs from the Publish/Subscribe model currently in place. </li></ul></ul></ul><ul><ul><ul><li>Sender controls who receives the data. </li></ul></ul></ul><ul><ul><li>Built on XDS.b specification </li></ul></ul><ul><ul><ul><li>Uses the same ProvideAndRegisterDocumentSet-b message </li></ul></ul></ul><ul><ul><li>Routing Ability </li></ul></ul><ul><ul><ul><li>Intended Recipient Field </li></ul></ul></ul><ul><ul><ul><li>Spring Framework Adapters </li></ul></ul></ul><ul><ul><li>Reference </li></ul></ul><ul><ul><li> </li></ul></ul>
  11. 11. Document Submission <ul><ul><li>Asynchronous Support </li></ul></ul><ul><ul><li>Document Submission needed an Asynchronous Solution </li></ul></ul><ul><ul><ul><li>Interim solution put in place in patch 2.4.1 </li></ul></ul></ul><ul><ul><ul><li>Two one-way messages. </li></ul></ul></ul><ul><ul><ul><ul><li>Request from Sender to Receiver </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Response from Receiver to Sender </li></ul></ul></ul></ul><ul><ul><li>General Asynchronous solution will be available in Release 3.0 </li></ul></ul>
  12. 12. Support of the Updated NHIN Specifications UDDI (Service Registry) Jon Hoppesch
  13. 13. Service Registry <ul><li>NHIN Specification: </li></ul><ul><ul><li>Services Registry V 1.4 Dated: 11/03/2009 </li></ul></ul><ul><ul><li>This is not a service specification, but rather a client specification </li></ul></ul><ul><li>Underlying Specifications: </li></ul><ul><ul><li>OASIS specification for Universal Description and Discovery Interface (UDDI) registry version 3.0.2 </li></ul></ul>
  14. 14. Service Registry <ul><li>Previous Service Registry Support: </li></ul><ul><ul><li>Previous releases CONNECT did provide UDDI support </li></ul></ul><ul><ul><li>Was more of a proof of concept </li></ul></ul><ul><ul><li>UDDI was not stood up by the NHIN </li></ul></ul><ul><ul><li>Communications were through an unsecure interface </li></ul></ul><ul><ul><li>UDDI Polling mechanism to periodically get updates from the UDDI and cache them locally </li></ul></ul><ul><ul><li>Internal Connection file available to provide overrides to the UDDI endpoints </li></ul></ul><ul><ul><ul><li>Latter two bullets are still in place for the R2.4 implementation </li></ul></ul></ul>
  15. 15. Service Registry <ul><li>R2.4 Service Registry Summary: </li></ul><ul><ul><li>UDDI tModel changes from previous versions </li></ul></ul><ul><ul><ul><li>Changes were made to the underlying structure of the records in the UDDI </li></ul></ul></ul><ul><ul><ul><li>Standard names defined for Patient Discovery, Document Query, and Document Retrieve </li></ul></ul></ul><ul><ul><li>UDDI Secure Communications </li></ul></ul><ul><ul><ul><li>Communications with the UDDI are now secured via 2-way SSL </li></ul></ul></ul><ul><ul><ul><li>Entrust certificates issued from the NHIN Certificate Authority are required for communication with the UDDI </li></ul></ul></ul><ul><ul><li>The Query By State feature </li></ul></ul><ul><ul><ul><li>Enables NHIEs to easily communicate with NHIEs in a particular state or set of states. </li></ul></ul></ul><ul><ul><ul><li>Initiated on the initial message sent to the Entity Interface for a NHIN Service. </li></ul></ul></ul><ul><ul><ul><li>Support for this feature was also added to the internal CONNECT Connection management feature. </li></ul></ul></ul><ul><ul><ul><li>Currently supported for Patient Discovery, Document Query, Audit Query, and HIEM subscribe </li></ul></ul></ul><ul><ul><ul><li>Not using UDDI feature to query by state, but rather filtering internal cache </li></ul></ul></ul>
  16. 16. Service Registry <ul><li>R2.4 Service Registry Summary: </li></ul><ul><ul><li>Flag added to disable UDDI functionality </li></ul></ul><ul><ul><li>UDDI subscribe/notify </li></ul></ul><ul><ul><ul><li>The original thought was that the Subscribe/Notify mechanism in the UDDI would be event driven. If an entry was change notification would occur immediately. </li></ul></ul></ul><ul><ul><ul><li>Instead this feature ended up being is time-driven. When you subscribe you specify how often you want to be notified of changes. </li></ul></ul></ul><ul><ul><ul><li>Previous functionality pulled data from the UDDI based on a timer. </li></ul></ul></ul><ul><ul><ul><li>Implementing this feature we would essentially just have changed this to a push model. </li></ul></ul></ul><ul><ul><ul><li>Based on this information this capability was not built into the CONNECT Gateway at this time </li></ul></ul></ul><ul><li> </li></ul>
  17. 17. CRL (Certificate Revocation Lists) Sai Valluripalli
  18. 18. Certificate Revocation List <ul><ul><li>Certificate Revocation Lists (CRLs) are lists of certificates that are no longer valid or that have been revoked by a CA (Certificate Authority). </li></ul></ul><ul><ul><li>Each NHIN initiating and responding gateway MUST implement either Online Certificate Status Protocol (OCSP) based x.509 certificate revocation checking or use CRLs against an NHIN-governed CA to determine the revocation status of each certificate as per NHIN policy. </li></ul></ul><ul><ul><li>Various reasons to revoke a certificate are Unspecified, Key compromise, CA Compromise, Affiliation Changed, Superseded Privileges withdrawn etc., </li></ul></ul><ul><ul><li>We have to configure Glassfish application server to achieve dynamic CRL functionality. The details of configuring JVM OPTIONS can be found in our documentation at: </li></ul></ul>
  19. 19. Performance & Build Time Improvements Neil Webb
  20. 20. Performance & Build Time Improvements <ul><li>Overview </li></ul><ul><ul><li>EJB web services now hosted as POJO web services in web applications </li></ul></ul><ul><ul><li>Consolidated 58 EJB projects into 6 web applications </li></ul></ul><ul><ul><li>Many library projects consolidated </li></ul></ul><ul><li>Goals </li></ul><ul><ul><li>Reduce memory footprint </li></ul></ul><ul><ul><li>Increase performance </li></ul></ul><ul><ul><li>Increase portability </li></ul></ul><ul><ul><li>Reduce build times </li></ul></ul><ul><ul><li>Reduce complexity </li></ul></ul><ul><li>Results </li></ul><ul><ul><li> </li></ul></ul>
  21. 21. Performance & Build Time Improvements <ul><li>Heap memory consumption </li></ul><ul><li>Average before: 1,283 KB </li></ul><ul><li>Average after: 404 KB </li></ul><ul><li>68% Reduction in heap memory consumed </li></ul><ul><li>Results obtained running InternalSelfTest </li></ul>
  22. 22. Performance & Build Time Improvements <ul><li>Performance Improvements </li></ul><ul><li>81% reduction in processing time in InternalSelfTest </li></ul><ul><li>Processing times in MS </li></ul><ul><li>Most savings likely due to significant decrease in garbage collection </li></ul>
  23. 23. Performance & Build Time Improvements <ul><li>Build Time Improvements </li></ul><ul><ul><li>Previous CI build time for full clean build was 1 hour 30 minutes </li></ul></ul><ul><ul><li>Custom modification to WSImport reduced full clean build to 45 minutes </li></ul></ul><ul><ul><li>Project consolidation reduced full clean build to 26 minutes. 71% reduction in time to perform a full clean build </li></ul></ul><ul><ul><li>Normal CI “dirty” build reduced to 11 minutes </li></ul></ul><ul><ul><li>Developer build reduced to under 6 minutes </li></ul></ul><ul><li>Project Creation Guidelines </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>New projects created only if absolutely necessary. Follow guidelines in the link above. </li></ul></ul>
  24. 24. Progress towards IDE Neutral Build Scripts Srikanth Vadlamani
  25. 25. IDE Neutral Build Scripts <ul><ul><li>Patch Release 2.4.1 - will contain both IDE Neutral build scripts and old build scripts. </li></ul></ul><ul><ul><li>Release 2.4 - Initial version of these scripts are added (sprint #50). </li></ul></ul><ul><ul><li>Release 3.0 - old build scripts will be replaced with new build scripts. </li></ul></ul><ul><ul><li>CONNECT CI build Servers (Windows and Solaris) have been switched to use new build scripts. </li></ul></ul><ul><ul><li>Targets executed are </li></ul></ul><ul><ul><ul><li>Heavy build : ant -f build_new.xml just.clean just.source.compile </li></ul></ul></ul><ul><ul><ul><li>Deploy on GF : ant -f build_new.xml just.package.create deploy </li></ul></ul></ul><ul><ul><ul><li>SOAP UI Test : ant -f &quot;SoapUI TestRegressionSuiteuild_new.xml&quot; </li></ul></ul></ul><ul><ul><li>Dependency management is done using IVY. </li></ul></ul><ul><ul><li>Build timings </li></ul></ul><ul><ul><ul><li>As ivy-cache is build first time on local desktop, Initial build time will be longer. </li></ul></ul></ul><ul><ul><li> </li></ul></ul>
  26. 26. Dynamic Document Assembly Components Martha Flynn
  27. 27. Dynamic Document Generation <ul><li>Contribution from TATRC/NGC based on their development effort to support DoD/VLER Phase 1a. </li></ul><ul><li>Developed against CONNECT R2.1. </li></ul><ul><ul><li>This is an EJB implementation which has yet to be converted to POJO. </li></ul></ul><ul><li>Replacement of the reference version of DocumentRespositoryEJB provided with CONNECT. </li></ul><ul><li>Templates used for dynamic document generation to support Patient Information, Medications, Problems and Allergies sections of CDA document. </li></ul><ul><li>Database tables allow the user to configure which sections are included in a generated document. </li></ul><ul><ul><li>AHLTA interface is stubbed out using XML files </li></ul></ul>
  28. 28. SoapUI Updates Scott Borst
  29. 29. Property File <ul><li>The property file is now renamed to have the same name as the soapUI project itself and should be placed in the same directory where the soapUI project file resides. </li></ul><ul><li>The property file is now loaded at the project level instead of being loaded within every test case. </li></ul><ul><li>The Load Script includes Groovy code to load the property file at the project level, when the project is loaded into soapUI. </li></ul><ul><li>The project level properties as well as the test case level properties are now embedded directly in the request XML itself via property expansion, eliminating the need of a Property Transfer step. </li></ul><ul><li>The Load Script also includes Groovy code to add dynamic properties to the property list that are created during the test case for just that test case run. </li></ul>
  30. 30. SQL and GetDates Steps <ul><li>SQL steps: </li></ul><ul><li>The Load Script includes a Groovy method to access the database at the project level, when the project is loaded into soapUI. </li></ul><ul><li>All the SQL steps within each test case are now simplified to use the new withSql method in the Load Script. </li></ul><ul><li>GetDates steps: </li></ul><ul><li>The Load Script includes a test case listener to set the StartDate, EndDate, SigDate and ExpireDate at the project level, when the project is loaded into soapUI. </li></ul><ul><li>This eliminated the step to set dates within a particular test case. </li></ul>
  31. 31. With all of the above changes… <ul><li>The self-tests are now portable and can be executed from any folder as long as the project and properties file are in the same folder. </li></ul><ul><li>The self tests are platform independent, the same test can be run on Windows and Solaris. </li></ul><ul><li>Useful tips: </li></ul><ul><li>When running the soapUI GUI, when a change is made to a properties file, the change is not reflected within the soapUI project until the Load Script at the project level runs again. To run the script, double click on the Project name in soapUI and go the Load Script tab on the right panel and click on the Green arrow. </li></ul>
  32. 32. CONNECT Asynchronous Support Les Westberg
  33. 33. WS-Addressing <ul><li>Transport-neutral mechanisms to address web services and messages </li></ul><ul><li>Fields </li></ul><ul><ul><li>MessageId: Unique ID for the message </li></ul></ul><ul><ul><li>ReplyTo: URL to send response to </li></ul></ul><ul><ul><li>RelatesTo: Message ID for which the message is a response </li></ul></ul><ul><li>ReplyTo field implication </li></ul><ul><ul><li>Response on same HTTP connection </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>Response on separate HTTP connection </li></ul></ul><ul><ul><ul><li>URL for web service that will catch the response </li></ul></ul></ul>
  34. 34. Messaging Forms <ul><li>Synchronous (supported) </li></ul><ul><li>API Async – Single HTTP connection (supported) </li></ul><ul><li>Async Messaging – Multiple HTTP connections (research) </li></ul>
  35. 35. Asynchronous Messaging Research <ul><li>Needs to handle extreme latent response </li></ul><ul><ul><li>Could be as large as one week </li></ul></ul><ul><ul><li>May have manual processes before response can be sent </li></ul></ul><ul><li>Engineering Analysis </li></ul><ul><ul><li>Web Service Stack Support for WS-Addressing </li></ul></ul><ul><ul><ul><li>Metro </li></ul></ul></ul><ul><ul><ul><li>Axis2 </li></ul></ul></ul><ul><ul><ul><li>CXF </li></ul></ul></ul><ul><ul><li>Security implications </li></ul></ul><ul><ul><ul><li>2-way SSL </li></ul></ul></ul><ul><ul><ul><li>SAML </li></ul></ul></ul><ul><ul><ul><li>Digital signatures </li></ul></ul></ul><ul><ul><li>Handling of extreme latent responses </li></ul></ul>
  36. 36. Research – General Information <ul><li>Web service stacks were very similar </li></ul><ul><ul><li>Code generation </li></ul></ul><ul><ul><li>Web service handling </li></ul></ul><ul><li>Process </li></ul><ul><ul><li>Create WSDL </li></ul></ul><ul><ul><li>Generate service shell from WSDL </li></ul></ul><ul><ul><li>Implement custom code into generated shell </li></ul></ul><ul><ul><li>Deploy to application server </li></ul></ul><ul><li>Research Points </li></ul><ul><ul><li>Main effort focused on Metro </li></ul></ul><ul><ul><li>Analysis of other stacks – only took them to the point where it appeared that they would behave in a similar fashion to Metro (Time and resources did not allow for further analysis) </li></ul></ul>
  37. 37. Synchronous Messaging (All stacks)
  38. 38. Asynchronous Messaging – Managed by Web Service Stack
  39. 39. Asynchronous Messaging Using Two Services
  40. 40. Research Posted to CONNECT Site <ul><li> </li></ul>
  41. 41. Overview of 3.0 Plans Les Westberg
  42. 42. CONNECT 3.0 <ul><li>Gateway of Gateways </li></ul><ul><li>ESMD Profile (Electronic Submission of Medical Documentation) </li></ul><ul><li>Soap 1.2 upgrade on internal interfaces </li></ul><ul><li>Universal client framework enhancements </li></ul><ul><li>CONNECT Direct </li></ul><ul><ul><li>XMPP protocol framework </li></ul></ul><ul><li>Policy and redaction engine enhancements </li></ul><ul><li>Asynchronous messaging </li></ul><ul><ul><li>Document Submission (interim implementation) </li></ul></ul><ul><ul><li>Patient discovery </li></ul></ul>
  43. 43. CONNECT Release 2.4 <ul><li>Release 2.4 is currently available for download </li></ul><ul><li> </li></ul>
  44. 44. Questions? Thank you for joining.
  45. 45. Survey – Please let us know