Introduction

This document is a section of the Design and Architecture Guide.

Information Models Overview

The information below is provided for introductory purposes. A full description of all available model components is also available in the javadoc distributed with the LexEVS installation package (see file breakdown in the Installation Guide). Since the javadoc is automatically generated and synchronized during the build process, it is recommended as the primary reference for use by LexEVS developers.

LexGrid Model

The LexGrid model is mastered in XML schema. The LexBIG project currently builds on the 2009 version of the LexGrid schema. A formal representation, showing portions of this structure that are of primary interest to the LexEVS project, is presented below. A complete version of the model is available at http://informatics.mayo.edu?page=lgm .

CodingSchemes

The CodingSchemes branch of the model defines high level containers for concepts and relations. Each CodingScheme represents a unique code system or version in the LexBIG service. Components of interest include:

codingSchemes
A collection of one or more coding schemes.

codingScheme
A resource that makes assertions about a collection of terminological entities.

entities
A set of entity codes and their lexical descriptions

relations
A collection of relations that represent a particular point of view or community.

versions
A list of past versions of the coding scheme.

mappings
A list of all of the local identifiers and defining URI's that are used in the associated resource

properties
A collection of properties.

class diagram of codingSchemes

Concepts

Each concept represents a unique entity within the code system, which can be further described by properties and related to other concepts through relations.

conceptsAndInstances

codingScheme
A resource that makes assertions about a collection of terminological entities.

entities
A set of entity codes and their lexical descriptions

entity
A set of lexical assertions about the intended meaning of a particular entity code.

concept
An entity that represents a class or category. The entityType for the class concept must be "concept".

instance
An entity that represents an instance or an individual. The entityType for the class concept must be "instance".

relations
A collection of relations that represent a particular point of view or community.

association
A binary relation from a set of entities to a set of entities and/or data. The entityType for the class concept must be "association".

class diagram of conceptsAndInstances

entities

codingScheme
A resource that makes assertions about a collection of terminological entities.

entities
A set of entity codes and their lexical descriptions

entity
A set of lexical assertions about the intended meaning of a particular entity code.

concept
An entity that represents a class or category. The entityType for the class concept must be "concept".

instance
An entity that represents an instance or an individual. The entityType for the class concept must be "instance".

association
A binary relation from a set of entities to a set of entities and/or data. The entityType for the class concept must be "association".

class diagram of entities

entity

entity
A set of lexical assertions about the intended meaning of a particular entity code.

comment
A property that is used as an annotation or other note about the state or usage of the entity. The propertyType of comment must be "comment"

definition
A property that defines the entity in a particular langage or context.. The propertyType of definition must be "definition"

presentation
A property ths represents or designates the meaning of the entityCode. The propertyType of presentation must be "presentation"

property
A description, definition, annotation or other attribute that serves to further define or identify an resource.

propertyLink
A link between two properties for an entity.. Examples include acronymFor, abbreviationOf, spellingVariantOf, etc. Must be in supportedPropertyLink.

class diagram of entity

Relations

Relations are used to define and qualify associations between concepts.

association

codingScheme
A resource that makes assertions about a collection of terminological entities.

relations
A collection of relations that represent a particular point of view or community.

entity
A set of lexical assertions about the intended meaning of a particular entity code.

association
A binary relation from a set of entities to a set of entities and/or data. The entityType for the class concept must be "association".

associationSource
An entity that occurs in one or more instances of a relation on the "from" (or left hand) side of a particular relation.

class diagram of association

associationInstance

association
A binary relation from a set of entities to a set of entities and/or data. The entityType for the class concept must be "association".

associationSource
An entity that occurs in one or more instances of a relation on the "from" (or left hand) side of a particular relation.

associationTarget
An entity on the "to" (or right hand) side of a relation.

associationData
An instance of a target or RHS data value of an association.

associatableElement
Information common to both the entity and data form of the "to" (or right hand) side of an association.

