NCI Service Oriented Architecture Strategy
The National Cancer Institute Center for Biomedical Informatics and Information Technology (NCI CBIIT), through its cancer Biomedical Informatics Grid1 (caBIG®) program, is implementing a semantic Service Oriented Architecture (sSOA) to support the integration of the divergent data types (e.g. outcomes, clinical encounters, bio-specimen annotations, medical images, molecular biology information, etc.) that are collected by the large number of independent organizations widely distributed across the United States and beyond. The CBIIT sSOA will also enable the coordination of functionality between the various information systems that reside within those organizations to facilitate collaborative data processing and work flow execution.
In particular, NCI CBIIT is developing the catalogue of Business Capability and associated supporting services necessary to meet the informational and functional integration requirements of its diverse oncology research and care community. These services can be implemented in a largely standalone fashion to allow for the rapid creation of new applications through the marshalling of services. Alternatively, they can also be integrated with existing applications to ensure working interoperability between differing systems that need to access or exchange specific classes of information and/or coordinate cross-application behaviors.
The NCI's current inventory of existing or currently-planned services is shown in Figure 1. For convenience of both planning and deployment, the services are classified into four types loosely based on the CBDI service taxonomy. Infrastructure/Utility services provide essential capabilities (e.g. Security, Semantics, Audit, etc.) required by all other services and applications. Core services (e.g. Person, Protocol Abstraction and Organization) provide support for information components common across multiple Business Capability Services (e.g. Specimen Management or Image Management) and form the bulk of the "business atoms," which most users utilize to interact or interoperate within and across traditional system boundaries.
Such interactions—particularly when they involve work flow or business processes—utilize a fourth service type called Process Services to "orchestrate" or "choreograph" arbitrarily complex, user-specified workflows through combinations of services of the other three service types. NCI services use existing standards whenever possible. In particular, the NCI has adopted the HL7 V3 Reference Information Model (RIM)2, the BRIDG model3, and the ISO 210904 data type specifications.
NCI services—both in reference implementation and documented specification format—are available to developers and other interested stakeholders. In particular, detailed specification documents including conceptual, logical, and implementable models are available for those that wish to build software that can interoperate with other systems that support NCI services. As is the case for all CBIIT/caBIG® products5, reference implementations of all CBIIT sSOA services are provided free-of-charge under a non-viral, Open Source license. Finally, the NCI hosts and maintains operating instances of many of these services that can be utilized (with appropriate security) to construct applications requiring access to this data. For maximum ease-of-use, most NCI constructed services surface APIs using multiple technology implementations—typically an Enterprise Java Bean (EJB) API, a Web Services API, and an API that utilizes caGrid6 , the NCI's semantically-aware platform infrastructure. In addition, the NCI is adding REST APIs to enable simpler access to many of these services.
Services-Aware Interoperability Framework (SAIF)
In order to scale working interoperability in this technologically diverse environment, the NCI has adopted the HL7 Services-Aware Interoperability Framework (SAIF) as an essential component of its strategy to develop services and other software within an open, distributed Enterprise Architecture Specification. SAIF defines a critical sub-framework—the Enterprise Conformance and Compliance Framework (ECCF)—that enables services to be specified from both an operational and interoperability perspective7. The decision to adopt the ECCF was driven by three characteristics of the framework:
- Layered specifications, which allow for binding to multiple technology platforms
- Formal mechanisms for defining site-specific localizations (such as vocabularies or workflows)
- A formal mechanism for embedding, within specification artifacts, Boolean conformance statements that can be used to create testable conformance assertions.
The layered structure of the ECCF enables parties wishing to interoperate via ECCF-specified services to determine with a reasonable degree of certainty the level of difficulty involved in a particular interoperability instance. For example, services/systems that share both technology and payload specification (i.e. they are interoperable at the Platform Specific or implementable level of an ECCF specification) can interoperate more easily and comprehensively than two services/systems whose commonality is only specified at the Platform-Independent (PIM/logical) or Computationally-Independent (CIM/conceptual) level.
In such situations, as mentioned above, the explicit and multi-dimensional nature of ECCF-based specifications enable engineers to quickly and efficiently identify and understand the nature of the problems they must resolve to achieve computable semantic interoperability. Full details of the NCI's Enterprise Services—including a list and description of the services, status of their development and specification documents—is publicly available at the NCI Wiki.
NCI service development is a community based effort. Individuals and organizations that wish to participate in development of these specifications can contact NCI Application Support at ncicb@pop.nci.nih.gov or by phone at 301-451-4384 or toll free at 888-478-4423 from 8:00AM to 8:00PM Eastern Time.
Developers: Find technical information and an inventory of existing or planned Services.
Sources
- General Overview and Detailed Community Portal
- http://www.hl7.org/implement/standards/rim.cfm
- http://www.bridgmodel.org/
- http://www.iso.org/iso/catalogue_detail.htm?csnumber=35646
- The caBIG® Open Source license
- caGrid Information
- The ECCF is based on the ISO Reference Model for Open Distributed Processing standard in combination with the Object Management Group's Model-Driven Architecture standard