Tags: Initial thoughts on RM representation

Further requirements:

  • only set by applications ; admins? ; not end users
  • no need to view tags / tag sets other than by pure extraction, i.e. no definition tool / view
  • tags can have values (i.e. optional)
  • include advice in specs to say how not to misuse
  • need support in AQL
  • move an EHR = move the tags as well
  • can point to fine grained things - any LOCATABLE, including PARTY, FOLDER, also VERSIONED_XX objs

Questions:

  • should they be in serialised form of Composition etc, i.e. visible in REST APIs?
  • how can AQL queries that mention tags be reliably interoperable?
  • essential Q: how connected to Composition? Linked externally

Possible simplified model based on the above.

class EHR {
    ...
    tags[0..*]: List<OBJECT_REF>;  // points to ITEM_TAGS[*]
    ...
}

// List of all tags associated with an item
class ITEM_TAGS {
    target_item: UID_BASED_ID[1];  // can point to any LOCATABLE
    tags: ITEM_TAG[*]; 
}

// a single tag instance
class ITEM_TAG {
    tag: String[1];     // the tag
    value: String [*];  // optional value(s)
}