ART terminologyAssociations

Terminology Associations

Purpose

This page aims to document the user scenarios that ART needs to support so terminologists can tie terminology into dataset concepts. This documentation will be the basis for future development in ART with respect to this topic.

General

The Terminologist is one of the roles that ART-DECOR explicitly aims to support. The Terminologist needs to be able to assist Domain experts in the creation of their dataset concepts and Modelers/Template Creators in the creation of their templates. The Terminologist is generally responsible providing consistency in applying terminology to concepts. He manages associations between concepts and terminology at three levels:

  1. The association of the concept itself. E.g. the association of concept "Systolic blood pressure" and SNOMED-CT code "271649006". This association is applied in V3 templates as observation/code
  2. The association of the concept values. E.g. the association of concept value "Female" and HL7 AdministrativeGender code "F"
  3. The association of all codeable values of a concept (i.e. the value domain), with a valueSet

This third association also point to this responsibility:

  1. The bundling of coded concepts in a valueSet and the management thereof

Requirements

General

  • ART SHALL offer UI to manage the state machine of terminology associations
  • ART SHALL offer UI to manage the state machine of value sets
  • ART SHALL offer UI to create/read/update/logically delete terminology associations with respect to the state machine
  • ART SHALL offer UI to create/read/update/logically delete value sets with respect to the state machine
  • ART SHALL support 0..* associations at every level. See above for levels.

Concept

  • ART SHALL support UI for associating a dataset Concept with any known code system in the terminology data package. This SHALL be the recommended way
  • ART SHALL support the option to free hand enter a dataset Concept association (code/codeSystem/codeSystemVersion/displayName)

Concept Value Domain Concepts

  • ART SHALL support UI for associating a dataset Concept Value Domain Concept with any code known in any code system in the terminology data package
  • ART SHALL support UI for associating a dataset Concept Value Domain Concept with any code known in any value set that the Value domain level is already bound to
  • ART SHALL support UI the option to free hand enter a dataset Concept Value Domain Concept association (code/codeSystem/displayName)

Concept Value Domain

  • ART SHALL support UI for associating a Value Domain of a dataset Concept with an existing value set defined or referenced in the project
  • ART SHALL support UI for associating a Value Domain of a dataset Concept with a value set that is compiled based on selected associations that the concepts within the Value Domain already have

Considerations

  • Terminology Associations SHOULD have a @statusCode attribute in DECOR to manage the state machine
  • Terminology Associations SHOULD have an @id attribute in DECOR for efficiency and to be sure you do not unintentionally alter any other association
  • Physical deletion versus logical deletion SHOULD be defined well. Proposal:
    • Deleting a production terminologyAssociation equals setting statusCode to obsolete and applying a value to expirationDate
    • Deleting a pre-production terminologyAssociation equals setting statusCode to cancelled and applying a value to expirationDate
    • When an association is deleted this may or may not impact the value set that the value domain is associated with. You could basically set the type of that concept to D (deprecated) in the value set. However the value set may be associated to multiple value domains, and deprecation may not be what you wanted for all. Do you then also check all other associations at value domain concept level with this same value set code? What happens when the valueSet is already final? Does that justify a new version of the valueSet with the appropriate valueSet code set type='D'? Should we leave all these decisions to the terminologist because there is no 'one size fits all automated solution'? What type of management options would the terminologist need to detect potential conflicts in consistency?
  • What type of reporting functions would a terminologist need?
    • Bound/unbound concepts in a given dataset
    • Bound/unbound value domain concepts
    • Bound/unbound value set concepts from the perspective of a given concept that binds the value set
    • Concepts associated with a code that is not in one of the value sets that the value domain binds to
    • Value set detection across projects
    • Repository management with regards to value sets
      • what repositories are in scope for my government group?
      • what repositories do I want to associate to my current project?
      • Can I promote my project scope value set to a repository and reference it from there?