Wiki Sheet

From HL7Wiki
Jump to navigation Jump to search

The purpose of this page is to begin and maintain a list of requirements for any HL7 terminology management tool.

Assumptions and constraints

These are high level requirements that influence all functional and non-functional requirements.

  • Vocabulary elements can be exported in a format that can be transformed bidirectionally and in a lossless way into the coremif format.
  • Value sets will be consistent with the principles defined by the Value Set Definition (VSD) project.

Functional Requirements

Code System Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Adding Concept Codes to a Code System /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/addCodesToCodeSystem[1] 5.3.1.6 Create Concept tbd The tool will support adding new concept codes to a code system.
Create a New Code System /VocabularyRevision/codeSystemRevision[1]/registerCodeSystem[1] 5.3.1.1 Create Code System tbd The tool will support creating a new code system.
Maintain Code System Metadata /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/modifyCodeSystem[1]/description[1] 5.3.1.2 Maintain Code System Version tbd The tool will support updating the metadata for a code system.
Define Relationship between Concept Codes /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/addConceptRelationship[1] 5.3.4.2 Create Association tbd The tool will support defining new relationships between coded concepts.
Remove Relationship between Concept Codes /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/removeConceptRelationship[1] 5.3.4.1 Update Association Status tbd The tool will support removing relationships between coded concepts.
Add Concept Code Designation /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/addPrintNameToCode[1] 5.3.1.7 Maintain Concept tbd The tool will support adding a new designation to a concept.
Adding Property to a Concept Code /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/addPropertyToCode[1] 5.3.1.7 Maintain Concept tbd The tool will support adding an existing property to a concept code.
Move a Concept Code /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/moveCode[1] 5.3.4.1 Update Association Status tbd The tool will support moving a concept code to another location in the code system.
Retire a Concept /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/retireCode[1] 5.3.1.8 Update Concept Status tbd The tool will support retiring a concept code.
Update Concept Description /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/updateCodeDescription[1] 5.3.1.7 Maintain Concept tbd The tool will support updating a concept description.
Update Concept Designation /VocabularyRevision/codeSystemRevision[1]/selectCodeSystem[1]/updateCodePrintName[1] 5.3.1.7 Maintain Concept tbd The tool will support updating a concept designation.
List Available Code Systems N/A 5.2.1.1 List Code Systems ExampleR3C4 The tool will be able to list the code systems known to the service.
Return Code System Details (Metadata) N/A 5.2.1.2 Return Code System Details, 5.2.1.3 Return Code System Version Details ExampleR3C4 The tool will support returning the details (metadata) for a given code system available on the terminology service.
List Code System Concepts N/A 5.2.1.5 List Code System Concepts ExampleR3C4 Te tool will support returning the set of all concepts in the specified code system. This may optionally be filtered.
Return Concept Details N/A 5.2.1.6 Return Concept Details ExampleR3C4 The tool will be able to returns the details for the known attributes (metadata) of a coded concept.
Adding Property to a Code System N/A C D The tool will be support the ability to add a new property to the code system that can be referenced by code system elements (i.e., concept domain, code system, value set, concept, concept representation, relationships, and binding).
A B C D E
A B C D E

Value Set Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Update a Value Set Definition /VocabularyRevision/valueSetRevision[1]/selectValueSet[1]/addCodesToValueSet[1] 5.3.2.2 Maintain Value Set, /VocabularyRevision/valueSetRevision[1]/selectValueSet[1]/removeCodesFromValueSet[1],

/VocabularyRevision/valueSetRevision[1]/createValueSet[1]/addValueSetReferences[1],/VocabularyRevision/valueSetRevision[1]/selectValueSet[1]/removeValueSetReferences[1] || ExampleR1C4 ExampleR1C5

