Upload
herbert-hardy
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
1
ISO 21090 Data Types Adoption -
The Plan and the Tools
Architecture/VCDE Joint Face-to-Face
June 3, 2010
St. Louis, Missouri
Sichen Liu
CBIIT Core Infrastructure Engineering
Agenda
• Background
• Guidelines
• Overview of the NCI CBIIT Localization of the ISO 21090 Data Types
• Infrastructure Tools Support
2
Background
• The ISO 21090 data type standard is based on the considerable effort over an extended period of time by a group of international healthcare informatics experts from the US, Canada, Australia, and Europe representing ISO, CEN, and HL7.
• As a critical step in defining, designing, developing, and deploying software components that enable computable semantic interoperability across multiple technology platforms, the Enterprise Conformance and Compliance Framework (ECCF) that has been adopted by NCI CBIIT requires that each attribute of a static information model should be bound to a robust data type specification that fully and unambiguously expresses the semantics of the attribute.
• NCI CBIIT has identified the ISO 21090 standard to meet this need
Guidelines
• Use of ISO 21090 data types is required for NCI CBIIT-funded projects. Every project will be required to utilize the NCI CBIIT “localization” of the data type, as defined in the ISO 21090 PIM (Platform Independent Model). Any NCI CBIIT-funded project wishing an exception will be required to receive a waiver from the architecture governance team
• A list of approved ISO 21090 data type localizations will be maintained by NCI CBIIT and implementation package. Approved localizations exist for nearly half of the data types in the standard. A list of existing localizations can be found at https://wiki.nci.nih.gov/display/ISO21090/CBIIT+Localizations
• An overall project manager (called as “ISO Project Manager”) will maintain the content and be primary point of contact for project teams
Guidelines (cont.)
• NCI CBIIT has chosen to develop new localizations through “pilot projects.” A pilot project will provide the definition for the new data type along with the required documentation.
• When a project which identifies a need for an ISO 21090 data type that does not yet have a NCI CBIIT localization, that team will identify this need to the ISO Project Manager, who will propose a pilot project to the architecture governance team, which will identify a pilot project. (The pilot project may be the project which identified the need.)
• Projects considering using data types that are not in the “approved” list are required to contact ISO Project Manager to determine if there is an existing “pilot” effort.
• The project team is expected to coordinate with any existing pilot effort to ensure that both projects will be able to leverage the data type definitions resulting from the pilot project activity
Guidelines (cont.)
• If a project cannot use the existing implementation of “approved” data types, the project team will be required to coordinate with the ISO Project Manager and provide reasons, including specific enhancements needed before using the data types and a timeline for conforming to the standard. The waiver will be reviewed by the architecture governance team.
NCI CBIIT Localization of the ISO 21090 Data Types
7
• Specialized/constrained version of the ISO 21090 Data Types Standard
• Relationship to the ISO Standard
• This version refers to ISO 21090 (2007-09-24)
• When a new version is available, conformance to the new version may be needed
• Conformance and Compliance - Indirect
• Mappings between internal data types and the Standard
• Inward mapping, outward mapping, no mapping
• XML representation
• Detailed Information - The ISO 21090 PIM https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/documents/PIM_21090.doc
NCI CBIIT Localization of the ISO 21090 Data Types (cont.)
8
• Localized Classes
NCI CBIIT Localization of the ISO 21090 Data Types (cont.)
9
• Data Types in the localization
https://wiki.nci.nih.gov/display/ISO21090/CBIIT+Localizations
NCI CBIIT Localization of the ISO 21090 Data Types (cont.)
10
• Syntax, and the inward and outward mappings for each data type
• Basic Data Types – ANY, BL
• Text And Binary Data Types – ED, ST, SC
• Coded Data types (Terminology) – CD
• Identification and Location Data Types – II, TEL
• Name and Address Data Types – AD, EN
• Quantity Data Types – QTY, PQ, TS, REAL
• Collections Of Data Types – COLL, DSET
• Continuous Set Data Types – QSET, IVL
• Unmapped Data types
Infrastructure Tools Support - Need for ISO 21090 Enabled Tooling
• It is needed for the infrastructure tools to support the NCI CBIIT localization of ISO 21090 data types.
• Current infrastructure tools use primitive data types (string, integer, double etc) to create the services.
• It is necessary to enhance the existing tools (caCORE SDK, caAdapter, Introduce) to support the ISO 21090 data types in addition to the other primitive data types that were already supported
11
Infrastructure Tools Support - Goals
Overarching Goal
• Provide tooling support for automated creation and deployment of services using ISO 21090 data types compliant with SAIF and ECCF to ease adoption of ISO 21090 data types
Short Term Goal
• Provide support for NCI localizations of ISO 21090 data types in caCOE SDK, caAdapter, and Introduce for service creation and deployment on the caGrid Infrastructure
Infrastructure Tools Support - Iteration 1
• Develop Object and Data Models with UML modeling tool (Enterprise Architect or ArgoUML)
• Use caAdapter MMS (Model Mapping Service) to easily map elements between Object and Data Models
• Use caCORE SDK to generate the Java code and RESTful APIs
• Use Introduce to create a caGrid Data Service and Analytical Service
13
Infrastructure Tools Support - Iteration 1: tools enhancements
SDK
• Code Generation framework for UML Models based on the ISO 21090 data types
• SDK Java API to support the ISO 21090 data types
• SDK generated Middleware System for retrieving data based on ISO 21090 data types
caAdapter
• Model Mapping Service for mapping ISO 21090 enabled object model to relational database
caGrid/Introduce Toolkit
• caGrid Analytical Service and Data Service with ISO 21090 data types
• CQL query support for ISO 21090 data types
Infrastructure Tools Support - Iteration 1: current status
• Preliminary support for the NCI CBIIT’s localization of the ISO 21090 data types
• ISO 21090 enabled infrastructure tools includes caAdapter, caCORE SDK, and Introduce
• These tools will allow the developers to
• Generate Local and Remote Java API, RESTful XML service from a UML model with ISO 21090 data types using caCORE SDK
• Create caGrid Analytical service with ISO 21090 data types
• Create caGrid Data Service from caCORE SDK’s Java API with ISO 21090 data types using Introduce
15
Infrastructure Tools Support - Iteration 1: major features
• ISO 21090 Data Types Library• Localized Java API implementation of selected data types from ISO
21090 data types standard
• Database Mapping framework for localized Java API using Hibernate
• XML Serialization framework for localized Java API using JAXB
• caAdapter• Logical Model to Data Model mapping support for ISO 21090 data
types
• caCORE SDK• Code Generation framework for UML Models based on ISO 21090
data types• UML Features Supported: Classes, Association, Generalization, Primitive data
types, ISO 21090 data types
• Commonly used Model Mapping Features
• Commonly used mapping options
• caCORE SDK (continued) • caCORE SDK generated Middleware System for retrieving data
based on ISO 21090 data types• Local Java API
• Remote Java API
• RESTful XML API
• CSM and Grid Security
• caGrid/Introduce• Analytical Service extension to enable easy usage of ISO 21090 data
types
• CQL query support for ISO 21090 data types as supported by the SDK
• Introduce Data Service creation wizard for the new version of the SDK
Infrastructure Tools Support - Iteration 1: major features (cont.)
Infrastructure Tools Support - Next Step
• Working with the community to identify additional requirements for tooling support
• Full support for the ISO 21090 data types standardized by NCI
• Support for multiple versions and multiple implementation of ISO 21090 in the infrastructure tools
• Integrated open source technology solution, and integration with the new semantic infrastructure (v2) to ensure metadata registration and retrieval for ISO 21090 data types
• Integration support for ISO 21090 data types enabled systems
18
Acknowledgements
• NCI-CBIIT/SAIC-F Management• Sichen Liu• Avinash Shanbhag• Sreenath Nampally
• Project Management• Satish Patel (Ekagra)• John Eisenschmidt (Lantern Three)• Ye Wu (SAIC)• Elizabeth Prince (Sapient)
• Architecture• Satish Patel (Ekagra)• Ye Wu (SAIC)• Scott Oster (OSU/Inventrio)• Raghu Chintalapati (Ekagra)
• caCORE SDK Team• Satish Patel (Ekagra)• Vijay Parmar (Ekagra)• Santhosh Garmilla (Ekagra)• Dan Dumitru (Ekagra)• Prasad Konka (SAIC)
• caAdapter Team• Ye Wu (SAIC)• Eugene Wang (SAIC)
• caGrid Team• Scott Oster (OSU/Inventrio)• Shannon Hastings (OSU/Inventrio)• David Ervin (OSU)• Justin Permar (OSU)• Calixto Melean (OSU)
• QA Team• Ye Wu (SAIC)• Aynur Abdurazik (SAIC)• Xiaoling Chen (SAIC)
• Documentation• John Eisenschmidt (Lantern Three)• Ann Wiley• Bronwyn Gagne• Carolyn Klinger• Jill Hadfield
19
Resources
The approved guidelines are at the eCAT wiki site
https://wiki.nci.nih.gov/display/ISO21090/ISO+21090+Wiki+Home+Page
The ISO 21090 standard can be found at
https://wiki.nci.nih.gov/login.action?os_destination=%2Fdownload%2Fattachments%2F25004394%2FPublished%2BISO%2Bstandard.pdf
The ISO 21090 PIM can be found at
https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/documents/PIM_21090.doc
The ISO 21090 XSD (NCI CBIIT Localization) can be found at
https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/code/extensions/src/main/xsd/ISO_datatypes_Narrative.xsd
NCI CBIIT Localization Implementation - Java library
https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/code/localization/
NCI CBIIT Localization Implementation - XML transformation framework
https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/code/extensions
NCI CBIIT Localization Implementation - database mapping framework
https://ncisvn.nci.nih.gov/svn/ISO21090/trunk/code/hibernate
Questions
21