160 likes | 426 Views
SOA Suite on Exalogic at Emdeon. John Tornblad Oracle Open World September 25, 2013. Emdeon Overview We Support Every Key Administrative Function in the U.S. Healthcare System. Providers. Providers. Providers. Providers. Patients. Patients. Payers. Payers. Payers. Step 3
E N D
SOA Suite on Exalogicat Emdeon John TornbladOracle Open WorldSeptember 25, 2013
Emdeon OverviewWe Support Every Key Administrative Function in the U.S. Healthcare System Providers Providers Providers Providers Patients Patients Payers Payers Payers Step 3 Claims Management Provider bills the Payer for Services (a.k.a the Claim) Step 4 Payment DistributionPayer sends payment and remittance information to Provider Step 5Payment DistributionPayer sends Explanation of Benefits to Patient Step 6 Patient Billing & PaymentProvider sends a bill to Patient for remaining balance Step 1 Eligibility and Benefits Verification Provider verifies the benefits available to the Patient and/or ability to pay Step 2 Medical Treatment Payers Payers Providers Pharmacies Patients Medicare Medicaid Blue Cross / Blue Shield 1,200 Commercial Plans (~100%) 500,000 Physicians (~88%) 5,000 Hospitals (~88%) 81,000 Dentists (~92%) (1) 60,000 Pharmacies (~100%) 150,000,000Patients Note: (1) Based on electronic claim submitting dentists
Conventional (1) PPO HMO POS (2) CDHP / SO (3) Business DriversEvery Attempt to Lower Cost has Increased Complexity Benefit Design Trends Drive Further Complexity [b] Fewer Payers, Yet Greater Complexity [a] (%) Government Mandates Drive Administrative Burden Consumerism Generating Bad Debt [c] Consumer Directed Health Plans (#) 60% of patient billings result in bad debt [d] Sources: [a] PhilliouSelwanes Partners, LLC [b] The Kaiser Family Foundation and Health Research and Educational Trust, 2007 [c] Forrester Research, 2005 [d] Susquehanna Financial Group, 2004 Notes: (1) Conventional plans refer to traditional indemnity plans (2) Point-of-service plans not separately identified in 1988 (3) Not included in survey until 2006 Emdeon is in the Business of Simplifying Complexity
Use CaseProvide Visibility Into Every Transaction in the Emdeon Network Patient Billing & Payment Patients Explanation of Benefits Pre-Care (Credit Verification, Public Assistance, Enrollment) Pre-Care (Benefits & Eligibility Verification, Care Messaging) Claims Management / Submission Payment and Remittance Distribution and Denial / AR Management Payers Providers Claims Management / Submission Pharmacy Benefits Administration Electronic Prescriptions Pharmacies • Emdeon processed 6.9 billion transactions in 2012
Benefits… business, operational and technical • Shift from batch-oriented updates to real-time view on business • Acceleration of status information to all consumers • Meaningful tracking information also used in processing: One source of truth • Integration of business transactions with low-level tools • Captured data integrated with EM through ECID • SOA, OSB and BPEL activities all related to business TXs… and customers, services, lines of business • Test bed for characterizing throughput & best practices on Exalogic • Validation of our environment’s configuration • Quick characterization of various features and options
Solution Architecture • Software stack • SOA Suite & OSB 11.1.1.7 • Weblogic 10.3.6 • Test environment • Exalogic X3-2 ¼ rack • Used 2 compute nodes, 2 x 8-core CPUs and 256 GB RAM each • One managed SOA server per node, clustered • Exadata X3-2 1/8 rack • 2 database servers, 2 x 8-core CPUs and 256 GB RAM each • 3 storage servers, 2 x 6-core CPUs and 64 GB RAM each • 2.4 TB flash cache • 10.8 TB raw disk space (high performance)
Test harness • Characterize service time, throughput and resource load ASAP • Preferred for it to operate inside Exalogic and on IB fabric • First tried a Java J2EE application deployed in Exalogic • Easy to create in JDeveloper, but overhead of test harness was too high • Building request and response objects, parsing, JVM overhead… • Needed a near ‘zero-footprint’ client… simple is good: • Push request bytes to service • Measure service time • Throw away results… don’t burn CPU parsing & creating objects • Utilized curl • Fast, low CPU overhead, can POST, loop and comes w/Oracle Linux • curl –H “Content-Type: text/html; charset=utf-8” –d @request.xml –X POST http://host:port/soa-infra/.../endpoint?[1-n]
Results • Ran 1-32 instances of curl concurrently in a loop of 1,000 calls • Work performed by service for each invocation: • On Exalogic: Mediator routing of request/response, DB adapter • On Exadata: PL/SQL procedure execution, 5 INSERTs
Scalability measured vs. modeled • Neil Gunther’sUniversal Scalability Law • USL characterizes… • Concurrency • Contention • Coherency • Analyzing our test results, nearlinear scalability observedthrough 32 concurrent workers
Auditing SOA composite execution • Audit levels: OFF, Production, Development
Auditing SOA composite execution • Auditing can keep the SOA repository quite busy
Cross-domain invocation • SOA Suite optimization on Exalogic:Call by “reference” instead of SOAP/HTTP • Invoker’s Frontend Host& Frontend Portare compared with target endpoint host & port • If invoker and endpoint are the same, an optimization is performed that avoids a SOAP/HTTP call • Displayed in composite flow trace as Type: “Web Service (Local Invocation)” vs. “Web Service” • Test results: • +10ms on a cross-domain call (request & response payload size of ~1K)
Database connection pool size • Think carefully about database connection pool size • On Exalogic + Exadata, typically fewer are needed • 15 pool connections is the default for a new datasource • Often the assumption is to increase this drastically to scale • Any Oracle database (including Exadata) can be more efficient with fewer concurrent connections • See Andrew Holdsworth’s video from Oracle’s Real World Performance Group:youtube.com/watch?v=xNDnVOCdvQØor search for “OLTP Performance Concurrent Mid-Tier Connections”
Database connection pool size • Test results • 128 connections in database pool 2,248 TX/sec • 32 connections in database pool 3,006 TX/sec • 25% better throughput with ¼ the number of database connections • Less is more… far cheaper to handle contention in the MT than the DB 128 connections 32 connections
Questions? jtornblad@emdeon.com Simplifying the Business of Healthcare