associationQualification
A modifier that further qualifies the particular association instance.

class diagram of associationInstance

Naming

These elements are primarily used to define metadata for a coding scheme, mapping locally used names to global references.

URIMap
A local identifier that is used in a specific context (e.g. language, property name, data type, etc) and an optional URI that can be used to find the exact definition and meaning of the local id. Note: the string portion of this entry can be used to provide additional documentation or information, especially when a URI is not supplied.

supportedAssociation
An associationName and the URI of the defining resource.

supportedAssociationQualifier
An associationQualifier and the URI of the defining resource

supportedCodingScheme
A codingSchemeName and the URI of the defining resource

supportedStatus
An entryStatus and the URI of the defining resource

supportedEntityType
An entityType and the URI of the defining resource

supportedContext
A context and the URI of the defining resource

supportedContainerName
A containerName and the URI of the defining resource

supportedDegreeOfFidelity
A degreeOfFidelity and the URI of the defining resource

supportedLanguage
A language and the URI of the defining resource

supportedProperty
A propertyName and the URI of the defining resource

supportedSortOrder
The local identifier and the URI of the defining resource

supportedHierarchy
A list of associations that can be browsed hierarchically.

supportedNamespace
A namespaceName and the corresponding URI

supportedPropertyType
A propertyType and the URI of the defining resource

supportedPropertyQualifier
A propertyQualifierName the URI of the defining resource

supportedPropertyQualifierType
A propertyQualifierType the URI of the defining resource

supportedPropertyLink
A propertyLinkName and the URI of the defining resource

supportedRepresentationalForm
A representationalForm and the URI of the defining resource

supportedSource
A source and the URI of the defining resource. Source references can also carry an additional compositional rule section that describes how to combine a subpart such as a page number, section name, etc. with the core URI in order to form a meaningful URL. An optional role can also be specified.

supportedSourceRole
A source role and athe URI of the defining resource

naming class diagram

Value Domain Definition

The Value Domain Definition branch of the LexGrid model defines the contents of a value domain.

Value Domain can be defined in following forms:

The following diagram is a UML representation of Value Domain Definition in LexGrid 200901 model:

UML representation of Value Domain Definition

Model Components

valueDomains
A collection of value domain definitions.

mappings
A list of all of the local identifiers and defining URI's that are used in the associated value domains.

properties
A collection of value domain properties.

changedEntry
A top level versionable entry.

valueDomainDefinition
A definition of a given value domain. A value domain can be a simple description with no associated value domain entries, or it can consist of one or more definitionEntries that resolve to an enumerated list of entityCodes when applied to one or more codingScheme versions.

Attributes of Value Domain Definition:

definitionEntry
A reference to an entry code, a coding scheme or another value domain along with the instructions about how the reference is applied. Definition entrys are applied in entryOrder, with each successive entry either adding to or subtracting from the final set of entity codes.

Attributes of Value Domain Definition Entry:

codingSchemeReference
A reference to all of the entity codes in a given coding scheme.

Attributes of Coding Scheme Reference:

valueDomainReference
A reference to the set of codes defined in another value domain.

Attributes of Value Domain Reference:

entityReference
A reference to an entityCode and/or one or more entityCodes that have a relationship to the specified entity code plus the rules(leafOnly, targetToSource..) to be applied.

Attributes of Entity Reference:

definitionOperator
The description of how a given definition entry is applied.

Attributes of Definition Operator:

Value Domain Services

This feature is new in LexEVS 5.1. For details on using value domain services, see the Programmer's Guide, Value Domain Services section.

Pick List Definition

Pick List Definition branch of LexGrid model definies the contents of a pick list.

Pick List can be defined in following forms:

The following diagram is a UML representation of Pick List in LexGrid 200901 model:

a UML representation of Pick List

Model Components

pickLists
A collection of pick list definitions.

mappings
A list of all of the local identifiers and defining URI's that are used in the associated pick list definitions.

