# Test if a server conforms to a client's required operations - FHIR Application Feature Framework Implementation Guide v1.0.0

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **Test if a server conforms to a client's required operations**

## OperationDefinition: Test if a server conforms to a client's required operations 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org/fhir/uv/application-feature/OperationDefinition/CapabilityStatement-conforms | *Version*:1.0.0 | |
| * Standards status: *[Trial-use](http://hl7.org/fhir/R5/versions.html#std-process) | [Maturity Level](http://hl7.org/fhir/versions.html#maturity): 5 | *Computable Name*:Conforms |
| *Other Identifiers:*OID:2.16.840.1.113883.4.642.32.5 | | |

 
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 



## Resource Content

```json
{
  "resourceType" : "OperationDefinition",
  "id" : "CapabilityStatement-conforms",
  "meta" : {
    "lastUpdated" : "2021-01-05T10:01:24.148+11:00"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 5
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use"
  },
  {
    "extension" : [{
      "url" : "list",
      "valueString" : "1"
    },
    {
      "url" : "response",
      "valueBoolean" : false
    },
    {
      "url" : "content",
      "valueString" : "$conforms-request.txt"
    }],
    "url" : "http://hl7.org/fhir/build/StructureDefinition/example"
  },
  {
    "extension" : [{
      "url" : "list",
      "valueString" : "1"
    },
    {
      "url" : "response",
      "valueBoolean" : true
    },
    {
      "url" : "content",
      "valueString" : "$conforms-response.txt"
    }],
    "url" : "http://hl7.org/fhir/build/StructureDefinition/example"
  },
  {
    "url" : "http://hl7.org/fhir/build/StructureDefinition/footer",
    "valueMarkdown" : "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.     \n\nThe 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    \n\nIf 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 >= error"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "fhir"
  }],
  "url" : "http://hl7.org/fhir/uv/application-feature/OperationDefinition/CapabilityStatement-conforms",
  "identifier" : [{
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:2.16.840.1.113883.4.642.32.5"
  }],
  "version" : "1.0.0",
  "name" : "Conforms",
  "title" : "Test if a server conforms to a client's required operations",
  "status" : "active",
  "kind" : "operation",
  "date" : "2021-01-05T10:01:24+11:00",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [{
    "name" : "HL7 International / FHIR Infrastructure",
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/fiwg"
    }]
  }],
  "description" : "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",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
      "code" : "001",
      "display" : "World"
    }]
  }],
  "affectsState" : false,
  "code" : "conforms",
  "comment" : "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.     \n\nThe 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    \n\nIf 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 >= error",
  "resource" : ["CapabilityStatement"],
  "system" : false,
  "type" : true,
  "instance" : false,
  "parameter" : [{
    "name" : "left",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A canonical reference to the left-hand system's capability statement",
    "type" : "canonical"
  },
  {
    "name" : "right",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A canonical reference to the right-hand system's capability statement",
    "type" : "canonical"
  },
  {
    "name" : "mode",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "What kind of comparison to perform - server to server, or client to server (use the codes 'server/server' or 'client/server')",
    "type" : "code"
  },
  {
    "name" : "issues",
    "use" : "out",
    "min" : 1,
    "max" : "1",
    "documentation" : "Outcome of the CapabilityStatement test",
    "type" : "OperationOutcome"
  },
  {
    "name" : "union",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "documentation" : "The intersection of the functionality described by the CapabilityStatement resources",
    "type" : "CapabilityStatement"
  },
  {
    "name" : "intersection",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "documentation" : "The union of the functionality described by the CapabilityStatement resources",
    "type" : "CapabilityStatement"
  }]
}

```
