Main Page
From CTS2
This site is being used to create, assemble and (hopefully) gather input on the combined Mayo/II4SM CTS2 submission to the OMG.
Questions, comments and suggestions are welcomed. Please direct any input to solbrig <dot>harold<at>mayo.edu
Status:
The "final" specification was submitted to the OMG on May 23 to meet the four week rule requirements for the June 20 OMG meeting.
The "final" specification has been submitted to the OMG. Final is in quotes because there is still a significant amount of work that needs to be done before this can be called complete - details of which can be found below.
The specification, as submitted, consists of the following components:
- Submission Inventory of Files
- Main CTS2 Submission - Introductory material
- Platform Independent Model - this section describes the formal model and semantics of the various components of the submission.
- Core Components - Data Types, structures and building blocks that are shared across more than one of the structural or functional profiles.
- Code System and Code System Version catalog services - Services to read, query and update catalogs of code systems (aka. "ontologies", "classification systems", "terminologies", etc.) and their releases.
- Entity Description and Association Services - Services to read, query and update the lexical (Entity Services) and semantic (Association services) content of the contents of code systems.
- Value Set Catalog and Value Set Definition Services - Services to read, query and update metadata about value sets (Value Set Catalog) and their definitions (Value Set Definition).
- Concept Domain Catalog and Concept Domain Binding Services - Services to read, query and update catalogs of concept domains (aka. Data Element Concepts) and concept domain bindings (aka. Data Elements).
- Map Catalog and Map Version Services - Services to read, query and update metadata about maps (Map Catalog) and map content (Map Versions).
- Statement Model and Services - Services for representing the minimal subject, predicate and object model used in RDF.
- UML Model of the PIM
- UML Model of the PIM (XMI)
- Platform Specific Model - this section contains an XML Schema rendering of each of the above components as well as the WSDL and WADL descriptions of the corresponding services
While the contents of the above submission is reasonably solid, there is still considerable room for improvement - especially in the area of document and testing. In particular, the following tasks are still outstanding:
- CTS2 Primer - we still need to produce an overview document that describes the various components, provides examples, etc.
- Z Behavioral Specification - Some of the components of the submission have been formally specified in Z. This task, however, is still not complete and will continue to be added. We view the Z as a component of the OMG's "Finalization Task Force (FTF)", whose job it is to correct and solidify the specification as submitted.
- Canonical RDF Specification - An additional PSM for the information model that describes a "canonical" RDF rendering - establishing the tags and structure to represent the various CTS2 resources in RDF format
- ISO 21090 PSM - Portions of the CTS2 model (concept domains and value set resolution) should be representable using the ISO 21090 Healthcare Datatypes. This portion of the modeling still needs to be completed.
- Proof reading, testing and additional documentation - it will quickly become obvious that there is still a great deal of work that could (and should) be done on the submission. This will be an ongoing task for the Finalization Task Force.
The following changes have been applied to the working copy subsequent to its submission to the OMG:
| Package | Source | Change | Status |
|---|---|---|---|
| UML | EntityDescription | equivalentEntities changed to equivalentEntity and documentation updated accordingly | Fixed in UML |
| UML | EntityDescription | entityType. parent and equivalentEntity is type URIAndEntityName instead of EntityReference | Fixed in UML, documentation not updated |
| REST | Entity.xsd | EntityDescriptionMsg contains EntityDescription rather than anonymous choice | Submitted Entity.xsd |
| UML | ResourceDescription | resourceType should be URIAndEntityName instead of EntityReference | Fixed in UML, documentation not updated |
| REST | Core.xsd | ResourceDescription - changed resourceType from EntityReference to URIAndEntityName | Submitted Core.xsd |
| UML | ValueSetCatalogEntry | changed "definition" to "definitions" and cardinality to 0..1 | Fixed in UML, documentation not updated |
| REST | ValueSet.xsd | ValueSetCatalogEntry - added definitions node - it got omitted | Submitted ValueSet.xsd |
| UML | Note | assertedInCodeSystemVersion text - changed "not" to "note" | Fixed in UML. Documentation not updated |
| UML | Designation | added assertedInCodeSystemVersion | Fixed in UML. Documentation not updated. |
| REST | Entity.xsd | Designation - added assertedInCodeSystemVersion | Submitted Entity.xsd |
| REST | Core.xsd | ResourceDescriptionDirectoryEntry - pulled resourceID as it is named explicitly (e.g. codeSystemName, ...) | Submitted Core.xsd |
| REST | Association.xsd | Association - changed cardinality of target from 1:1 to 1:n (model translation error) | Submitted Association.xsd |
| UML | Reference | Removed ConceptDomainBindingReference as bindings are now contained in the domains | Submitted Core.xsd |
| UML | Reference | Added AssociationReference, OntologyEngineeringToolReference, OntologyEngineeringMethodologyReference, StatementReference | Submitted Core.xsd |
| UML | Reference | Removed ResolutionRuleReference | Submitted Core.xsd |
| UML | Reference | Added FormalityLevelReference | Submitted Core.xsd |
| UML | CodeSystemCatalogEntry | Added usedOntologyEngineeringTool, usedOntologyEngineeringMethodology, hasFormalityLevel | Submitted Core.xsd |
| UML | Reference | Renamed MapCatalogReference to MapReference (catalogs reference maps) | Submitted Core.xsd and MapVersion.xsd |
| UML | Directory | Made sortCriteria optional | |
| UML | FiltersAndSorting | Changed NameAndMeaningReference to URIAndEntityName | |
| UML | ImportExportBase | Added the following exceptions:
And the following exception sets
| Submitted to Exceptions.xsd |
| UML | ImportExportBase interface | Added UnknownProcessId exception to getLog and clearLog. Also added "delta" profile to clearLog | |
| UML | BaseImportService | Added exceptions to getStatus and validate methods | |
| UML | BaseExportService | Removed redundant clearLog and getLog. Added exceptions to getStatus and export | |
| UML | UpdateService |
| |
| UML | EntityDescriptionMaintenanceService | Removed resourceType parameter from createAnnotationProperty, createDataTypeDescription, createDataPropertyDescription, createNamedIndividualDescription, createObjectPropertyDescription and createPredicateDescription as they default to owl:AnnotationProperty, owl:DataType, owl:DataProperty, owl:NamedIndividual, owl:ObjectProperty and rdf:Property respectively. | Submitted EntityDescriptionMaintenanceService.wsdl and cts2.wadl |
| UML | EntityDescriptionMaintenanceService | Renamed the resourceType parameter in createClassDescription to entityType | Submitted cts2.wadl and EntityDescriptionMaintenanceService .wsdl |
| UML | EntityDescriptionMaintenanceService | added entityType parameter | |
| UML | EntityDescriptionTransformationService | changed the codeSystemVersion' parameter of toEntityDescription from NameAndURI to NameOrURI | |
| UML | Association | removed AssociationRendering class from the model as it is no longer used, having been replaced by EntityExpression | |
| UML | AssociationReadService | renamed entryID to associationID in read and exists function | Submitted AssociationReadService.wsdl |
| UML | AssociationQueryService | removed supportedSourceAndNotation parameter as this functionality has been moved to the AssociationTransformService | |
| UML | AdvancedAssociationQueryService |
|
|
| UML | MapCatalog | renamed "UnknownMapCatalog" exception to "UnknownMap" | Submitted Exceptions.xsd |
| UML | ValueSetDefinitionHistoryService | changed the data type of all valueSetDefinitions from NameOrURI to DocumentURI, as definitions do not have names | Submitted cts2.wadl and ValueSetDefinitionHistoryService .wsdl |
| UML | ValueSetMaintenanceService | changed VSD types from NameOrURI to DocumentURI | Submitted cts2.wadl and ValueSetDefinitionMaintenanceService.wsdl |
| UML | ValueSetMaintenanceService | Redid the create and add operations for PropertyReference (in general maintenance needs to be double checked against the schema) | |
| UML | CodeSystemMaintenance | Changed the type of name from CodeSystemVersionName to CodeSystemName | Submitted CodeSystemCatalogMaintenanceService.wsdl |
| UML | CodeSystemMaintenance | changed types of the various parameters from (something)Reference to NameAndURI | |
| UML | EntityQueryService | Changed entities in restrictToEntities from EntityReferenceList to EntityNameOrURIList | |
| UML | CodeSystemVersionMaintenanceService | createCodeSystemVersion - changed the type of name from DocumentURI to CodeSystemVersionName | Submitted CodeSystemVersionCatalogMaintenanceService.wsdl |
| UML | CodeSystemVersionMaintenanceService | added many exceptions (check the whole of CSV) | Will be generated into wsdl/wadl |
| UML | CodeSystemVersionCatalogEntry | Removed the predecessor typed as CodeSystemVersionReference - it was more confusing than enligtening | |
| UML | MapCatlogHistoryService | Changed return type or earliest and latest from MapCatalogEntrySummary to MapCatalogEntry | |
| UML | Statement and StatementService | Added to model | |
| UML | URIResolutionService | Removed from model | |
| UML | Core | Changed OntologyEngineeringModel" to OntologyEngineeringModelReference" | |
| XML Schema | Core | Removed StatementReference as it was never used | |
| UML | Statement | Removed externalID from statement as it is a property of the target, not the subject. | |
| UML | Exceptions | Added UnknownStatement as an UnknownResourceException | |
| UML | EntityDescriptionMaintenance | updateEntityDescription - changed type of EntityType from reference to EntityNameOrURI | |
| Documentation | Regenerated all document sets except Map and Code system catalog. All at 0.95 except those two | ||
| ===================== | |||
| UML | Updates | Changed ChangeSet/Changeable containment from aggregate to composite. Added role label (containingSet) and cardinality of 0..1 | |
| UML | Updates | Changed ChangeDescription/Changeable containment from aggregate to compsite. Added role name (successor) and cardinality of 0..* | |
| UML | Updates | Added label to Changeable/ChangeDescription (describedChange) and cardinality of 1 | |
| UML | CodeSystemCatalog | # Changed CodeSystemCatalog to CodeSystemCatalogEntryDirectory
| |
| UML | CodeSystemVersionCatalog | # Changed CodeSystemVersionCatalog to CodeSystemVersionCatalogEntryDirectory
| |
| UML | MapCatalog | # Changed MapCatalog to MapCatalogEntryDirectory
|
|
| UML | ValueSetCatalog | # Changed ValueSetCatalog to ValuSetCatalogEntryDirectory
| |
| UML | ConceptDomainCatalog | # Changed ConceptDomainCatalog to ConceptDomainCatalogEntryDirectory
|
|
| UML | DirectoryTypes | # Changed CodeSystemCatalogURI to CodeSystemCatalogEntryDirectoryURI
|
|
| UML | DataTypes | Removed Enumeration data type |
We are in the process of finalizing the documentation, filling in the blanks, filling out some of the more egregious errors, etc. The updated documents are:
- CoreComponents PIM
- EntityDescriptionServices PIM
- CodeSystemCatalogServices PIM
- ValueSetServices PIM
- ConceptDomainServices PIM
- MapServices PIM
- StatementServices PIM
- OMG CTS2 RFP - the CTS2 RFP as issued by the OMG
- CTS 2 Service Functional Model (SFM)
- ISO 2010 Editors draft of 11179 Edition 3 Part 3
- CTS Specification (Also an ISO specification now)
- OMG LQS Specification
- OMG MOF 2.0 Specifications
- OMG ODM 1.0 Specifications
- UML 2.2 Superstructure and Infrastructure
- RM-ODP Wiki - jump off point for RM-ODP documentation
- 2009 SKOS Reference Specification
- OWL 1.1 Structural and Functional-Style Syntax - contains UML models of OWL
- OWL Working group home page
- ClaML
- PHIN VADS Functionality
Post OMG Submission Questions and answers
Clonation
Q: In the pim there are some hints about a 'clonation' system as the CLONED value of the ChangeType enum and the ChangeDescription.clonedResource field suggest. But in no service there is reference to cloning, so how could we get a clone of a Changeable resource?
EntityDescriptionReadService
Q: How can there be multiple entity descriptions when the entityID uniquely identifies the EntityDescription
CodeSystemVersionReadService
Q: How does the service set the codeSystemVersionTag?
EntityResourceType
Q: What goes in the CTS2ResourceType for EntityDirectory
FilterComponents
Q: Can secondary properties (propertyQualifier, correspondingStatement, etc) be used as filter and sort components?