Argo-Scheduling Implementation Guide Release 1.0.0

This page is part of the Argonaut Scheduling Implementation Guide (v1.0.0: Release) based on FHIR R3. This is the current published version. For a full list of available versions, see the Directory of published versions

JSON Format: OperationDefinition-appointment-hold

Raw json

{
  "resourceType" : "OperationDefinition",
  "id" : "appointment-hold",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns="http://www.w3.org/1999/xhtml">
			<h2>Appointment_Hold</h2>
			<p>OPERATION: Appointment_Hold</p>
			<p>The official URL for this operation definition is: </p>
			<pre>http://fhir.org/guides/argonaut-scheduling/OperationDefinition/appointment-hold</pre>
			<div>
				<p>Request for a hold on a selected Appointment in order for the user to complete entering data for booking an appointment.  This operation precedes the booking and follows the appointment availability interaction.  The server determines if the nominated appointment is still available (i.e., all the required actors and physical assets needed for the appointment are still available) and either accepts or rejects the hold request and updates the resource status accordingly.  See the <a href="state-diagram.html">Appointment State Diagram</a> for further details on statuses.</p>
			</div>
			<p>URL: [base]/Appointment/$hold</p>
			<p>URL: [base]/Appointment/[id]/$hold</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>appt-id</td>
					<td>0..1</td>
					<td>uri</td>
					<td/>
					<td>
						<div>
							<p>A resource id for one of proposed Appointments returned by a prior $find operation (e.g., Resource/1234).  References can be to an absolute URL, but servers only perform this operation on their own appointments.</p>
						</div>
					</td>
				</tr>
				<tr>
					<td>IN</td>
					<td>appt-resource</td>
					<td>0..1</td>
					<td>Appointment (<a href="StructureDefinition-argo-appt.html">Argonaut Appointment Profile</a>)</td>
					<td/>
					<td>
						<div>
							<p>When prefetching open Slots, an <a href="StructureDefinition-argo-appt.html">Argonaut Appointment Profile</a> resource is created by the Client Application and is exchanged with the FHIR Scheduler (EHR). This parameter represents this profile and is the same as used for the <code>$book</code> operation.</p>
						</div>
					</td>
				</tr>
				<tr>
					<td>OUT</td>
					<td>return</td>
					<td>0..1</td>
					<td>Bundle (<a href="StructureDefinition-avail-bundle.html">Argonaut Appointment Bundle Profile</a>)</td>
					<td/>
					<td>
						<div>
							<p>An <a href="StructureDefinition-avail-bundle.html">Argonaut Appointment Bundle Profile</a>  of type <code>searchset</code> of requested held Appointment resource and may also contain an OperationOutcome with errors, warnings or information as a result of processing the operation.   The Appointment resource will have an updated <code>status</code> of &quot;pending&quot; if the hold is approved or  &quot;cancelled&quot; if the hold is rejected.</p>
						</div>
					</td>
				</tr>
			</table>
			<div>
				<ul>
					<li>
						<p>This operation is not <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">idempotent</a> and may only be invoked by performing an HTTP POST.</p>
					</li>
					<li>
						<p>The length of an appointment hold is determined by the scheduling service’s business rules, after which the status of the Appointment may change.  An <code>Expires</code> header Should be included in the response to successful hold request to indicate its expiration.  The Client should cancel a hold on an appointment before it expires.</p>
					</li>
					<li>
						<p>When using the <code>appt-resource</code> as an input parameter, the payload can be <em>either</em> the Appointment resource or use the <a href="http://hl7.org/fhir/STU3/parameters.html">Parameters</a> format as shown in the examples below</p>
					</li>
				</ul>
			</div>
		</div>"
  },
  "url" : "http://fhir.org/guides/argonaut-scheduling/OperationDefinition/appointment-hold",
  "version" : "1.0.0",
  "name" : "Appointment_Hold",
  "status" : "active",
  "kind" : "operation",
  "date" : "2017-08-10T04:36:05+10:00",
  "publisher" : "Argonaut Project",
  "description" : "Request for a hold on a selected Appointment in order for the user to complete entering data for booking an appointment.  This operation precedes the booking and follows the appointment availability interaction.  The server determines if the nominated appointment is still available (i.e., all the required actors and physical assets needed for the appointment are still available) and either accepts or rejects the hold request and updates the resource status accordingly.  See the [Appointment State Diagram](state-diagram.html) for further details on statuses.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "idempotent" : false,
  "code" : "hold",
  "comment" : "- This operation is not [idempotent](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) and may only be invoked by performing an HTTP POST.

-  The length of an appointment hold is determined by the scheduling service’s business rules, after which the status of the Appointment may change.  An `Expires` header Should be included in the response to successful hold request to indicate its expiration.  The Client should cancel a hold on an appointment before it expires.  

- When using the `appt-resource` as an input parameter, the payload can be *either* the Appointment resource or use the [Parameters](http://hl7.org/fhir/STU3/parameters.html) format as shown in the examples below",
  "resource" : [
    "Appointment"
  ],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [
    {
      "name" : "appt-id",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A resource id for one of proposed Appointments returned by a prior $find operation (e.g., Resource/1234).  References can be to an absolute URL, but servers only perform this operation on their own appointments.",
      "type" : "uri"
    },
    {
      "name" : "appt-resource",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "When prefetching open Slots, an [Argonaut Appointment Profile](StructureDefinition-argo-appt.html) resource is created by the Client Application and is exchanged with the FHIR Scheduler (EHR). This parameter represents this profile and is the same as used for the `$book` operation.",
      "type" : "Appointment",
      "profile" : {
        "reference" : "StructureDefinition/argo-appt"
      }
    },
    {
      "name" : "return",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "An [Argonaut Appointment Bundle Profile](StructureDefinition-avail-bundle.html)  of type `searchset` of requested held Appointment resource and may also contain an OperationOutcome with errors, warnings or information as a result of processing the operation.   The Appointment resource will have an updated `status` of "pending" if the hold is approved or  "cancelled" if the hold is rejected.",
      "type" : "Bundle",
      "profile" : {
        "reference" : "StructureDefinition/avail-bundle"
      }
    }
  ]
}