Release 4 5

This page is part of the FHIR Specification (v4.0.1: R4 (v5.0.0: R5 - Mixed Normative and STU ) ). This is the current published version in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Operation-valueset-validate-code.xml

Example OperationDefinition/ValueSet-validate-code (XML)

Vocabulary Terminology Infrastructure Work Group Maturity Level : N/A Standards Status : Informative Compartments : Not linked to any defined compartments

Raw XML ( canonical form + also see XML Format Specification )

Jump past Narrative

Operation Definition

<?xml version="1.0" encoding="UTF-8"?>


  
  
    
    
      
      
      
      
      
        

        If the operation is not called at the instance level, one of the in parameters url, context
           or  valueSet must be provided.  One (and only one) of the in parameters code, coding,
           or codeableConcept must be provided.  The operation returns a result (true / false), an
           error message, and the recommended display for the code

      
      
      
      
      
        
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
        
        
          
          
          
          
            
          
          
          
            
              Value set Canonical URL. The server must know the value set (e.g. it is defined explicitly
                 in the server's value sets, or it is defined implicitly by some code system known to the
                 server

            
          
        
        
          
          
          
          
            
          
          
          
            
              The context of the value set, so that the server can resolve this to a value set to validate
                 against. The recommended format for this URI is [Structure Definition URL]#[name or path
                 into structure definition] e.g. http://hl7.org/fhir/StructureDefinition/observation-hspc-height-hspc
                height#Observation.interpretation. Other forms may be used but are not defined. This form
                 is only usable if the terminology server also has access to the conformance registry that
                 the server is using, but can be used to delegate the mapping from an application context
                 to a binding at run-time

            
          
        
        
          
          
          
          
            
          
          
          
            
              The value set is provided directly as part of the request. Servers may choose not to accept
                 value sets in this fashion. This parameter is used when the client wants the server to
                 expand a value set that is not stored on the server

            
          
        
        
          
          
          
          
            
          
          
          
            
              The identifier that is used to identify a specific version of the value set to be used
                 when validating the code. This is an arbitrary value managed by the value set author and
                 is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd)
                 if a managed version is not available.

            
          
        
        
          
          
          
          
            
          
          
          
            
              The code that is to be validated. If a code is provided, a system or a context must be
                 provided (if a context is provided, then the server SHALL ensure that the code is not
                 ambiguous without a system)

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              The display associated with the code, if provided. If a display is provided a code must
                 be provided. If no display is provided, the server cannot validate the display value,
                 but may choose to return a recommended display name using the display parameter in the
                 outcome. Whether displays are case sensitive is code system dependent

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              A full codeableConcept to validate. The server returns true if one of the coding values
                 is in the value set, and may also validate that the codings are not in conflict with each
                 other if more than one is present

            
          
        
        
          
          
          
          
            
          
          
          
            
              The date for which the validation should be checked. Normally, this is the current conditions
                 (which is the default values) but under some circumstances, systems need to validate that
                 a correct code was used at some point in the past. A typical example of this would be
                 where code selection is constrained to the set of codes that were available when the patient
                 was treated, not when the record is being edited. Note that which date is appropriate
                 is a matter for implementation policy.

            
          
        
        
          
          
          
          
            
          
          
          
            
              If this parameter has a value of true, the client is stating that the validation is being
                 performed in a context where a concept designated as 'abstract' is appropriate/allowed
                 to be used, and the server should regard abstract codes as valid. If this parameter is
                 false, abstract codes are not considered to be valid.

              Note that. 'abstract' is a property defined by many HL7 code systems that indicates that
                 the concept is a logical grouping concept that is not intended to be used asa 'concrete'
                 concept to in an actual patient/care/process record. This language is borrowed from Object
                 Orienated theory where 'asbtract' objects are never instantiated. However in the general
                 record and terminology eco-system, there are many contexts where it is appropraite to
                 use these codes e.g. as decision making criterion, or when editing value sets themselves.
                 This parameter allows a client to indicate to the server that it is working in such a
                 context.

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="ValueSet-validate-code"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> URL: [base]/ValueSet/$validate-code</p> 
      <p> URL: [base]/ValueSet/[id]/$validate-code</p> 
      <p> Parameters</p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Scope</b> 
          </td> 
          <td> 
            <b> Cardinality</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Binding</b> 
          </td> 
          <td> 
            <b> Documentation</b> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> url</td> 
          <td> type</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#uri">uri</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Value set Canonical URL. The server must know the value set (e.g. it is defined
                 explicitly in the server's value sets, or it is defined implicitly by some code
                 system known to the server</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> context</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#uri">uri</a>           </td>           <td/>            <td>             <div>               <p> The context of the value set, so that the server can resolve this to a value set

                 to validate against. The recommended format for this URI is [Structure Definition
                 URL]#[name or path into structure definition] e.g. http://hl7.org/fhir/StructureDefinition/ob
                servation-hspc-height-hspcheight#Observation.interpretation. Other forms may be
                 used but are not defined. This form is only usable if the terminology server also
                 has access to the conformance registry that the server is using, but can be used
                 to delegate the mapping from an application context to a binding at run-time</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> valueSet</td>           <td> type</td>           <td> 0..1</td>           <td>             <a href="valueset.html">ValueSet</a>           </td>           <td/>            <td>             <div>               <p> The value set is provided directly as part of the request. Servers may choose not

                 to accept value sets in this fashion. This parameter is used when the client wants
                 the server to expand a value set that is not stored on the server</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> valueSetVersion</td>           <td> type</td>           <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> The identifier that is used to identify a specific version of the value set to

                 be used when validating the code. This is an arbitrary value managed by the value
                 set author and is not expected to be globally unique. For example, it might be
                 a timestamp (e.g. yyyymmdd) if a managed version is not available.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> code</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#code">code</a>           </td>           <td/>            <td>             <div>               <p> The code that is to be validated. If a code is provided, a system or a context

                 must be provided (if a context is provided, then the server SHALL ensure that the
                 code is not ambiguous without a system)</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> system</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#uri">uri</a>           </td>           <td/>            <td>             <div>               <p> The system for the code that is to be validated</p>             </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> systemVersion</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> The version of the system, if one was provided in the source data</p>             </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> display</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> The display associated with the code, if provided. If a display is provided a code

                 must be provided. If no display is provided, the server cannot validate the display
                 value, but may choose to return a recommended display name using the display parameter
                 in the outcome. Whether displays are case sensitive is code system dependent</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> coding</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#Coding">Coding</a>           </td>           <td/>            <td>             <div>               <p> A coding to validate</p>             </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> codeableConcept</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#CodeableConcept">CodeableConcept</a>           </td>           <td/>            <td>             <div>               <p> A full codeableConcept to validate. The server returns true if one of the coding

                 values is in the value set, and may also validate that the codings are not in conflict
                 with each other if more than one is present</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> date</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#dateTime">dateTime</a>           </td>           <td/>            <td>             <div>               <p> The date for which the validation should be checked. Normally, this is the current

                 conditions (which is the default values) but under some circumstances, systems
                 need to validate that a correct code was used at some point in the past. A typical
                 example of this would be where code selection is constrained to the set of codes
                 that were available when the patient was treated, not when the record is being
                 edited. Note that which date is appropriate is a matter for implementation policy.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> abstract</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#boolean">boolean</a>           </td>           <td/>            <td>             <div>               <p> If this parameter has a value of true or the parametter is ommitted, the client

                 is stating that the validation is being performed in a context where a concept
                 designated as 'abstract' is appropriate/allowed to be used, and the server should
                 regard abstract codes as valid. If this parameter is false, abstract codes are
                 not considered to be valid.</p> 
              <p> Note that. 'abstract' is a property defined by many HL7 code systems that indicates

                 that the concept is a logical grouping concept that is not intended to be used
                 as a 'concrete' concept to in an actual patient/care/process record. This language
                 is borrowed from object-orientated theory where 'abstract' entities are never instantiated.
                 However in the general record and terminology eco-system, there are many contexts
                 where it is appropriate to use these codes e.g. as decision making criterion, or
                 when editing value sets themselves. This parameter allows a client to indicate
                 to the server that it is working in such a context.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> displayLanguage</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#code">code</a>           </td>           <td/>            <td>             <div>               <p> Specifies the language to be used for description when validating the display property</p>             </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> useSupplement</td>           <td/>            <td> 0..*</td>           <td>             <a href="datatypes.html#canonical">canonical</a>           </td>           <td/>            <td>             <div>               <p> The supplement must be used when validating the code. Use of this parameter should

                 result in $validate-code behaving the same way as if the supplements were included
                 in the value set definition using the 
                <a href="http://hl7.org/fhir/extensions/StructureDefinition-valueset-supplement.html">http://hl7.org/fhir/StructureDefinition/valueset-supplement</a>               </p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> result</td>           <td/>            <td> 1..1</td>           <td>             <a href="datatypes.html#boolean">boolean</a>           </td>           <td/>            <td>             <div>               <p> True if the concept details supplied are valid</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> message</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div> 
              <p> Error details, if result = false. If this is provided when result = true, the message
                 carries hints and warnings

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
      
      
        Note: the correct behaviour of validation with regard to language for Coding.display items
           is currently undefined, and further development and testing may lead to specific requirements
           or recommendations in subsequent releases

      
    
  
  
    
  
  
    
  
  
    
  
  
  
  
  
  
  
  
  
    
      
      
    
    
      
      
    
  
  Validate that a coded value is in the set of codes allowed by a value set.

