<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="system-version-processing-mode" />
  <meta>
    <lastUpdated value="2017-04-19T07:44:43.294+10:00" />
  </meta>
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h2>SystemVersionProcessingMode</h2>
      <div>
        <p>How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile</p>
      </div>
      <p>This code system http://hl7.org/fhir/system-version-processing-mode defines the following codes:</p>
      <table class="codes">
        <tr>
          <td>
            <b>Code</b>
          </td>
          <td>
            <b>Display</b>
          </td>
          <td>
            <b>Definition</b>
          </td>
        </tr>
        <tr>
          <td>default
                  <a name="system-version-processing-mode-default"></a></td>
          <td>Default Version</td>
          <td>Use this version of the code system if a value set doesn't specify a version</td>
        </tr>
        <tr>
          <td>check
                  <a name="system-version-processing-mode-check"></a></td>
          <td>Check ValueSet Version</td>
          <td>Use this version of the code system. If a value set specifies a different version, the expansion operation should fail</td>
        </tr>
        <tr>
          <td>override
                  <a name="system-version-processing-mode-override"></a></td>
          <td>Override ValueSet Version</td>
          <td>Use this version of the code system irrespective of which version is specified by a value set. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. It primarily exists to deal with situations where specifications have fallen into decay as time passes. If a  version is override, the version used SHALL explicitly be represented in the expansion parameters</td>
        </tr>
      </table>
    </div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-ballot-status">
    <valueString value="Informative" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="vocab" />
  </extension>
  <url value="http://hl7.org/fhir/system-version-processing-mode" />
  <identifier>
    <system value="urn:ietf:rfc:3986" />
    <value value="urn:oid:2.16.840.1.113883.4.642.1.261" />
  </identifier>
  <version value="3.0.1" />
  <name value="SystemVersionProcessingMode" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2017-04-19T07:44:43+10:00" />
  <publisher value="HL7 (FHIR Project)" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/fhir" />
    </telecom>
    <telecom>
      <system value="email" />
      <value value="fhir@lists.hl7.org" />
    </telecom>
  </contact>
  <description value="How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile" />
  <caseSensitive value="true" />
  <valueSet value="http://hl7.org/fhir/ValueSet/system-version-processing-mode" />
  <content value="complete" />
  <concept>
    <code value="default" />
    <display value="Default Version" />
    <definition value="Use this version of the code system if a value set doesn't specify a version" />
  </concept>
  <concept>
    <code value="check" />
    <display value="Check ValueSet Version" />
    <definition value="Use this version of the code system. If a value set specifies a different version, the expansion operation should fail" />
  </concept>
  <concept>
    <code value="override" />
    <display value="Override ValueSet Version" />
    <definition value="Use this version of the code system irrespective of which version is specified by a value set. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. It primarily exists to deal with situations where specifications have fallen into decay as time passes. If a  version is override, the version used SHALL explicitly be represented in the expansion parameters" />
  </concept>
</CodeSystem>