Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). 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-07T10:58:29+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.