If the operation is not called at the instance level, one of the in parameters url, context
   or  valueSet must be provided.  One (and only one) of the in parameters code, coding,
   or codeableConcept must be provided.  The operation returns a result (true / false), an
   error message, and the recommended display for the code
  
  Note: the correct behaviour of validation with regard to language for Coding.display items
   is currently undefined, and further development and testing may lead to specific requirements
   or recommendations in subsequent releases
  
  
  
  
  
    
    
    
    
    Value set Canonical URL. The server must know the value set (e.g. it is defined explicitly
     in the server's value sets, or it is defined implicitly by some code system known to the
     server
    
  
  
    
    
    
    
    The context of the value set, so that the server can resolve this to a value set to validate
     against. The recommended format for this URI is [Structure Definition URL]#[name or path
     into structure definition] e.g. http://hl7.org/fhir/StructureDefinition/observation-hspc-height-hspc
    height#Observation.interpretation. Other forms may be used but are not defined. This form
     is only usable if the terminology server also has access to the conformance registry that
     the server is using, but can be used to delegate the mapping from an application context
     to a binding at run-time
    
  
  
    
    
    
    
    The value set is provided directly as part of the request. Servers may choose not to accept
     value sets in this fashion. This parameter is used when the client wants the server to
     expand a value set that is not stored on the server
    
  
  
    
    
    
    
    The identifier that is used to identify a specific version of the value set to be used
     when validating the code. This is an arbitrary value managed by the value set author and
     is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd)
     if a managed version is not available.
    
  
  
    
    
    
    
    The code that is to be validated. If a code is provided, a system or a context must be
     provided (if a context is provided, then the server SHALL ensure that the code is not
     ambiguous without a system)
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    
    The display associated with the code, if provided. If a display is provided a code must
     be provided. If no display is provided, the server cannot validate the display value,
     but may choose to return a recommended display name using the display parameter in the
     outcome. Whether displays are case sensitive is code system dependent
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    
    A full codeableConcept to validate. The server returns true if one of the coding values
     is in the value set, and may also validate that the codings are not in conflict with each
     other if more than one is present
    
  
  
    
    
    
    
    The date for which the validation should be checked. Normally, this is the current conditions
     (which is the default values) but under some circumstances, systems need to validate that
     a correct code was used at some point in the past. A typical example of this would be
     where code selection is constrained to the set of codes that were available when the patient
     was treated, not when the record is being edited. Note that which date is appropriate
     is a matter for implementation policy.
    
  
  
    
    
    
    
    If this parameter has a value of true, the client is stating that the validation is being
     performed in a context where a concept designated as 'abstract' is appropriate/allowed
     to be used, and the server should regard abstract codes as valid. If this parameter is
     false, abstract codes are not considered to be valid.

