<OperationDefinition xmlns="http://hl7.org/fhir">
  <url value="http://vonk.fire.ly/fhir/OperationDefinition/Resource-validate-system" />
  <version value="1.0" />
  <name value="Vonk - $validate system-level" />
  <status value="active" />
  <kind value="operation" />
  <date value="2019-02-11" />
  <publisher value="Firely" />
  <contact>
    <name value="Firely" />
    <telecom>
      <system value="email" />
      <value value="vonk@fire.ly" />
    </telecom>
  </contact>
  <description value="The validate operation checks whether or not the provided content is a valid FHIR resource. The operation will additionally check if a provided FHIR resource is conformant to a set of profiles. The set of profiles consists of:&#xA;- the FHIR core profile for the resourcetype of the resource&#xA;- profiles declared in Resource.meta.profile (if any)&#xA;- profile from the operation parameters (if any)&#xA;&#xA;The operation returns HTTP 200 - OK irrespective of the outcome of the validation itself. A 4xx or 5xx error means that the validation could not be performed, and it is unknown whether or not the resource is valid." />
  <idempotent value="true" />
  <code value="validate" />
  <comment value="Use $validate on a system-level to check whether or not the provided content is a valid FHIR resource regardless of the resource type. Calling $validate on a system-level with an HTTP GET request is not supported." />
  <system value="true" />
  <type value="false" />
  <instance value="false" />
  <parameter>
    <name value="resource" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="Content which shall be checked if it represents a valid FHIR resource." />
    <type value="Resource" />
  </parameter>
  <parameter>
    <name value="profile" />
    <use value="in" />
    <min value="0" />
    <max value="1" />
    <documentation value="If a profile is provided, then the resource is validated against this specific profile - additional to the profiles declared in meta.profile. If a profile is provided and the server cannot validate against the nominated profile (e.g., because it cannot be resolved), the operation will return an error." />
    <type value="uri" />
  </parameter>
  <parameter>
    <name value="return" />
    <use value="out" />
    <min value="1" />
    <max value="1" />
    <documentation value="Outcome of the validation operation. May include error, warning, and informational messages." />
    <type value="OperationOutcome" />
  </parameter>
</OperationDefinition>