Scheduling
1.0.1-current - ci-build

Scheduling, published by IHE IT Infrastructure Technical Committee. This guide is not an authorized publication; it is the continuous build for version 1.0.1-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/ITI.Scheduling/ and changes regularly. See the Directory of published versions

## 2:3.117 Book Appointment [ITI-117]

This section corresponds to transaction [ITI-117] of the IHE Technical Framework. Transaction [ITI-117] is used by the Scheduling Client and Scheduling Server Actors. The Find Appointments [ITI-115] transaction is used to provide a set of parameters to the server, and based on them to get back a list of possible appointments.

### 2:3.117.1 Scope

The Client [ITI-117] transaction passes a go Request from a Client to a Server.

### 2:3.117.2 Actor Roles

Table 2:3.117.2-1: Actor Roles

Actor | Role
--- | ---
Client | Sends query to Server
Server | Receives the query and responds

### 2:3.117.3 Referenced Standards

- HL7 FHIR Release 4

### 2:3.117.4 Messages

Figure 2:3.117.4-1: Book Appointment Interactions

#### 2:3.117.4.1 Book Appointment Request

This transaction uses the `$book` operation as defined in the Book Appointment Operation Definition.

##### 2:3.117.4.1.1 Trigger Events

This transaction can be triggered by:

- the booking step after selecting the appropriate appointment among the potential appointments that were returned by a `$find` operation
- requesting the modification of an already booked appointment
- canceling an already booked or held appointment

##### 2:3.117.4.1.2 Message Semantics

The Book Appointment request is defined as a FHIR Operation. Please see the corresponding Book Appointment Operation Definition.

##### 2:3.117.4.1.3 Expected Actions

The Scheduling Server is expected to create, modify, or cancel the appointment.

#### 2:3.117.4.2 Book Appointment Response

##### 2:3.117.4.2.1 Trigger Events

As described in the Operation Definition, the response is triggered by a request to create, modify, or cancel an appointment.

##### 2:3.117.4.2.2 Message Semantics

The response is an ITI Scheduling Appointment Bundle. A successful $book operation SHALL return a single Appointment resource within the `Bundle`, and MAY have an additional OperationOutcome resource with supplemental information. An unsuccessful $book operation SHALL return only an OperationOutcome resource within the `Bundle`, describing the problem with satisfying the operation.

##### 2:3.117.4.2.3 Expected Actions

The Scheduling Client is expected to convey the outcome to the user who requested the creation, modification, or cancellation of the appointment, and to record the current state of the appointment in the corresponding system(s), including any error conditions.

### 2:3.117.5 CapabilityStatement Resource

Servers implementing this transaction SHALL provide a CapabilityStatement Resource as described in ITI TF-2x: Appendix Z.3 indicating the transaction has been implemented.

- Requirements CapabilityStatement for Client
- Requirements CapabilityStatement for Server

### 2:3.117.6 Security Considerations

See ITI Scheduling Security Considerations.

#### 2:3.117.6.1 Security Audit Considerations

The Book Appointment Transaction is a Patient Record event as defined in Table 3.20.4.1.1.1-1. The actors involved SHALL record audit events according to the following:

##### 2:3.117.6.1.1 Client Audit

The Scheduling Client, when grouped with the ATNA Secure Node or Secure Application Actor, SHALL be able to record an audit event consistent with the Book Appointment Source AuditEvent. Audit Example for a Book Appointment transaction from the client perspective.

##### 2:3.117.6.1.2 Server Audit

The Scheduling Server, when grouped with the ATNA Secure Node or Secure Application Actor, SHALL be able to record an audit event consistent with the Book Appointment Recipient AuditEvent. Audit Example for a Book Appointment transaction from the server perspective.

### 2:3.117.7 Other Profile Groupings

Both the Scheduling Client and Scheduling Server MAY be grouped with their respective Internet User Authentication (IUA) Actors.