Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). 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

Example OperationDefinition/CapabilityStatement-conforms (XML)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

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

Operation Definition

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

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="CapabilityStatement-conforms"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> URL: [base]/CapabilityStatement/$conforms</p> 
      <p> Parameters</p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</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> left</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#canonical">canonical</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> A canonical reference to the left-hand system's capability statement</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> right</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#canonical">canonical</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> A canonical reference to the right-hand system's capability statement</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> mode</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> What kind of comparison to perform - server to server, or client to server (use
                 the codes 'server/server' or 'client/server')</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> issues</td> 
          <td> 1..1</td> 
          <td> 
            <a href="operationoutcome.html">OperationOutcome</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Outcome of the CapabilityStatement test</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> union</td> 
          <td> 0..1</td> 
          <td> 
            <a href="capabilitystatement.html">CapabilityStatement</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The intersection of the functionality described by the CapabilityStatement resources</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> intersection</td> 
          <td> 0..1</td> 
          <td> 
            <a href="capabilitystatement.html">CapabilityStatement</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The union of the functionality described by the CapabilityStatement resources</p> 

            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        <p> The operation performs a full comparison of the functionality described by the
           two capability statements, including the profiles and value sets they reference,
           and also including concept maps and structure maps.</p> 

        <p> The full execution of this operation is still a matter of research, but it is intended
           to support comparison of systems to see if they will interoperate</p> 

        <p> If the capability statements can be successfully compared, then the return value
           is a 200 OK with an OperationOutcome along with intersection and union capability
           statements. The operation outcome can contain errors relating to differences between
           the capability statements. If the capability statements cannot be compared, because
           dependencies cannot be located, the return value is a 4xx error, with an OperationOutcome
           with at least one issue with severity &gt;= error</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="trial-use"/> 
  </extension> 
  <url value="http://hl7.org/fhir/OperationDefinition/CapabilityStatement-conforms"/> 
  <version value="5.0.0-ballot"/> 
  <name value="Conforms"/> 
  <title value="Test if a server implements a client's required operations"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  <date value="2022-09-10T04:52:37+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="This operation asks the server to check that it implements all the resources, interactions,
   search parameters, and operations that the client provides in its capability statement.
   The client provides both capability statements by reference, and must ensure that
   all the referenced resources are available to the conformance server"/> 
  <affectsState value="false"/> 
  <code value="conforms"/> 
  <comment value="The operation performs a full comparison of the functionality described by the
   two capability statements, including the profiles and value sets they reference,
   and also including concept maps and structure maps.     

The full execution of this operation is still a matter of research, but it is intended
   to support comparison of systems to see if they will interoperate    

If the capability statements can be successfully compared, then the return value
   is a 200 OK with an OperationOutcome along with intersection and union capability
   statements. The operation outcome can contain errors relating to differences between
   the capability statements. If the capability statements cannot be compared, because
   dependencies cannot be located, the return value is a 4xx error, with an OperationOutcome
   with at least one issue with severity &gt;= error"/> 
  <resource value="CapabilityStatement"/> 
  <system value="false"/> 
  <type value="true"/> 
  <instance value="false"/> 
  <parameter> 
    <name value="left"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="A canonical reference to the left-hand system's capability statement"/> 
    <type value="canonical"/> 
  </parameter> 
  <parameter> 
    <name value="right"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="A canonical reference to the right-hand system's capability statement"/> 
    <type value="canonical"/> 
  </parameter> 
  <parameter> 
    <name value="mode"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="What kind of comparison to perform - server to server, or client to server (use
     the codes 'server/server' or 'client/server')"/> 
    <type value="code"/> 
  </parameter> 
  <parameter> 
    <name value="issues"/> 
    <use value="out"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="Outcome of the CapabilityStatement test"/> 
    <type value="OperationOutcome"/> 
  </parameter> 
  <parameter> 
    <name value="union"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The intersection of the functionality described by the CapabilityStatement resources"/> 
    <type value="CapabilityStatement"/> 
  </parameter> 
  <parameter> 
    <name value="intersection"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The union of the functionality described by the CapabilityStatement resources"/> 
    <type value="CapabilityStatement"/> 
  </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.