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)
}