This wiki has undergone a migration to Confluence found Here
CTS2/doc/CTS2 SFM ConceptDomainArea
Jump to navigation
Jump to search
Alignment between the CTS2 SFM and PIM Concept Domain Classes
The concept domain area was partially refactored in the CTS2 PIM. While the SFM model assigns three different roles to a binding:
- (Implicitly) Determining which value set is to be associated with a given concept domain in a given context
- Determining the value set version to be used for a given concept domain in a given context
- Determining the specific designation that is to be used to represent a member of a value set when used in the given context
The CTS2 PIM, however, separates those functions:
- The binding determines which value set is to be associated with a given concept domain in a given context
- The binding may the value set version (definition) is to be used in a given context or, alternatively, this decision may be left to the service client
- The binding may determine the code system version(s) to be used in a given context for value set resolution or, alternatively, this decision may be left to either the service client or the value set definition itself
- The determination of which designation (if any) is to be used in the value set resolution is no longer a function of the binding and, instead, the service instance may use contextual parameters (e.g. language, role, etc.) to determine which designations are to accompany the value set resolution.
The motivation behind these changes was to meet other requirements including the ability to update a definition of a value set without having to create new context bindings, the ability to specify which version of a code system is to be used:
- in the value set definition
- in the binding of the value set to the concept domain
- when the value set itself is resolved
SFM | PIM | Reason |
---|---|---|
ConceptDomain | ConceptDomainCatalogEntry | The CatalogEntry suffix was added to maintain a consistent naming convention across the CTS2 PIM. |
ValueSetContextBinding | ConceptDomainBinding | This was renamed because (a) the binding was from a concept domain to a value set and (b) UsageContext was made optional in the PIM as many outside use cases carried no notion of context. |
ValueSetVersion | ValueSetDefinition | (discussed in the previous section) |
ValueSet (not shown in this diagram) |
ValueSetCatalogEntry | (discussed in the previous section) |
DesignationValueSetVersionMembership | (none) | The ability specify which designation (type) was to be used was not included in the CTS2 PIM |
UsageContext | ConceptDomainBinding.applicableContext (Shown in next section) |
The PIM architects decided that a model of "context", while important, was outside the domain of a terminology service. The CTS2 PIM represents UsageContext via a service specific name coupled with a URI, which could be used to look up further details in an external service. |
JurisdictionalDomain | (none) | JurisdictionalDomain is a component of the usage context model and has been omitted. Its primary use, which is to qualify CodeSystemSupplements has been folded into the source attribute of CodeSystemCatalogEntry and CodeSystemVersionCatalogEntry |
Designation | EntitySynopsis.designation[0..1] | While this is used in a slightly different context (i.e. the SFM is assigning which designation is to be used while the PIM shows which designation has been used), this is a useful spot to note that the PIM flattened designation into a string - there were no requirements for value sets to be accompanied by complex images, sound bytes, etc. |
CodeSystemEntityVersion | ConceptDomainBinding.useCodeSystemVersion[0..*] | Again, very different contexts. CodeSystemEntityVersion in the SFM is only used to scope which version of a designation is to be associated with a value set entry, while it is used in the actual resolution call in the PIM. |
CodeSystemEntity | EntityDescription(Base) | |
CodeSystemNode | (none) | factored out of the PIM |
Home |
About CTS2 |
---|
Purpose |
CTS2 History |
Business Case |
How it works |
Federation |
Functionality |
Implementing CTS2 |
Architecture |
Development |
Resources |
Purpose |
FAQ |
Business Case |
Glossary of Terms |
Specification |
REST |
SOAP |
HL7 SFM |
Development |
CTS2 Development Framework |
Implementations |
Github Page |
Community |
Who is Using CTS2? |
Get Help |
Links |