Note that. 'abstract' is a property defined by many HL7 code systems that indicates that
     the concept is a logical grouping concept that is not intended to be used asa 'concrete'
     concept to in an actual patient/care/process record. This language is borrowed from Object
     Orienated theory where 'asbtract' objects are never instantiated. However in the general
     record and terminology eco-system, there are many contexts where it is appropraite to
     use these codes e.g. as decision making criterion, or when editing value sets themselves.
     This parameter allows a client to indicate to the server that it is working in such a
     context.
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    

                 carries hints and warnings</p> 
            </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> display</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> A valid display for the concept if the system wishes to display this to a user</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> code</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#code">code</a>           </td>           <td/>            <td>             <div>               <p> The code that was validated</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> system</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#uri">uri</a>           </td>           <td/>            <td>             <div>               <p> The system for the code that was validated</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> version</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> The version of the system of the code that was validated</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> codeableConcept</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#CodeableConcept">CodeableConcept</a>           </td>           <td/>            <td>             <div>               <p> A codeableConcept containing codings for all the validated codes</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> issues</td>           <td/>            <td> 0..1</td>           <td>             <a href="operationoutcome.html">OperationOutcome</a>           </td>           <td/>            <td>             <div>               <p> List of itemised issues with paths constrained to simple FHIRPath. Examples are

                 CodeableConcept, CodeableConcept.coding[0], CodeableConcept.coding[1].display,
                 or Coding.display</p> 
            </div>           </td>         </tr>       </table>       <div>         <p> Note: the correct behavior of validation with regard to language for Coding.display

           items is currently undefined, and further development and testing may lead to specific
           requirements or recommendations in subsequent releases</p> 
      </div>     </div>   </text>   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">    <valueInteger value="5"/>   </extension>   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">    <valueCode value="normative"/>   </extension>   <url value="http://hl7.org/fhir/OperationDefinition/ValueSet-validate-code"/>   <version value="5.0.0"/>   <name value="ValidateCode"/>   <title value="Value Set based Validation"/>   <status value="active"/>   <kind value="operation"/>   <experimental value="false"/>   <date value="2023-03-26T15:21:02+11: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="Validate that a coded value is in the set of codes allowed by a value set.
