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

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="Subscription-get-ws-binding-token"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>URL: [base]/Subscription/$get-ws-binding-token</p>
      <p>URL: [base]/Subscription/[id]/$get-ws-binding-token</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>id</td>
          <td>type</td>
          <td>0..*</td>
          <td>
            <a href="datatypes.html#id">id</a>
          </td>
          <td/>
          <td>
            <div>
              <p>At the Instance level, this parameter is ignored. At the Resource level, one or more parameters containing a FHIR id for a Subscription to get a token for. In the absence of any specified ids, the server may either return a token for all Subscriptions available to the caller with a channel-type of websocket or fail the request.</p>

            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>token</td>
          <td/>
          <td>1..1</td>
          <td>
            <a href="datatypes.html#string">string</a>
          </td>
          <td/>
          <td>
            <div>
              <p>An access token that a client may use to show authorization during a websocket connection. The security details of the token are implementation-dependent and beyond the scope of this operation definition.</p>

            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>expiration</td>
          <td/>
          <td>1..1</td>
          <td>
            <a href="datatypes.html#dateTime">dateTime</a>
          </td>
          <td/>
          <td>
            <div>
              <p>The date and time this token is valid until.</p>

            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>subscription</td>
          <td/>
          <td>0..*</td>
          <td>
            <a href="datatypes.html#string">string</a>
          </td>
          <td/>
          <td>
            <div>
              <p>The subscriptions this token is valid for.</p>

            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>websocket-url</td>
          <td/>
          <td>1..1</td>
          <td>
            <a href="datatypes.html#url">url</a>
          </td>
          <td/>
          <td>
            <div>
              <p>The URL the client should use to connect to Websockets.</p>

            </div>
          </td>
        </tr>
      </table>
    </div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2"/>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/>
  </extension>
  <url value="http://hl7.org/fhir/OperationDefinition/Subscription-get-ws-binding-token"/>
  <version value="5.0.0"/>
  <name value="GetWsBindingToken"/>
  <title value="Get a binding token for use in a websocket connection"/>
  <status value="draft"/>
  <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="This operation is used to get a token for a websocket client to use in order to bind to one or more subscriptions."/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <affectsState value="true"/>
  <code value="get-ws-binding-token"/>
  <resource value="Subscription"/>
  <system value="false"/>
  <type value="true"/>
  <instance value="true"/>
  <parameter>
    <name value="id"/>
    <use value="in"/>
    <scope value="type"/>
    <min value="0"/>
    <max value="*"/>
    <documentation value="At the Instance level, this parameter is ignored. At the Resource level, one or more parameters containing a FHIR id for a Subscription to get a token for. In the absence of any specified ids, the server may either return a token for all Subscriptions available to the caller with a channel-type of websocket or fail the request."/>
    <type value="id"/>
  </parameter>
  <parameter>
    <name value="token"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="An access token that a client may use to show authorization during a websocket connection. The security details of the token are implementation-dependent and beyond the scope of this operation definition."/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="expiration"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="The date and time this token is valid until."/>
    <type value="dateTime"/>
  </parameter>
  <parameter>
    <name value="subscription"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <documentation value="The subscriptions this token is valid for."/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="websocket-url"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="The URL the client should use to connect to Websockets."/>
    <type value="url"/>
  </parameter>
</OperationDefinition>