Versioning

Conformance Suites are versioned in Touchstone.

This is to make conformance results meaningful when Conformance Suite definitions change over time. One version of a Conformance Suite could be composed of entirely different test scripts from another version. By extension, the Conformance Results for the different versions need to be tracked separately to make the results more meaningful.

Another reason why Conformance Suites are versioned is to maintain existing Results Summary results (both published and unpublished) when the Conformance Suite definition changes. For example, if the version of a Conformance Suite changes from version 1 to version 2, the Unpublished as well as the Published results on the Results Summary page for version 1 are maintained.


Version Increments

The following changes to a Conformance Suite cause the version of the suite to increment:

Change in Test Group selections

If test groups are added/removed or a different test group is selected, then that causes the suite version to increment:

../_images/versioning_test_group_selections_a1.png

Change in Test Group content

If the content of the test groups (that the suite uses) changes then the suite version increments.

The content of a test group changes when:

  1. The content of one or more test definitions (test scripts, fixtures, or rules) within the Test Group changes.

  2. One or more sub groups or test definitions within the Test Group is deleted.

For example, consider a suite that uses /FHIRSandbox/Initech/FHIR3-0-2-Basic test group. If one or more test definitions whose qualified name starts within ‘/FHIRSandbox/Initech/FHIR3-0-2-Basic/changes or is deleted, then that would increment the Conformance Suite: That includes, for example:

  • /FHIRSandbox/Initech/FHIR3-0-2-S-Basic/’GroupA sub-group deletion.

  • /FHIRSandbox/Initech/FHIR3-0-2-S-Basic/’GroupA/AllergyIntolerance/Client Assigned Id sub-group deletion.

  • /FHIRSandbox/Initech/FHIR3-0-2-S-Basic/’GroupA/AllergyIntolerance/_reference/resources/AllergyIntolerance-create-client-id.json fixture content change.

  • /FHIRSandbox/Initech/FHIR3-0-2-S-Basic/’GroupA/AllergyIntolerance/Client Assigned Id/AllergyIntolerance-client-id-json testscript content change.


Even though some of the test scripts within ‘/FHIRSandbox/Initech/FHIR3-0-2-Basic/’ test group references fixtures or rules in another test group, changes to those fixtures or rules would NOT increment the Conformance Suite if their qualified names does not begin with ‘/FHIRSandbox/Initech/FHIR3-0-2-Basic/’. That includes, for example:

  • /FHIRSandbox/Initech//FHIRCommon/’_reference/rule/ sub-group deletion.

  • /FHIRSandbox/Initech//FHIRCommon/’_reference/rule/AssertBodyIfHeader.groovy rule content change.

These test definitions do not start with ‘/FHIRSandbox/Initech/FHIR3-0-2-Basic/’ and therefore do not meet the criteria of changes within the test group(s) of a suite.


Change to Categorization selection

If you remove, select, or change the Categorization that a suite uses, then the suite version increments:

../_images/versioning_categorization_selections_a1.png

Change to Categorization content

Changes to the Categorization content can change ‘% Conformance’ and therefore causes the suite version to increment:

../_images/categorization_allergy_removal_a1.png

We demonstrated the affect of the change above on the suite in this section.

Changes to Formats or Supported offering

Changes to these checkboxes do affect ‘% Conformance’. If either flag changes, then the suite version increments:

../_images/versioning_filter_options_a2.png

No Version Increments

The following changes to a Conformance Suite do NOT cause the suite version to increment as these changes do not cause the ‘% Conformance’ to change in the conformance results of a suite.

Change to Name of the suite

The name of the suite changes across all versions of the suite and across all conformance suite results.

../_images/versioning_name_change_a1.png

Change to Description of the suite

The description of the suite changes for the suite version that the change took place on. But the version does not increment.

../_images/versioning_description_change_a1.png

Change to Publishable attribute of the suite

The Publishable attribute of the suite changes for the suite version that the change took place on. But the version does not increment.

../_images/versioning_publishable_option_a2.png

Change to Access attributes of the suite

The Can be viewed/modified by attributes of the suite changes for the suite version that the change took place on. But the version does not increment.

../_images/versioning_can_be_viewed_modified_by_a1.png