If the operation is not called at the instance level, one of the in parameters
   url, context or valueSet must be provided.  One (and only one) of the in parameters
   code, coding, or codeableConcept must be provided.  The operation returns a result
   (true / false), an error message, and the recommended display for the code. When
   validating a code or a coding, then the code, system and version output parameters
   **SHOULD** be populated when possible. When a validating a CodeableConcept, then
   the codeableConcept output parameter **SHOULD** be populated when possible."/> 
  <jurisdiction>     <coding>       <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>       <code value="001"/>       <display value="World"/>     </coding>   </jurisdiction>   <affectsState value="false"/>   <code value="validate-code"/>   <comment value="Note: the correct behavior of validation with regard to language for Coding.display

   items is currently undefined, and further development and testing may lead to specific
   requirements or recommendations in subsequent releases"/> 
  <resource value="ValueSet"/>   <system value="false"/>   <type value="true"/>   <instance value="true"/>   <parameter>     <name value="url"/>     <use value="in"/>     <scope value="type"/>     <min value="0"/>     <max value="1"/>     <documentation value="Value set Canonical URL. The server must know the value set (e.g. it is defined

     explicitly in the server's value sets, or it is defined implicitly by some code
     system known to the server"/> 
    <type value="uri"/>   </parameter>   <parameter>     <name value="context"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The context of the value set, so that the server can resolve this to a value set

     to validate against. The recommended format for this URI is [Structure Definition
     URL]#[name or path into structure definition] e.g. http://hl7.org/fhir/StructureDefinition/ob
    servation-hspc-height-hspcheight#Observation.interpretation. Other forms may be
     used but are not defined. This form is only usable if the terminology server also
     has access to the conformance registry that the server is using, but can be used
     to delegate the mapping from an application context to a binding at run-time"/> 
    <type value="uri"/>   </parameter>   <parameter>     <name value="valueSet"/>     <use value="in"/>     <scope value="type"/>     <min value="0"/>     <max value="1"/>     <documentation value="The value set is provided directly as part of the request. Servers may choose not

     to accept value sets in this fashion. This parameter is used when the client wants
     the server to expand a value set that is not stored on the server"/> 
    <type value="ValueSet"/>   </parameter>   <parameter>     <name value="valueSetVersion"/>     <use value="in"/>     <scope value="type"/>     <min value="0"/>     <max value="1"/>     <documentation value="The identifier that is used to identify a specific version of the value set to

     be used when validating the code. This is an arbitrary value managed by the value
     set author and is not expected to be globally unique. For example, it might be
     a timestamp (e.g. yyyymmdd) if a managed version is not available."/> 
    <type value="string"/>   </parameter>   <parameter>     <name value="code"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The code that is to be validated. If a code is provided, a system or a context

     must be provided (if a context is provided, then the server SHALL ensure that the
     code is not ambiguous without a system)"/> 
    <type value="code"/>   </parameter>   <parameter>     <name value="system"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The system for the code that is to be validated"/>     <type value="uri"/>   </parameter>   <parameter>     <name value="systemVersion"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The version of the system, if one was provided in the source data"/>     <type value="string"/>   </parameter>   <parameter>     <name value="display"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The display associated with the code, if provided. If a display is provided a code

     must be provided. If no display is provided, the server cannot validate the display
     value, but may choose to return a recommended display name using the display parameter
     in the outcome. Whether displays are case sensitive is code system dependent"/> 
    <type value="string"/>   </parameter>   <parameter>     <name value="coding"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="A coding to validate"/>     <type value="Coding"/>   </parameter>   <parameter>     <name value="codeableConcept"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="A full codeableConcept to validate. The server returns true if one of the coding

     values is in the value set, and may also validate that the codings are not in conflict
     with each other if more than one is present"/> 
    <type value="CodeableConcept"/>   </parameter>   <parameter>     <name value="date"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The date for which the validation should be checked. Normally, this is the current

     conditions (which is the default values) but under some circumstances, systems
     need to validate that a correct code was used at some point in the past. A typical
     example of this would be where code selection is constrained to the set of codes
     that were available when the patient was treated, not when the record is being
     edited. Note that which date is appropriate is a matter for implementation policy."/> 
    <type value="dateTime"/>   </parameter>   <parameter>     <name value="abstract"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="If this parameter has a value of true or the parametter is ommitted, the client

     is stating that the validation is being performed in a context where a concept
     designated as 'abstract' is appropriate/allowed to be used, and the server should
     regard abstract codes as valid. If this parameter is false, abstract codes are
     not considered to be valid.