properties
A collection of properties.

changedEntry
A top level versionable entry.

pickListDefinition
An ordered list of entity codes and corresponding presentations drawn from a value domain.

Attributes of Pick List Definition:

pickListEntryNode
An inclusion (pickListEntry) or exclusion (pickListEntryExclusion) in a pick list definition

Attributes of Pick List Entry Node:

pickListEntry
An entity code and corresponding textual representation.

Attributes of Pick List Entry:

pickListEntryExclusion
An entity code that is explicitly excluded from a pick list.

Attributes of Pick List Entry Exclusion:

Pick List Services

This feature is new in LexEVS 5.1. For details on using pick list services, see the Programmer's Guide, Pick List Services section.

LexBIG Model

The following extensions to the LexGrid model were introduced in support of caBIG requirements. As with the LexGrid model, this document provides a summary of the most significant elements for consideration by LexBIG programmers. The complete and current version of the model is available online at http://informatics.mayo.edu?page=lexex .

Core

LexBIG core elements provide enhanced referencing and controlled resolution of LexGrid model objects.

class diagram of Core

Core components of interest include:

AbsoluteCodingSchemeVersionReference
An absolute reference to a coding scheme. This form of reference is service independent, as it doesn't depend on local coding schemes names or virtual tags.

AssociatedConcept
A concept reference that is the source or target of an association.

Association
The representation of a particular association as it appears in a CodedNode.

CodingSchemeSummary
Abbreviated list of information about a coding scheme.

CodingSchemeURNorName
Either a local name or the URN of a coding scheme. These two are differentiated syntactically - if the entity includes a colon, :, or a hash "#" it is assumed to be a URN. Otherwise it is assumed to be a local name.

CodingSchemeVersionOrTag
A named coding scheme version or a virtual tag (e.g. latest, production, etc). Note that the tagged form of identifier is only applicable in the context of a given service, as one service may identify the scheme as "production" and another as "staging".

ConceptReference
A reference to a coding scheme and a concept code.

LogEntry
A single recorded log entry.

LogLevel
Indicates severity of the log entry.

MetadataProperty
Reference to a property name and value stored in the coding scheme metadata.

NameAndValue
A simple name/value pair.

ReferenceLink
Any reference to another document element. Used by the REST architecture to embed links.

ResolvedConceptReference
A resolvable concept reference.

ServiceURL
References a service in the Globus environment, this will be a global service handle (GSH).

InterfaceElements

Defines metadata related to model objects required by the runtime.

class diagram of InterfaceElements

InterfaceElements components of interest include:

CodingSchemeRendering
Information about a coding scheme as it appears in a particular service.

ExportStatus
Reports the state of LexBIG export operations.

ExtensionDescription
Describes an add-on module registered to the LexBIG environment.

LoadStatus
Reports the state of LexBIG load operations.

*ModuleDescription *
Describes a LexBIG integrated software module.

ProcessState
Enumerates possible status reported for LexBIG runtime operations.

ProcessStatus
Reports the state of LexBIG runtime operations.

RenderingDetail
The details of how a coding scheme is rendered in a given service.

SortContext
Describes a LexBIG sort module.

SortDescription
A description of a LexBIG extension module.

SortOption
Represents a pairing of sort algorithm and order.

SystemReleaseDetail
The combination of a system release and all of the entityVersions
that accompanied that release.

NCIHistory

Maintains a record of modifications made to a code system.

NCIHistory class diagram

NCIHistory components of interest include:

changeType
Atomic modification actions. Currently populated from a combination of Concordia, SNOMED-CT list and NCI's action list.

NCIChangeEvent
A change event as documented in:

Link provided for historical purposes ftp://ftp1.nci.nih.gov/pub/cacore/EVS/ReadMe_history.txt

Note that date and time of the change event is recorded in the containing version. All change events for the same/date and time a recorded in the same version.