id: https://hotecosystem.org/tccm/references
name: references
title: Decorated value set references
license: https://creativecommons.org/publicdomain/zero/1.0/
description: >-
  his diagram identifies all of the value domains that are used within the TCCM service itself. Each reference has a 
  domain, which frequently isn’t necessary to carry through to PSMs with strong type systems, a name that serves as a 
  unique permissible value within the context of the domain, a uri that references the intended meaning of name, and an 
  optional href that, if present, provides a link to a TCCM EntityDescription that provides definitions, descriptions, 
  etc. of the meaning.
  
  The NameAndMeaningReference pattern represents, at the meta-level, one of the key purposes for a TCCM based service
  to establish lists of value domains (identified here by ReferenceType) from which sets of permissible values and
  meanings can be drawn.

  For each specific reference below we attempt to identify an ontology or value set from which the set of possible
  values could be drawn. We then state whether this set is mandatory, meaning that it must be used in a compliant
  TCCM implementation, recommended, meaning that, while not required, we anticipate that significant gains in
  interoperability would result were it used, or simply exemplar, meaning that the set carries examples of what
  might be used.

prefixes:
    tccm: https://hotecosystem.org/tccm/

default_prefix: tccm
default_range: string

imports:
  - prefixes
  - valuesets
  - uritypes


classes:
  NameAndMeaningReference:
    description: >-
      A NameAndMeaningReference consists of a local identifier that references a unique meaning within the context of
      a given domain in a TCCM service instance and a globally unique URI that identifies the intended meaning of the
      identifier.
    slot_usage:
      name:
        range: LocalIdentifier
        required: True
      uri:
        range: ExternalURI
      href:
        range: RenderingURI

  AssociationReference:
    is_a: NameAndMeaningReference
    description: >-
      A name or identifier that uniquely names an association instance in a code system.
      
  BindingQualifierReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an entity that describes the role that a given value set binding plays for a concept domain. T
      ypical values represent “overall,” “minimum” or “maximum,” the significance of which can be found in H
      L7 Version 3 documentation.
      
  CaseSignificanceReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an entity that describes significance of the case in term or designation.

  CodeSystemCategoryReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to information about a paradigm model used to create an ontology (a.k.a. knowledge
      representation paradigm).

  CodeSystemReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a code system or ontology.

  CodeSystemVersionReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a specific version of code system and, if known, the code system which it is a version of.
    slot_usage:
      codeSystem:
        range: CodeSystemReference

  ConceptDomainReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a concept domain.

  ContextReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a realm or context.

  DesignationFidelityReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a description about designation faithfulness or accuracy.

  DesignationTypeReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a designation type or form such as “short name,” “abbreviation,” “eponym.”

  FormalityLevelReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a description of the relative formality an ontology.

  FormatReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a particular way that information is encoded for storage or transmission.

  LanguageReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a spoken or written human language.

  MapCorrelationReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a way that the source and target in a map can be related or assessed.

  MapReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an abstract map.

  MapVersionReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a map version and the corresponding map, if known.
    slot_usage:
      map:
        range: MapReference

  MatchAlgorithmReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an algorithm used for selecting and filtering data.

  ModelAttributeReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an attribute defined in the CTS2 specification.

  NamespaceReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a conceptual space that groups identifiers to avoid conflict with items that have the same name
      but different meanings.

  OntologyDomainReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a subject domain for an ontology.

  OntologyEngineeringMethodologyReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a method model that can be used to create an ontology.

  OntologyEngineeringToolReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a tool that can be used to create an ontology.

  OntologyLanguageReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a language in which an ontology may be implemented.

  OntologySyntaxReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a syntax in which an ontology may be represented.

  OntologyTaskReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a purpose for which an ontology can be designed.

  OntologyTypeReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to the nature of the content of an ontology.

  PredicateReference:
    description: >-
      An EntityReference that serves the role of predicate. Note that this varies slightly from the base class of
      NameAndMeaningReference because the name attribute is a namespace/name combination rather than a simple name
      scoped exclusively by the domain.
    slot_usage:
      uri:
        range: ExternalURI
        required: True
      name:
        range: CURIE
      href:
        range: RenderingURI
      designation:
        range: string

  ReasoningAlgorithmReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a formal algorithm for making inferences about an ontology.

  RoleReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a role that an individual, organization, or bibliographic reference can play in the construction
      of a resource or resource component.

  SourceAndRoleReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a source that also includes the role that the source played and/or fixes the particular chapter,
      page, or other element within the reference.
    slot_usage:
      role:
        range: RoleReference
#      bibliographicLink:
#        range: OpaqueData

  SourceReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to an individual, organization of bibliographic reference.

  StatusReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a state in an external ontology authoring workflow.

  ValueSetDefinitionReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a set of rules for constructing a value set along with the corresponding value set if known.

  ValueSetReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a named set of entity references.

  VersionTagReference:
    is_a: NameAndMeaningReference
    description: >-
      A reference to a tag that can be assigned to versionable resources within the context of a service implementation.