Note that. 'abstract' is a property defined by many HL7 code systems that indicates
     that the concept is a logical grouping concept that is not intended to be used
     as a 'concrete' concept to in an actual patient/care/process record. This language
     is borrowed from object-orientated theory where 'abstract' entities are never instantiated.
     However in the general record and terminology eco-system, there are many contexts
     where it is appropriate to use these codes e.g. as decision making criterion, or
     when editing value sets themselves. This parameter allows a client to indicate
     to the server that it is working in such a context."/> 
    <type value="boolean"/>   </parameter>   <parameter>     <name value="displayLanguage"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="Specifies the language to be used for description when validating the display property"/>     <type value="code"/>   </parameter>   <parameter>     <name value="useSupplement"/>     <use value="in"/>     <min value="0"/>     <max value="*"/>     <documentation value="The supplement must be used when validating the code. Use of this parameter should

     result in $validate-code behaving the same way as if the supplements were included
     in the value set definition using the [http://hl7.org/fhir/StructureDefinition/valueset-suppl
    ement](http://hl7.org/fhir/extensions/StructureDefinition-valueset-supplement.html)"/> 
    <type value="canonical"/>   </parameter>   <parameter>     <name value="result"/>     <use value="out"/>     <min value="1"/>     <max value="1"/>     <documentation value="True if the concept details supplied are valid"/>     <type value="boolean"/>   </parameter>   <parameter>     <name value="message"/>     <use value="out"/>     <min value="0"/>     <max value="1"/> 
    <documentation value="Error details, if result = false. If this is provided when result = true, the message
     carries hints and warnings
    
  
  
    
    
    
    
    
    
  

     carries hints and warnings"/> 
    <type value="string"/>   </parameter>   <parameter>     <name value="display"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="A valid display for the concept if the system wishes to display this to a user"/>     <type value="string"/>   </parameter>   <parameter>     <name value="code"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="The code that was validated"/>     <type value="code"/>   </parameter>   <parameter>     <name value="system"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="The system for the code that was validated"/>     <type value="uri"/>   </parameter>   <parameter>     <name value="version"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="The version of the system of the code that was validated"/>     <type value="string"/>   </parameter>   <parameter>     <name value="codeableConcept"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="A codeableConcept containing codings for all the validated codes"/>     <type value="CodeableConcept"/>   </parameter>   <parameter>     <name value="issues"/>     <use value="out"/>     <min value="0"/>     <max value="1"/>     <documentation value="List of itemised issues with paths constrained to simple FHIRPath. Examples are

     CodeableConcept, CodeableConcept.coding[0], CodeableConcept.coding[1].display,
     or Coding.display"/> 
    <type value="OperationOutcome"/>   </parameter> 


</

OperationDefinition

>



Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.