visit the hl7 website The Demo site for our new HL7 Version 2+ (plus) Standard

23.9.1 Scheduling (99.1.9)

24 .Scheduling (10)

10

Alexander de LeonKaiser Permanente

sched@lists.hl7.org

Chapter Chair:

Alexander de LeonKaiser Permanente

Editor:

Sponsoring TC:

Patient Administration

List Server:

24.1 CHAPTER 10 CONTENTS (10.1)

24.2 PURPOSE (10.2)

This chapter defines abstract messages for the purpose of communicating various events related to the scheduling of appointments for services or for the use of resources. There are three basic types of messages defined in this transaction set: request transactions and their responses, query transactions and their responses, and unsolicited transactions and their responses. Request transactions communicate requests for the scheduling of appointments for services or for the use of resources. These transactions occur between placer (requesting) applications and filler (processing) applications. The query and unsolicited transaction sets provide for the exchange of scheduling information between systems. The exchange of this information is achieved either actively or passively. The active gathering of scheduling information is performed by issuing query transactions to a filler application from a querying application. The passive gathering of this information is performed by accepting unsolicited transactions issued by a filler application.

This chapter describes various roles under which applications might operate. The roles discussed in this chapter illustrate the underlying model used to develop this specification. They do not imply the need for a particular application model or method of implementation.

This chapter defines the transactions at the seventh level, that is, the abstract message. Various schemes are used to generate the actual characters that comprise the messages according to the communication environment. The HL7 Encoding Rules will be used where there is not a complete Presentation Layer. This is described in Chapter 1, "Relationship to Other Protocols." The examples included in this chapter were constructed using the HL7 Encoding Rules.

24.2.1 Schedules, Appointments, Services, and Resources (10.2.1)

The goal of this specification is to facilitate the communication of scheduling requests and information between applications. Such communication involves three main subjects: schedules, appointments, and services and resources. Schedules control the occurrence of certain services and the use of particular resources. They consist of a set of open, booked and blocked slots for one particular service or resource. Open slots are periods of time on a schedule during which a service may occur, and/or a resource is available for use. Booked slots are periods of time on a schedule that have already been reserved. Appointments occupy sets of one or more booked slots on a schedule. They describe the nature of the service and/or the use of the resource, the person or persons responsible for the appointment's booking, and other information relevant to the booking and execution of an appointment. Blocked slots on a schedule are periods of time during which a service or resource is unavailable for reasons other than booked appointments (for example, a piece of equipment might be unavailable for maintenance reasons).

In the context of this chapter, services and resources are those things that are controlled by schedules. Services are real-world events, such as clinic appointments, the performance of which is controlled by a schedule. Often, these kinds of activities relate to the care of a patient. In other words, appointments for services often schedule a service for one or more patients. Resources are tangible items whose use is controlled by a schedule. These "items" are often people, locations, or things low in supply but high in demand.

24.2.1.1 Schedules (10.2.1.0)

A schedule controls the dates and times available for the performance of a service and/or the use of a resource. One schedule applies to one service or resource, since each service or resource can be reserved independently of the others. (If two or more services, people, locations, or things cannot be reserved independently of one another, they are considered to be one activity or resource.) A schedule consists of slots of time during which the controlled service or resource is potentially available for performance or use. Slots are categorized as open, booked, or blocked. An open slot on a schedule indicates that the service or resource is available for performance or use during that period of time. A booked slot indicates that the service or resource is not available during the time period, because an appointment has been scheduled. A blocked slot indicates that a service or resource is unavailable for reasons other than a scheduled appointment.

The real-world, non-automated analog of the schedule described above is a standard appointment book. These books are generally organized with rows of time slots, during which a service or resource is available. The following figure illustrates an excerpt from such an appointment book.

Figure 10-1. An example excerpt from an appointment book

Date:

May 17, 1994

Room A

Room B

Room C

Room D

8:00 am

Pat: A Everyman

:15   

Dr.: Specialize

Closed for

:30   

Physical

Pat: A Everyman

Remodeling

:45   

Exam

Dr.: Stretcher

9:00 am

Pat: E Everywoman

Allergy

Pat: A Everyman

:15   

Dr.: Specialize

Scratch Test

Dr.: Stretcher

:30   

Follow-up

Each cell in the figure above represents a slot on a schedule. Different shading patterns represent booked and blocked slots. Information identifying the appointments scheduled in booked slots is written in the appointment book. Similarly, explanations are written into the book when resources are blocked. Those cells with no shading and comments represent open slots.

As in the figure above, appointment books commonly contain more than one column. This format allows the scheduling of more than one resource or activity within the same book. This chapter defines a schedule as an entity controlling the availability of only one resource or service for a given period of time. Given that definition, each column in the above excerpt from the appointment book represents a separate schedule for a separate resource.

24.2.1.2 Services and Resources (10.2.1.1)

Services and resources are the "what" in any communication of scheduling transactions, that is, they are things—either tangible or intangible—that the transaction is attempting to affect or describe. The services and resources that are controlled by schedules are typically in high demand. In any case, their use or performance is managed through the process of reserving blocks of time.