Create Value Set /VocabularyRevision/valueSetRevision[1]/createValueSet[1] 5.3.2.1 Create Value Set ExampleR3C4 Create a new value set.
Delete a Value Set /VocabularyRevision/valueSetRevision[1]/selectValueSet[1]/deleteValueSet[1] 5.1.6 Remove Value Set ExampleR3C4 Delete a value set from the terminology service.
List Value Sets N/A 5.2.2.1 List Value Sets ExampleR3C4 Lists the value sets that are known to the service. Can optionally be filtered.
Return Value Set Details N/A 5.2.2.2 Return Value Set Details ExampleR3C4 Return the metadata for a given value set.
Generate Value Set Expansion N/A 5.2.2.3 List Value Set Contents (Expand Value Set) ExampleR3C4 Generate the Value Set Expansion from the Value Set Definition.
Value Set Expansion Detection N/A ExampleR3C3 ExampleR3C4 The tool must be able to detect a difference in the current and prior version of a value set expansion when the version of the code system changes.

Concept Domain Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Create a Concept Domain /VocabularyRevision/vocabularyDomainRevision[1]/createVocabularyDomain[1] 5.3.3.1 Create Concept Domain ExampleR2C4 Vocablary Domain == Concept Domain. Can specify the parent in the event a sub-domain is required.
Define a Concept Domain /VocabularyRevision/vocabularyDomainRevision[1]/defineVocabularyDomain[1] 5.3.3.2 Maintain Concept Domain ExampleR3C4 Update the definition of a Concept Domain
Delete a Concept Domain /VocabularyRevision/vocabularyDomainRevision[1]/deleteVocabularyDomain[1] None ExampleR3C4 Delete a Concept Domain
Move a Concept Domain /VocabularyRevision/vocabularyDomainRevision[1]/moveVocabularyDomain[1] 5.3.3.2 Maintain Concept Domain ExampleR3C4 Move a Concept Domain to a different parent (fromDomain/toDomain) Multiple parents supported by the tooling.
Rename a Concept Domain /VocabularyRevision/vocabularyDomainRevision[1]/renameVocabularyDomain[1] 5.3.3.2 Maintain Concept Domain ExampleR3C4 Change the name of a Concept Domain
List Concept Domains None (RoseTree Operation) 5.2.3.1 List Concept Domains tbd Lists the concept domains that are available on the system.
Return Concept Domain Details None (RoseTree Operation) 5.2.3.2 Return Concept Domain Details tbd Return the metadata for a given concept domain.

Binding Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Add a binding from a Concept Domain to a Value Set /VocabularyRevision/valueSetRevision[1]/createValueSet[1]/addToVocabularyDomain[1] ExampleR2C3 ExampleR2C4 Bind a Concept Domain to a Value Set with a set context (Representatice, Example, etc.)

Import Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Import CodeSystem None 5.1.1 Import Code System, 5.1.3 Import Code System Version ExampleR2C4 The ability to import a code system into the software. If licensing permission allow, the code system may be extended and updated.
Import Value Set None 5.1.5 Import Value Set Version ExampleR3C4 The ability to import a value set into the software. If licensing permission allow, the value set may be extended and updated.


Export Operations

Requirement VML Operation CTS 2 SFM Operation CTS2 PIM Operation Notes
Export Code System None (RoseTree Operation) 5.1.10 Export Code System Content ExampleR2C4 The ability to export code system content into an HL7 compatible (coremif) format.
Export Value Set None (RoseTree and Publishing Operation) ExampleR3C3 ExampleR3C4 The ability to export value set content into an HL7 compatible (coremif) format.

Versioning

  • Vocabulary artifacts (code systems and value sets) are versionable entities, and as such any solution must be able to support versioning of code systems and value sets.

Non-Functional Requirements

  • Accessibility - Needs to be accessible to people involved in vocabulary creation and maintenance
  • Availability - Available 24x7 outside of published maintenance events
  • Backup - System allows for standard backup and recovery, failover is not required. Create and restore a backup of the s/w and content
  • Documentation - Tool will have adequate user documentation that is updated with new releases.
  • Support for varying concept models for both HL7 internal and external vocabularies.

Interoperability - the tool

  • Response time - RelatiVe response time. Real time response for basic navigation and search, recognizing that generating value set expansions can be time consuming.
  • Security - The tools allows for user authentication