Services are typically activities that occur in a certain location, where specific people and equipment exist to carry out the activity. The activity must be scheduled prior to its occurrence. The schedule that controls the activity may not be the same schedule that controls the location, people, and equipment. For example, patient visits to a clinic are typically controlled through scheduling. Patients receive an appointment at the clinic, and at the appointed time are seen by a member of the clinic staff. From the point of view of the person or application requesting the appointment for the patient, the "thing" being scheduled is a service (e.g., a doctor's consult, an X-ray, etc.). The assignment of an exam room and (in this example) a physician, nurse practitioner, or other staff member is incidental to the actual appointment.

Resources are tangible things that must be reserved prior to their use. Examples might include MRI equipment, portable X-ray machines, or rooms. People are also tangible resources that are often scheduled. Typically these people controlled by schedules have special roles, perform special activities, and are in high demand.

The following are the primary attributes that describe a resource:

24.2.1.3 Appointments (10.2.1.2)

Appointments are instances of the performance of a service or the use of a resource. They describe the "why," the "who" and the "when" in any communication of scheduling transactions. These appointments occupy one or more slots on a service or resource schedule, causing those slots to become unavailable or "booked." Appointments can describe scheduled activities related to patients in a healthcare setting, or they can describe scheduled activities wholly unrelated to patients.

In its simplest form, an appointment consists of one service or resource reserved for a period of time, for a specific reason. More complex activities involve multiple services or resources, or parent-child relationships to other appointments.

The primary attributes for the appointment which describes a scheduled activity include the following:

Supporting information about service and resource activities includes the following:

Other attributes further describe appointments. These attributes are communicated as necessary in transactions between applications.

24.2.1.4 Parent and Child Appointments (10.2.1.3)

Parent appointments are those appointments that embody one or more child appointments. For example, a request for a repeating appointment results in a logical parent (the original scheduled appointment request), and one or more children (each individual occurrence of the appointment). This specification provides no information about how individual applications store or handle parent and child appointments, but it does provide a mechanism for identifying individual occurrences (children) within transactions.

Either the placing application or the filling application can specify child appointments—and in one of two ways. If each individual child appointment is assigned a separate and unique Placer Appointment ID and/or Filler Appointment ID, then that unique identifier may be used in transactions to specify an individual child. If, however, neither the placer nor filler application assigns a unique identifier separately, an occurrence number can be used. Both the ARQ and SCH segments allow for an occurrence number, which is a unique serial number assigned to each child within a parent appointment.

24.2.2 Application Roles (10.2.2)

In this specification, there are four roles that an application can assume: a filler application role, a placer application role, a querying application role, and an auxiliary application role. These application roles define the interaction that an application will have with other applications in the messaging environment. In many environments, any one application may take on more than one application role.

In this specification, the definition of application roles is not intended to define or limit the functionality of specific products developed by vendors of such applications. Instead, this information is provided to help define the model used to develop this specification, and to provide an unambiguous way for applications to communicate with each other.

24.2.2.1 hiddentext (10.2.2.0)

24.2.2.2 The Filler Application Role (10.2.2.1)

The filler application role in the scheduling model is very similar to the filler application concept presented in Chapter 4, Order Entry. A filler application, in the scheduling model, is one that "owns" one or more schedules for one or more services or resources. In other words, a filler application exerts control over a certain set of services or resources and the schedules that define the availability of those services or resources. Because of this control, no other application has the ability to reserve, or to otherwise modify, the schedules controlled by a particular filler application.

Other applications can, on the other hand, make requests to modify the schedules owned by the filler application. The filler application either fulfills or denies requests to book slots, or to otherwise modify the schedules for the services and resources over which it exerts control.

Finally, the filler application also provides information about scheduled activities to other applications. The reasons that an application may be interested in receiving such information are varied. An application may have previously requested bookings or modifications on the schedule, or may simply be interested in the information for its own reporting or statistical purposes. There are two methods whereby filler applications disseminate this information: by issuing unsolicited information messages, or by responding to queries.

The analog of a filler application in a non-automated environment might be an appointment book and the person in charge of maintaining that book. The appointment book describes when the resources are available and when they are booked. This appointment book is the only official record of this information, and controls the availability of the resources to any user. The person in charge of this appointment book takes requests to book the resources, and decides whether to accept or reject the requests based on the information recorded in the appointment book. Anyone needing information from the appointment book either consults the book directly, or contacts the person in charge of the book.

24.2.2.3 The Placer Application Role (10.2.2.2)

The placer application role in the scheduling model is also very similar to its counterpart in the Order Entry chapter. A placer application requests the booking, modification, cancellation, etc., of a scheduled activity for a service or resource. Because it cannot exert any control over the schedule for that resource, it must send its requests to modify the schedule to the filler application. In requesting that these appointments be booked or modified in some way, the placer application is asking the filler application to exert its control over the schedule on the placer application's behalf.

The analog of a placer application in a non-automated environment might be any person needing a particular resource or appointment for a service. A person needing to book an appointment would contact the person in charge of the appointment book for that resource or service, and request a reservation. Often, there is negotiation between the person requesting the reservation or appointment and the person who maintains the appointment book. The requesting person will indicate requirements and preferences, and the person controlling the appointment book will indicate whether the request can be fulfilled as specified.

24.2.2.4 The Querying Application Role (10.2.2.3)

A querying application neither exerts control over, nor requests changes to a schedule. Rather than accepting unsolicited information about schedules, as does an auxiliary application, the querying application actively solicits this information using a query mechanism. It will, in general, be driven by a person wanting information about schedules, and may be part of an application filling the placer application role as defined in this chapter. The information that the querying application receives is valid only at the exact time that the query results are generated by the filler application. Changes made to the schedule after the query results have been returned are not communicated to the querying application until it issues another query transaction.

The analog of a querying application in a non-automated environment might be any person needing information about a specific portion of a schedule. For example, a facilities manager may need to know whether a specific room has been scheduled during a specific period of time. This person might ask the person controlling the appointment book about the specific room and period of time in question.

Often, a placer application will also act as a querying application. The ability to send queries and receive lists of open slots is built in to some implementations of placer applications. These placer applications use this information to select open slots for subsequent booking requests. The current specification does not imply that placer applications should or should not also be able to fulfill the role of a querying application. Instead, the model defines these roles separately. Applications that support this functionality may take advantage of this application role in the model. Applications that do not support the querying application role are not limited in their support of the placer application role.

24.2.2.5 The Auxiliary Application Role (10.2.2.4)

Like querying applications, an auxiliary application neither exerts control over, nor requests changes to a schedule. It, too, is only concerned with gathering information about a particular schedule. It is considered an "interested third-party," in that it is interested in any changes to a particular schedule, but has no interest in changing it or controlling it in any way. An auxiliary application passively collects information by receiving unsolicited updates from a filler application.

The analog of an auxiliary application in a non-automated environment might be any person receiving reports containing schedule information. For example, a facilities manager may need to know what rooms are booked for activity during specific periods of time. This person might ask the person controlling the appointment book for a periodic listing of activity, which may be something as simple as copies of pages from the appointment book.

Often, a placer application will also act as an auxiliary application. A placer application may have the capacity to store information about the scheduled activity that it requested. In such cases, the placer application is also an "interested" application in that it wishes to receive any messages describing changes to the content or status of the scheduled activity it initiated.

24.2.2.6 Application Roles in a Messaging Environment (10.2.2.5)

In a messaging environment, these four application roles communicate using specific types of messages and trigger events. The following figure illustrates the relationships between these application roles in a messaging environment:

Figure 10-2. Application role messaging relationships

The relationship between placer and filler applications revolves around request messages and response messages to those requests. Placer applications trigger request messages to filler applications, which respond to those requests with request response messages.

The relationship between querying and filler applications focuses on query messages and responses. Querying applications trigger query messages to filler applications, which respond with query response messages.

The relationship between auxiliary and filler applications centers on unsolicited informational messages. Filler applications trigger unsolicited informational messages to auxiliary applications whenever changes in the schedule occur. Auxiliary applications do not respond with any messages other than general acknowledgments. Filler applications triggering unsolicited informational messages do not expect further information from auxiliary applications.

24.2.3 Trigger Events, Status, Reasons, and Types (10.2.3)

This chapter defines several trigger events used to communicate scheduling information between applications. In addition, it also defines, suggests, or allows for several statuses that scheduled activities may hold, several reasons a scheduled activity may occur, and several types of scheduled activities. The distinction between these four concepts is important for understanding the information in this chapter.

24.2.3.1 hiddentext (10.2.3.0)

24.2.3.2 Trigger Events (10.2.3.1)

The trigger events for this chapter are defined in Section 10.3, "PLACER APPLICATION REQUESTS AND TRIGGER EVENTS,” 10.4, "FILLER APPLICATION MESSAGES AND TRIGGER EVENTS UNSOLICITED," and 10.5, "QUERY TRANSACTIONS AND TRIGGER EVENTS." Traditionally, trigger events define the transition of some entity from one state to another. Typical trigger events may be listed as follows: new, cancel, modify, discontinue, reschedule, and delete.

24.2.3.3 Status (10.2.3.2)

The status of a scheduled activity describes where that activity is in its life cycle. A status differs from a trigger event in an important way: a status describes the current condition of an entity, whereas a trigger event is generated to "move" the entity from one state to another. All status fields in this chapter are defined with respect to the application acting in the role of a filler, unless otherwise (and specifically) indicated. Therefore, a status in a scheduling interface transaction is only truly meaningful if the transaction was generated by the application assigning or maintaining that status.

Typical statuses for a schedule transaction might include the following: pending, wait-listed, confirmed, canceled, discontinued, deleted, started, completed, overbooked (booked for a resource along with another conflicting appointment), blocked, etc.

24.2.3.4 Reasons (10.2.3.3)

This chapter defines two kinds of reasons used with transactions. The first is an appointment reason that indicates why the appointment is being booked - and ultimately why the activity is going to occur. The second is an event reason that describes why a particular trigger event has been generated. Reasons tend to be static, whereas statuses tend to change. In contrast, trigger events describe an action to be performed.

Appointment reasons tend to be relatively static for the life of the scheduled activity. Typical examples of appointment reasons include the following: routine, walk-in, check-up, follow-up, emergency, etc.

Event reasons are static as well, but only for the life of a particular trigger event. Typical examples of event reasons include the following: no-show (e.g., when an appointment is canceled), at patient request, at caregiver request, etc.

24.2.3.5 Types (10.2.3.4)

Rather than describing why an appointment has been scheduled - as the appointment reason does - the appointment type describes the kind of appointment recorded in the schedule. This information tends to be administrative in nature. Typical appointment types might include: normal, tentative (or "penciled in"), STAT, etc.

24.2.4 Appointments, Orders, and Referrals (10.2.4)

A schedule request or appointment should not be confused, in any way, with orders for services, or for patient referrals. The trigger events and messages defined in this chapter are meant to operate within the realm of scheduling activities, and not to imply that any other trigger event or real-world event has or should occur. It should not be construed from this chapter that any schedule request transaction can be used instead of an order transaction, in which a service or other activity must be specifically ordered. In such cases, a specific order transaction should occur (either electronically or otherwise). If subsequent scheduling transactions are then required to carry out the order, the trigger events and messages defined in this chapter may be used.

24.2.5 Glossary (10.2.5)

24.2.5.1 hiddentext (10.2.5.0)

24.2.5.2 Appointment (10.2.5.1)

An appointment represents a booked slot or group of slots on a schedule, relating to one or more services or resources. Two examples might include a patient visit scheduled at a clinic, and a reservation for a piece of equipment.

24.2.5.3 Auxiliary Application (10.2.5.2)

An auxiliary application neither exerts control over, nor requests changes to a schedule. It is only concerned with gathering information about a particular schedule. It can be considered an "interested third-party," in that it is interested in any changes to a particular schedule, but has no interest in changing it or controlling it in any way. It may gather information passively or actively. An auxiliary application passively collects information by receiving unsolicited updates from a filler application.

24.2.5.4 Block (10.2.5.3)

An indication that a slot or a set of slots is unavailable for reasons other than booking an appointment.

24.2.5.5 Book (10.2.5.4)

The act of reserving a slot or set of slots on a schedule for a service or resource.

24.2.5.6 Child Appointment (10.2.5.5)

A child appointment is an appointment subordinate to another appointment (called a parent appointment). For example, a single instance of an appointment in a group of recurring appointments is a child to the group. Child appointments can themselves be parent appointments. For example, if a battery of appointments is scheduled, then the atomic units of the battery are children to the battery request. If the battery is scheduled as a repeating appointment, then each instance of the battery of appointments (parent to each of the atomic units) is a child to the original repeating request.

24.2.5.7 Filler Application (10.2.5.6)

The filler application role in the scheduling model is very similar to the filler application concept presented in Chapter 4, Order Entry. A filler application, in the scheduling model, is one that "owns" one or more schedules for one or more services or resources. It fulfills requests to book slots for the services or resources over which it exerts control. It also notifies other applications of activity related to appointments, such as new bookings, modifications, cancellations, etc.

24.2.5.8 Parent Appointment (10.2.5.7)

A parent appointment is an appointment that consists of one or more subordinate appointments (called child appointments). A parent appointment is used to relate or group multiple appointments together in various ways. Examples of kinds of parent-scheduled activities include, but are not limited to, the following.

Parent appointments can themselves be children to other appointments.

24.2.5.9 Placer Application (10.2.5.8)

The role of the placer application in the scheduling model is also very similar to its counterpart in the Order Entry chapter. A placer application must request the booking, modification, cancellation, etc., of an appointment for a service or resource because it cannot exert any control over that service or resource on the schedule. In requesting that these appointments be booked or modified in some way, the placer application is asking the filler application to exert its control over the schedule on the placer application's behalf.

24.2.5.10 Querying Application (10.2.5.9)

A querying application neither exerts control over nor requests changes to a schedule. Rather than accepting unsolicited information about schedules, as does an auxiliary application, the querying application actively solicits this information using a query mechanism. It will be driven by a person wanting information about schedules, and may be part of an application filling the placer application role as defined in this chapter. The information that the querying application receives is valid only at the exact time that the query results are generated by the filler application. Changes made to the schedule after the query results have been returned are not communicated to the querying application until it issues another query transaction.

24.2.5.11 Resource (10.2.5.10)

A resource is any person, place or thing that must be reserved prior to its use.

24.2.5.12 Schedule (10.2.5.11)

A schedule is the sum of all of the slots related to a service or resource.

24.2.5.13 Service (10.2.5.12)

A service is any activity that must be scheduled prior to its performance.

24.2.5.14 Slot (10.2.5.13)

A slot is one unit on a schedule. A slot represents the smallest unit of time or quantity that a service or resource may be booked. Depending on the nature of the service or resource, there may be more than one defined slot at a given instant of time. For example, if a service is an open group therapy session with twelve available seats, then there are twelve slots for the given block of time.

24.2.6 Organization of This Chapter: Trigger Events and Message Definitions (10.2.6)

This specification contains three functional groupings of trigger events and message definitions. The trigger events within each of the three functional groupings share the same or similar message definitions. For clarity, message definitions shared by multiple trigger events are presented only once.

The first functional grouping of trigger events and message definitions describes placer request transactions. This grouping defines the trigger events and message definitions for transactions from applications acting in a placer application role, and also defines the related filler application response messages. These messages are described in Section 10.3, "PLACER APPLICATION REQUESTS AND TRIGGER EVENTS."

The second functional grouping describes trigger events and message definitions for unsolicited transactions from applications acting in the filler application role. This grouping describes the unsolicited messages originating from an application fulfilling the filler role, and the response messages sent back by applications fulfilling the auxiliary role. These messages are described in Section 10.4, "FILLER APPLICATION MESSAGES AND TRIGGER EVENTS UNSOLICITED."

The final grouping describes query transactions from applications acting in the querying application role, and also defines the related filler application messages used to respond to these queries. These messages are described in section 10.5, "QUERY TRANSACTIONS AND TRIGGER EVENTS."

The notation used to describe the sequence, optionality, and repetition of segments is described in Chapter 2, "Format for defining abstract messages."

24.2.6.1 hiddentext (10.2.6.0)

24.2.6.2 Update mode (10.2.6.1)

This chapter uses the "Action code/unique identifier" mode for updating via repeating segments. For more information on updating via repeating segments, please see section 2.10.4, "Protocol for interpreting repeating segments or segment groups in an update Message," in Chapter 2. The definition of the "Action code/unique identifier" update mode can be found in Chapter 2, Section 2.10.4.2, "Action code/unique identifier mode update definition."

24.3 PLACER APPLICATION REQUESTS AND TRIGGER EVENTS (10.3)

Placer request and filler response transactions are the messages and trigger events used between placer applications and filler applications. The placer application initiates transactions using the SRM message, requesting that the filler application modify its schedule(s) with the given trigger event and information. The filler application responds to these requests, using the SRR message, to either grant or deny the requests from the placer application.

When initiating a request, the placer application will generate and send an SRM message containing all of the information necessary to communicate the desired action to the filler application. All required segments and fields (both explicitly required and conditionally required) should be provided to the filler application, as defined in this chapter. When the filler application receives the transaction, it acknowledges it with the appropriate accept acknowledgment using an ACK message (assuming that the enhanced acknowledgment mode is in use). After processing the request at the application level, the filler acknowledges the transaction with the appropriate application acknowledgment in an SRR message (again assuming that an application acknowledgment was requested under the enhanced acknowledgment mode, or that the original acknowledgment mode is in use). Applying the explanations of the various application acknowledgment codes in the context of this chapter, an application accept from the filler means that the request was processed and accepted by the filler. An application error from the filler means that the request was processed and denied. An application reject from the filler means that the request was not, and could not, be processed due to one or more reasons unrelated to its content (for example: it fails the basic application protocol validation, the filler system is down, or there was an internal error). When appropriate, an SRR message with an application accept acknowledgment will contain further information on the request that was processed.

There are no unsolicited messages initiated from a filler application defined in this set of trigger events. Those messages and trigger events are defined below, in Section 10.4, "FILLER APPLICATION MESSAGES AND TRIGGER EVENTS UNSOLICITED."

All of the trigger events associated with placer request and filler response transactions use a common message definition that follows:

Segment Cardinality Implement Status
SRM^S01-S11^SRM_S01
MSH

Message Header

[1..1] SHALL
ARV

Access Restriction

  v2.9
APR

Appointment Preferences

[0..1]  
NTE

Notes and Comments

 
PATIENT  
PID

Patient Identification

[1..1] SHALL
PRT

Participation Information

 
PV1

Patient Visit

[0..1]  
PV2

Patient Visit - Additional Information

[0..1]  
PRT

Participation Information

 
OBSERVATION  
OBX

Observation/Result

[1..1] SHALL
PRT

Participation Information

 
DG1

Diagnosis

 
RESOURCES [1..*] SHALL
RGS

Resource Group

[1..1] SHALL
SERVICE  
AIS

Appointment Information

[1..1] SHALL
APR

Appointment Preferences

[0..1]  
NTE

Notes and Comments

 
GENERAL_RESOURCE  
AIG

Appointment Information - General Resource

[1..1] SHALL
APR

Appointment Preferences

[0..1]  
NTE

Notes and Comments

 
LOCATION_RESOURCE  
AIL

Appointment Information - Location Resource

[1..1] SHALL
APR

Appointment Preferences

[0..1]  
NTE

Notes and Comments

 
PERSONNEL_RESOURCE  
AIP

Appointment Information - Personnel Resource

[1..1] SHALL
APR

Appointment Preferences

[0..1]  
NTE

Notes and Comments

 

 

SRM_S01

MSH-15 MSH-16 Immediate ACK Application Ack
Blank Blank - ACK^S10-S11^SRR_S01
NE NE - -
AL, SU, ER NE ACK^S10-S11^ACK -
NE AL, SU, ER - ACK^S10-S11^SRR_S01
AL, SU, ER AL, SU, ER ACK^S10-S11^ACK ACK^S10-S11^SRR_S01
We need some ER7 examples...
We need some XML examples...
Segment Cardinality Implement Status
SRR^S01-S11^SRR_S01
MSH

Message Header

[1..1] SHALL
ARV

Access Restriction

  v2.9
ERR

Error

 
SCHEDULE [0..1]  
SCH

Scheduling Activity Information

[1..1] SHALL
TQ1

Timing/Quantity

 
NTE

Notes and Comments

 
PATIENT  
PID

Patient Identification

[1..1] SHALL
PRT

Participation Information

 
PV1

Patient Visit

[0..1]  
PV2

Patient Visit - Additional Information

[0..1]  
PRT

Participation Information

 
DG1

Diagnosis

 
RESOURCES [1..*] SHALL
RGS

Resource Group

[1..1] SHALL
SERVICE  
AIS

Appointment Information

[1..1] SHALL
NTE

Notes and Comments

 
GENERAL_RESOURCE  
AIG

Appointment Information - General Resource

[1..1] SHALL
NTE

Notes and Comments

 
LOCATION_RESOURCE  
AIL

Appointment Information - Location Resource

[1..1] SHALL
NTE

Notes and Comments

 
PERSONNEL_RESOURCE  
AIP

Appointment Information - Personnel Resource

[1..1] SHALL
NTE

Notes and Comments

 

 

SRR_S01

MSH-15 MSH-16 Immediate ACK Application Ack
Blank Blank - -
NE NE - -
AL, SU, ER NE ACK^S10-S11^ACK -
We need some ER7 examples...
We need some XML examples...

Note that in the abstract message definitions for both the SRM and SRR, the patient information segments (segments PID through DG1) are both optional as a group, and repeating as a group. The optionality allows for transactions that relate to a patient, and for those that do not. The ability to repeat the patient information allows for those transactions in which one activity must be scheduled for multiple patients (e.g., for family or group therapy).

In contrast, a transaction may specify no more than (and no less than) one activity. Note that neither the ARQ segment (in the SRM message) nor the SCH segment (in the SRR message) are allowed to repeat, and that they are required. Neither the optionality nor the ability to repeat patient information allows a transaction to specify more than one activity.

The trigger events that use this message definition are listed below.

24.3.1 Request New Appointment Booking (Event S01) (10.3.1)

A placer application sends a transaction with this trigger event to a filler application to request that a new appointment be booked. If it is successful, the filler application returns an application acknowledgment (if requested under the enhanced acknowledgment mode, or if the original acknowledgment mode is in use). The acknowledegment may optionally contain an SCH segment and related detail segments describing the actual appointment that was booked.

24.3.2 Request Appointment Rescheduling (Event S02) (10.3.2)

A placer application uses this trigger event to request that an existing appointment be rescheduled. The new Requested Start Date and Time, Appointment Duration, Repeating Interval, Repeating Interval Duration, and/or Priority are provided in the ARQ segment, along with the existing placer and filler identification numbers. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the rescheduled appointment.

This transaction should not be used to reschedule an appointment that has begun but has not been completed. In such cases, and only if it is logical to do so, the appointment should be discontinued and a new schedule request should be submitted. Likewise, this transaction should not be used to reschedule a parent appointment, in which one or more children have begun or have already occurred. Again, the parent appointment should be discontinued, and a new schedule request should be made. This procedure removes any ambiguity between applications that may arise with an attempt to modify an appointment that is in progress.

24.3.3 Request Appointment Modification (Event S03) (10.3.3)

This message transmits a request for modification of an existing appointment to a filler application. This trigger event is used to request the modification of information on an existing appointment, outside of the need to reschedule, cancel, discontinue or delete the appointment, or to add, modify, cancel, discontinue, or delete services and/or resources on the appointment. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the modified appointment.

24.3.4 Request Appointment Cancellation (Event S04) (10.3.4)

The request appointment cancellation trigger event is sent by the placer application to the filler application to request that an existing appointment be canceled. A cancel event is used to stop a valid appointment from occurring. For example, if a patient scheduled for an exam cancels his/her appointment, then a request to cancel the appointment is sent. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the canceled appointment.

This trigger event can be used to cancel a parent appointment, in which none of the children of the appointment have either begun or have been completed. Any child appointments that exist on the filler and placer applications should be considered canceled. If one or more child appointments have begun or have been completed, then this trigger event should not be used. Instead, the S05 (request appointment discontinuation) event should be used.

24.3.5 Request Appointment Discontinuation (Event S05) (10.3.5)

The request appointment discontinuation is sent by the placer application to the filler application to request that an appointment in progress be stopped, or that the remaining occurrences of a parent appointment not occur as scheduled. If none of the child appointments of a parent appointment have occurred, then a cancel trigger event should be sent instead. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the discontinued appointment.

24.3.6 Request Appointment Deletion (Event S06) (10.3.6)

A request appointment deletion is sent by the placer application to the filler application to request that an appointment that had been entered in error be removed from the system. A delete trigger event should only be used when an appointment has been erroneously requested, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should not be used for any appointment that has already begun, or has already been completed. Likewise, it should not be used on any parent appointment if any child appointments have either begun or been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the deleted appointment.

The delete trigger event should be implemented with careful forethought, as it typically has different effects and repercussions in various applications. In some applications, a delete event cannot be undone. This means that if a delete transaction was sent erroneously, recovery will be difficult or impossible. In other applications, a delete transaction will not result in the physical deletion of the record(s), but will set a status or a flag. In these cases, the filler and/or placer appointment identifiers (the numbers or codes that uniquely identify the scheduled appointment or request to the placer and filler applications) probably cannot be reused. Since these applications maintain a record of deleted appointments, the reuse of an identifier will likely cause a conflict in the applications' processing of transactions.

24.3.7 Request Addition of Service/Resource on Appointment (Event S07) (10.3.7)

The request addition of service/resource is triggered by the placer application to request that a new service or resource be added to an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

24.3.8 Request Modification of Service/Resource on Appointment (Event S08) (10.3.8)

The request modification of service/resource is triggered on the placer application to request that information pertaining to an existing service or resource be changed for an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

This trigger event should not be used when an existing resource or service must be replaced or rescheduled for an existing appointment. The following fields on the indicated segments should not be changed by this trigger event: the first three fields of the AIS, the first four fields of the AIG, the first four fields of the AIL, and the first four fields of the AIP. Instead, use two trigger events to accomplish the replacement or rescheduling of a service or resource: S09 (request cancellation of service/resource on appointment), as well as S07 (request addition of service/resource on appointment).

24.3.9 Request Cancellation of Service/Resource on Appointment (Event S09) (10.3.9)

This trigger event requests that a service or resource be removed from an existing scheduled appointment that has not yet begun. A cancel event is used to stop a valid service or resource from participating in the appointment. For example, if a portable X-ray machine scheduled for an exam is no longer needed, then the placer application requests that the resource be canceled on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

24.3.10 Request Discontinuation of Service/Resource on Appointment (Event S10) (10.3.10)

A request discontinuation of service/resource is sent by the placer application to the filler application when the remaining occurrences of a recurring appointment no longer require a particular service or resource. In other words, this trigger event is sent to request that the performance of a service or resource in a recurring appointment that has already begun be stopped. If the first appointment in a set of recurring appointments has not yet occurred, then a cancel trigger event should be sent instead. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

24.3.11 Request Deletion of Service/Resource on Appointment (Event S11) (10.3.11)

A request deletion of service/resource is sent by the placer application to the filler application to request that a scheduled appointment requiring a service or resource entered in error be removed from the system. A delete trigger event should only be used when a service or resource has been erroneously attached to an appointment, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

24.4 FILLER APPLICATION MESSAGES AND TRIGGER EVENTS UNSOLICITED (10.4)

Unsolicited transactions from filler applications are the messages and trigger events used between filler applications and auxiliary applications. Transactions are initiated by the filler application, using the SIU message to notify auxiliary applications of modifications in a filler application's schedule(s). The auxiliary application responds to these notifications, using the ACK message, either to acknowledge receipt of the transaction, or to signal that an interfacing error of some kind has occurred.

This set of trigger events is also used to notify applications fulfilling the placer application role of changes in the filler application's schedule(s), if the application is configured to accept these messages and trigger events as an auxiliary application would. As the discussion of application roles has indicated above, any one application can have more than one application role. If it is important that the application acting in the placer application role in your messaging environment be notified of unsolicited changes to a filler application's schedule(s), then it must also support the role of an auxiliary application.

When initiating a notification transaction, the filler application will generate and send an SIU message containing all of the information necessary to communicate the desired information to the auxiliary application. All required segments and fields (both explicitly required and conditionally required) should be provided by the filler application, as defined in this chapter. When the auxiliary application receives the transaction, it acknowledges with the appropriate accept acknowledgment using an ACK message (assuming that the enhanced acknowledgment mode is in use). After processing the notification at the application level, the auxiliary application acknowledges the transaction with the appropriate application acknowledgment in an ACK message (assuming that an application acknowledgment was requested under the enhanced acknowledgment mode, or that the original acknowledgment mode is in use). Applying the explanations of the various application acknowledgment codes (detailed in Chapter 2) in the context of this chapter, an application accept from the auxiliary application means that the notification was processed and accepted. An application error from the auxiliary application means that the auxiliary application was unable to process the notification at the application level. An application reject from the auxiliary application means that the request was not, and could not, be processed due to one or more reasons unrelated to its content (for example: it fails the basic application protocol validation, the system is down, or there was an internal error).

All of the trigger events associated with unsolicited transactions from filler applications use a common message definition that follows:

Segment Cardinality Implement Status
SIU^S12-S24,S26,S27^SIU_S12
MSH

Message Header

[1..1] SHALL
ARV

Access Restriction

  v2.9
TQ1

Timing/Quantity

 
NTE

Notes and Comments

 
PATIENT  
PID

Patient Identification

[1..1] SHALL
PD1

Patient Additional Demographic

[0..1]  
PRT

Participation Information

 
PV1

Patient Visit

[0..1]  
PV2

Patient Visit - Additional Information

[0..1]  
PRT

Participation Information

 
OBX

Observation/Result

 
PRT

Participation Information

 
DG1

Diagnosis

 
RESOURCES [1..*] SHALL
RGS

Resource Group

[1..1] SHALL
SERVICE  
AIS

Appointment Information

[1..1] SHALL
NTE

Notes and Comments

 
GENERAL_RESOURCE  
AIG

Appointment Information - General Resource

[1..1] SHALL
NTE

Notes and Comments

 
LOCATION_RESOURCE  
AIL

Appointment Information - Location Resource

[1..1] SHALL
NTE

Notes and Comments

 
PERSONNEL_RESOURCE  
AIP

Appointment Information - Personnel Resource

[1..1] SHALL
NTE

Notes and Comments

 

 

SIU_S12

MSH-15 MSH-16 Immediate ACK Application Ack
Blank Blank - ACK^S12-S24,S26,S27^ACK
NE NE - -
AL, SU, ER NE ACK^S12-S24,S26,S27^ACK -
NE AL, SU, ER - ACK^S12-S24,S26,S27^ACK
AL, SU, ER AL, SU, ER ACK^S12-S24,S26,S27^ACK ACK^S12-S24,S26,S27^ACK
We need some ER7 examples...
We need some XML examples...
Segment Cardinality Implement Status
ACK^S12-S24,S26,S27^ACK
MSH

Message Header

[1..1] SHALL
SFT

Software Segment

 
MSA

Message Acknowledgment

[1..1] SHALL
ERR

Error

 

 

ACK

We need some ER7 examples...
We need some XML examples...

The trigger events that use this message definition are listed below.

24.4.1 Notification of New Appointment Booking (Event S12) (10.4.1)

This message is sent from a filler application to notify other applications that a new appointment has been booked. The information provided in the SCH segment and the other detail segments as appropriate describe the appointment that has been booked by the filler application.

24.4.2 Notification of Appointment Rescheduling (Event S13) (10.4.2)

This message is sent from a filler application to notify other applications that an existing appointment has been rescheduled. The information in the SCH segment and the other detail segments as appropriate describe the new date(s) and time(s) to which the previously booked appointment has been moved. Additionally, it describes the unchanged information in the previously booked appointment.

This transaction should not be used to reschedule an appointment that has begun but has not been completed. In such cases, and only if it logical to do so, the appointment should be discontinued and a new schedule request should be submitted. Likewise, this transaction should not be used to reschedule a parent appointment, in which one or more children have begun or have already taken place. Again, the parent appointment should be discontinued, and a new schedule request should be made. This procedure removes any ambiguity between applications that may arise with an attempt to modify an appointment that is in progress.

24.4.3 Notification of Appointment Modification (Event S14) (10.4.3)

This message notifies other applications that an existing appointment has been modified on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

24.4.4 Notification of Appointment Cancellation (Event S15) (10.4.4)

A notification of appointment cancellation is sent by the filler application to other applications when an existing appointment has been canceled. A cancel event is used to stop a valid appointment from taking place. For example, if a patient scheduled for an exam cancels his/her appointment, then the appointment is canceled on the filler application.

This trigger event can be used to cancel a parent appointment, in which none of the children of the appointment have either begun or been completed. Any child appointments that exist on the filler and placer applications should be considered canceled. If one or more child appointments have begun or have been completed, then this trigger event should not be used. Instead, the S16 (notification of appointment discontinuation) event should be used.

24.4.5 Notification of Appointment Discontinuation (Event S16) (10.4.5)

A notification of appointment discontinuation is sent by the filler application to notify other applications that an appointment in progress has been stopped, or that the remaining occurrences of a parent appointment will not occur. If none of the child appointments of a parent appointment have taken place, then a cancel trigger event should be sent instead.

24.4.6 Notification of Appointment Deletion (Event S17) (10.4.6)

A notification of appointment deletion is sent by the filler application to other applications when an appointment that had been entered in error has been removed from the system. A delete trigger event should only be used when an appointment has been erroneously scheduled. It must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should not be used for any appointment that has already begun, or that has already been completed. Likewise, it should not be used for any parent appointment if any child appointments have either begun or been completed.

The delete trigger event should be implemented with careful forethought, as it typically has different effects and repercussions in various applications. In some applications, a delete event cannot be undone. This means that if a delete transaction was sent erroneously, recovery will be difficult or impossible. In other applications, a delete transaction will not result in the physical deletion of the record(s), but will set a status or a flag. In these cases, the filler and/or placer appointment identifiers (the numbers or codes that uniquely identify the scheduled appointment or request to the placer and filler applications) probably cannot be reused. Since these applications maintain a record of deleted appointments, the reuse of an identifier will likely cause a conflict in the applications' processing of transactions.

24.4.7 Notification of Addition of Service/Resource on Appointment (Event S18) (10.4.7)

The notification of addition of service/resource is triggered on the filler application when a new service or resource has been added to an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

24.4.8 Notification of Modification of Service/Resource on Appointment (Event S19) (10.4.8)

The notification of modification of service/resource is triggered on the filler application when the information pertaining to an existing service or resource has been changed for an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

This trigger event should not be used when an existing resource or service has been replaced in relation to an existing appointment. Instead, use two other trigger events: S20 (notification of cancellation of service/ resource on appointment), as well as S18 (notification of addition of service/resource on appointment).

24.4.9 Notification of Cancellation of Service/Resource on Appointment (Event S20) (10.4.9)

This trigger event notifies other applications that a service or resource has been removed from an existing scheduled appointment that has not yet begun. A cancel event is used to stop a valid service or resource from participating in the appointment. For example, if a portable X-ray machine scheduled for an exam is no longer needed, then the resource is canceled on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

24.4.10 Notification of Discontinuation of Service/Resource on Appointment (Event S21) (10.4.10)

A notification of discontinuation of service/resource is sent by the filler application to other applications when the remaining children of a parent appointment no longer require a particular service or resource. In other words, this trigger event is sent to discontinue the performance of a service or resource in a parent appointment that has already begun. If the first appointment in a set of recurring appointments has not yet taken place, then a cancel trigger event should be sent instead. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

24.4.11 Notification of Deletion of Service/Resource on Appointment (Event S22) (10.4.11)

A notification of deletion of service/resource is sent by the filler application to other applications when a scheduled appointment requiring a service or resource entered in error has been removed from the system. A delete trigger event should only be used in those circumstances when a service or resource has been erroneously attached to an appointment, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from taking place.

24.4.12 Notification of Blocked Schedule Time Slot(S) (Event S23) (10.4.12)

A notification of blocked schedule time slots is sent by the filler application to other applications when a schedule has had one or more time slots blocked and made unavailable for reasons other than the scheduling of an appointment. For example, if an exam room is unavailable for several hours because of maintenance needs or contamination, a user may block off those several hours on the exam room's schedule. Similarly, if a physician is unavailable because he or she has taken vacation time, his or her schedule may be blocked off for the duration of the vacation. When these types of conditions exist, the filler application may use this transaction to notify other applications that the resources controlled by schedules are unavailable.

24.4.13 Notification of Opened ("un-blocked") Schedule Time Slot(s) (Event S24) (10.4.13)

A notification of blocked schedule time slots is sent by the filler application to other applications when a schedule has one or more time slots open up ("un-blocked") and become available for use. Typically, the blocked period of time on a schedule is simply allowed to expire, because the blocked amount of time is generally used for non-appointment activities. This transaction can be used either to discontinue the blocked status on the schedule, or to reverse a previous block made in error. For the purposes of this transaction, discontinuing a block currently in progress (the blocked period has started, but not yet completed) and canceling a blocked period in the future are not significantly different. Therefore, a separate discontinue block transaction is not necessary. If this transaction is received prior to the inception of a blocked period, then the entire block period is simply canceled according to the data provided in the transaction. If the transaction is received after the blocked period has begun, but prior to the end of the blocked period, then the blocked period is discontinued according to the data provided in the transactions. Applications may decide how to handle transactions that attempt to open a blocked period that has both started and ended in the past; however, these transactions can generally be ignored.

For example, if an exam room has been blocked for several hours because of maintenance activities or contamination, and if the work has been completed ahead of schedule, a user may open those several hours on the exam room's schedule. When such a situation occurs, the filler application may use this transaction to notify other applications that the room is available.

24.4.14 Notification That Patient Did Not Show Up for Scheduled Appointment (Event S26) (10.4.14)

A notification that a patient did not show up for an appointment. For example, if a patient was scheduled for a clinic visit, and never arrived for that appointment, this trigger event can be used to set a status on the appointment record for statistical purposes, as well as to free resources assigned to the appointment (or any other application level actions that must be taken in the event a patient does not appear for an appointment).

Patient Administration events defined in Chapter 3 can be used to indicate that a patient has arrived for an appointment, e.g., A01 (admit/visit notification), A04 (register a patient), A05 (pre-admit a patient), or A10 (patient arriving - tracking) as possible examples. Similarly, Patient Administration transactions can be used to identify the end of an appointment, e.g., A03 (discharge/end visit) or A09 (patient departing - tracking) as possible examples.

24.4.15 Broadcast Notification of Scheduled Appointments (Event S27) (10.4.15)

The broadcast notification of scheduled appointments event is triggered on the filler application in advance of upcoming, active, scheduled appointments according to preset time considerations (i.e., a batch interface in which both the time the messages are to be sent and/or the time/date range of the upcoming appointments-to-be-sent could be configured). Given those configured time considerations, the trigger event includes information for any/all scheduled appointments for the preset event processing period without regard for any new, modified or rescheduled appointment information. Receiving systems should then plan to interchangeably accept and process inbound messages as either new or updated appointment messages. Also, since cancelled or deleted appointments that may have been scheduled for a given processing period are no longer a part of an active, upcoming schedule, information for such appointments should not be included in this event’s processing (other events like the S15 or S17 should still be used for this purpose). This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

24.5 QUERY TRANSACTIONS AND TRIGGER EVENTS (10.5)

Query transactions are the messages and trigger events used between querying applications and filler applications. In Version 2.4 of the Standard, there are several types of queries available. Original mode display-oriented and record-oriented queries are compatible with the queries defined in previous versions of the Standard. New enhanced mode queries include an Embedded Query Language (EQQ), a Virtual Table Query (VQQ), a Stored Procedure Request (SPQ), and an Event Replay Query. Original mode display-oriented queries now have an Enhanced Display Response (EDR) available in Version 2.3. Descriptions and definitions of these query types are found in Chapter 5, section 5.10.4, "Query Trigger Events and Message Definitions."

As the discussion of application roles has indicated above, any one application can have more than one application role. If it is important that applications in your messaging environment that fulfill either the placer or auxiliary application roles be able to query information actively from a filler application's schedule(s), then they must also support the role of a querying application.

24.5.1 Original Mode Queries - Display Oriented (10.5.1)

Retained for backwards compatibility only in version 2.4 and withdrawn as of v2.7; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

24.5.2 Original Mode Queries - Record Oriented (10.5.2)

Retained for backwards compatibility only in version 2.4 and withdraw as of v2.7; refer to Chapter 5 section 5.4. The original mode query and the QRD/QRF segments have been replaced.

24.5.3 SQM/SQR - Schedule Query Message and Response (Event S25) (10.5.3)

Retained for backwards compatibility only in version 2.4 and withdrawn as of v2.7; refer to Chapter 5 section 5.4. The original mode query and the QRD/QRF segments have been replaced.

24.5.4 Enhanced Mode Queries (10.5.4)

Retained for backwards compatibility only in version 2.4 and withdrawn as of v2.7; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

24.6 EXAMPLE TRANSACTIONS (10.7)

24.6.1 Request and Receive New Appointment - Event S01 (10.7.1)

The patient has been seen by his primary care physician, Dr. Patricia Primary, and requires treatment by a cardiologist. The PCP requests a new appointment with Dr. Pump at the North Office. The patient has requested that the appointment be scheduled for a time between January 2nd and January 10th, 2007, and between 8:00 AM and 5:00 PM. Dr. Pump's office responds to the request with an appointment at the North Office at 9:30 AM on January 6, 2007.

MSH|^~\&|PRIMARY|EWHIN|SPOCARD|EWHIN|200701010800||SRM^S01^SRM_S01|090849PRIMARY|P|2.8|||AL|AL|||

ARQ|19940047^SCH001|||||047^Referral||NORMAL|||199401020800^199401101700||||0045^Contact^Carrie^S^^^||||3372^Person^Entered||||

PID||4875439|484848||Everyman^Adam^A^^| |19401121|M|Alias||2222 Home Street^Jay^WA^99021||555-2003|||M|||444-33-3333|||||||||||

DG1|001|I9|786.5|CHEST PAINS|200701010730|W|||||||||||||

DG1|002|I9|412|OLD MYOCARDIAL INFARCTION|200701010730|W|||||||||||||

RGS|001|

AIP|001||032^Pump^Patrick|002^CARDIOLOGIST|||||||NO|

AIL|001|^NORTH OFFICE|002^CLINIC|||||||YES|

MSH|^~\&|PRIMARY|EWHIN|JONES|EWHIN|200701010802||ACK|021244SPOCARD|P|2.8||||||

MSA|CA|090849JONES||||

MSH|^~\&|PRIMARY|EWHIN|JONES|EWHIN|200701010810||SRR^S01^SRR_S01|0934849SPOCARD|P|2.8|||||||

MSA|AA|090849EVERYMAN||||

SCH|2007047^SCH001|2007567^SCH100|||||047^Referral|NORMAL||||0045^Contact^Carrie^C^^^|555-2010|||087^By^Entered^^^^|555-2011||||BOOKED

TQ1||||||30^M|200701060930|200701061000||||||

PID||4875439|484848||Everyman^Adam^A^^||19401121|M|Alias||2222 Home Street^Jay^WA^99021||555-2003|||M|||444-22-3333|||||||||||

RGS|001|

AIP|001|032^Pump^Patrick|002^CARDIOLOGIST|||||||NO|BOOKED

AIL|001|103^NORTH OFFICE|002^CLINIC|||||||NO|BOOKED

MSH|^~\&|PRIMARY|EWHIN|SPOCARD|EWHIN|200701010812||ACK|434532JONES|P|2.8||||||

MSA|CA|0934849SPOCARD||||

24.6.2 Unsolicited Notification of Rescheduled Appointment - Event S13 (10.7.2)

The patient has asked Dr. Pump to reschedule his January 6th appointment. Dr. Primary’s scheduling application (the filler application) sends the PCP, Dr. Primary, a notification that the original appointment has been rescheduled, followed by a notification of the new appointment on January 9th at 1:00 PM.

MSH|^~\&|PRIMARY|EWHIN|JONES|EWHIN|200701040800||SIU^S13^SIU_S12|021244SPOCARD|P|2.8|||AL|ER||

SCH|2007047^SCH001|2007567^SCH100|||||047^Referral|NORMAL||||0045^Contact^Carrie^C^^^|555-2010|||087^By^Entered^^^^|555-2011||||BOOKED

TQ1||||||30^M|200701091300|200701091330||||||

NTE||The patient is going to be on vacation so cannot make previous appointment scheduled on January 6.

PID||4875439|484848||Everyman^Adam^A^^||19401121|M|Alias||2222 Home Street^Jay^WA^99021||555-2003|||M|||444-22-3333|||||||||||

RGS|001|

AIP|001|032^Pump^Patrick|002^CARDIOLOGIST|||||||NO|BOOKED

AIL|001|103^NORTH OFFICE|002^CLINIC|||||||NO|BOOKED

MSH|^~\&|PRIMARY|EWHIN|SPOCARD|EWHIN|200701010802||ACK|035324PRIMARY|P|2.8||||||

MSA|CA|021244SPOCARD||||

24.6.3 Request and Receive New Appointment with Repeating Interval - Event S01 (10.7.3)

The patient has been seen by his specialist, Dr. Specialize, and requires treatment by a physical therapist, Seth Stretcher. Dr. Specialize's office requests a one-hour appointment each day for the next five days. Mr. Stretcher's office responds to the request with an appointment at 9:30 AM on June 20th through June 24th, 2007.

MSH|^~\&|SPECIALIZE|EWHIN|STRETCHER|EWHIN|200706190800||SRM^S01^SRM_S01|03432SPECIALIZE|P|2.8|||AL|AL||

ARQ|20070347^SCH001|||||047^Referral||NORMAL|060|min|200706200930||Q1D|D5|00335^Specialize^Sara^S^^^MD||||A3423^Person^Entered||||

PID||4875439|484848||Everyman^Adam^A^^| |19401121|M|Alias||2222 Home Street^Jay^WA^99021||555-2003|||M||444-33-3333||||||||||

DG1|001|I9|833.00|Closed dislocation wrist|200706190700|||||||||||||

RGS|001|

AIP|001|064^STRETCHER^SETH|097^PHYSICAL THERAPIST|||||||NO|

AIL|001|103^NORTH OFFICE|002^CLINIC|||||||NO|

MSH|^~\&|SPECIALIZE|EWHIN|SMITH|EWHIN|200706190802||ACK|546644STRETCHER|P|2.8||||||

MSA|CA|03432SPECIALIZE||||

MSH|^~\&|STRETCHER|EWHIN|SPECIALIZE|EWHIN|200706190810||SRR^S01^SRR_S01|0654544JONES|P|2.8||||||

MSA|AA|03432SSPECIALIZE||||

SCH|2007037^SCH001|2007297^SCH100|||||047^Referral|NORMAL|| ||0335^Contact^Carrie^C^^^||||064^By^Entered|||||BOOKED

TQ1|||Q1D||5^D|60^M|200706200930|200706240930||||||

PID||4875439|484848||Everyman^Adam^A^^||19401121|M|Alias||2222 Home Street^Jay^WA^99021||555-2003|||M|||444-33-3333|||||||||||

RGS|001|

AIP|001|064^STRETCHER^SETH|097^PHYSICAL THERAPIST|||||||NO|BOOKED

AIL|001|103^NORTH OFFICE|002^CLINIC|||||||NO|BOOKED

MSH|^~\&|SPECIALIZE|EWHIN|STRETCHER|EWHIN|200706190800||ACK|045742SPECIALIZE|P|2.8||||||

MSA|CA|0654544JONES||||

24.7 IMPLEMENTATION CONSIDERATIONS (10.8)

24.7.1 Logical Relationship of Resource and Service Segments (10.8.1)

This chapter implies that the relationship of the repeating resource and service specific segments has a logical "and" relationship. In other words, if more than one AIP segment is sent in a transaction, it is logical to assume that both specified personnel resources are required for the appointment. Currently, there is no way to specify an "or" relationship between the resource and service segments. It is possible to specify a resource type and achieve a similar (but not equivalent) effect.

24.7.2 Multiple Placer Applications (10.8.2)

When implementing the transactions defined in this chapter with multiple placer applications, one must consider the implications of a situation when more than one placer application asks to book, hold, lock, or otherwise reserve the same slot or set of slots on a particular schedule.

This chapter makes no attempt to define attribute ownership (e.g., based on application roles). Ownership is the right to create or update attribute content. If two or more applications attempt simultaneously to update the same attribute(s), deadly update collisions may occur, causing data corruption, unless robust mechanisms for bidding and locking such attributes are in place between applications. This chapter makes no attempt to address data ownership issues or to define attribute bidding and locking mechanisms.

This chapter assumes that the placer and filler applications have put such mechanisms into place, therefore resolving any contention or collision issues at the application level. Further, if such mechanisms have not been implemented by the applications, then this chapter assumes that procedural solutions have been implemented by the healthcare provider organization to resolve contention and collision issues.

24.8 ISSUES (10.9)

None.