Chapter Chair: |
Alexander de Leon |
Editor: |
Alexander de Leon |
Sponsoring TC: |
Patient Administration |
List Server: |
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.
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.
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.
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.
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:
A unique identification code
The unique identification code for a service or resource describes a specific instance of that service or resource. For tangible resources, this may be a serial number, a location, an employee number, or another unique designation. For services, the identification of a slot on the schedule is usually sufficient for unique identification.
A code describing the type of class of service or resource
This code describes a type or class of service, or resource groups like services or resources together. For services, this is typically a universal service ID similar to the field used in the OBR segment defined in the Order Entry chapter (Chapter 4). This Universal Service ID uniquely identifies clinical services performed in a healthcare provider organization.
For tangible resources, this code may be a model number, a staff classification (such as physician, nurse, physical therapist, etc.), or a kind of room. This kind of information can be used to request a resource from a pool, where a specific instance of the resource scheduled is unknown and unimportant (as long as it is of the specified type or class).
A name or text description of the resource
The name or text description of the resource provides a human-readable identification of the service or resource.
When a resource is associated with an appointment, or is requested for an appointment, the following attributes describe the relationship (or requested relationship):
The start date and time the service or resource is required for the appointment.
The start date and time the service or resource is required for the appointment describes the point at which the service or resource should be made available to the activity. In this specification, this is represented as a positive or negative time offset from the start date and time of the appointment.
The duration for which the service or resource is needed for the appointment.
The duration for which the service or resource is required for the appointment describes how long the service or resource is needed to complete the appointment. By adding the duration to the start date and time, the end date and time can be calculated for the required resource or service within the activity.
Other attributes further describe services and resources. These attributes are communicated, as necessary, in transactions between applications.
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:
A unique placer appointment identification code
The placer appointment identification code uniquely describes an instance of an appointment. It is used in communications between placer and filler applications to identify a particular appointment (or a request for an appointment booking) on the placer application. Except in special circumstances, the code is assigned by the placer application upon making an initial scheduling request. This concept is similar in practice to the placer order number found in Chapter 4, Order Entry.
A unique filler appointment identification code
The filler appointment identification code uniquely describes an instance of an appointment. It is the filler application's counter-part to the placer appointment identification code. It is used in communications between placer and filler applications to identify a particular appointment (or request for an appointment booking) on the filler application. Except under special circumstances, it is assigned by the filler application when an appointment (or a request for an appointment booking) is created by the filler application. This concept is similar in practice to the filler order number found in Chapter 4, Order Entry.
An appointment start date and time
The appointment start date and time describe the beginning of the appointment. In request transactions, the appointment start date and time are expressed as a preference or list of preferences. The filler application uses this expression of preference to book the appointment. Once an appointment has been booked, the start date and time are expressed in the actual scheduled start date and time.
An appointment duration
The appointment duration describes how long the appointment will last, and consequently, the end date and time of the appointment.
Supporting information about service and resource activities includes the following:
Reason codes to describe the reason that the service is occurring or the resource is being used;
Patient information to describe for whom the appointment is taking place, whether the appointment or scheduled activity is for, or related to, a patient;
Requestor information to describe the person responsible for initiating and executing the appointment;
Location information to describe where the appointment is scheduled to occur.
Other attributes further describe appointments. These attributes are communicated as necessary in transactions between applications.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.1 Typical trigger events may be listed as follows: new, cancel, modify, discontinue, reschedule, and delete.
[1] HL7 trigger events are not strictly limited to this definition; however, most trigger events do define state transitions.
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.
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.
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.
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.
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.
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.
An indication that a slot or a set of slots is unavailable for reasons other than booking an appointment.
The act of reserving a slot or set of slots on a schedule for a service or resource.
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.
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.
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.
Recurring (repeating) appointments. For example, a physical therapy appointment may be scheduled every Tuesday at 4:00 PM for three months.
Batteries of appointments. For example, an activity consisting of an appointment with Radiology, an appointment with a specialist, and an appointment with a primary care physician might be scheduled.
Complex appointments. For example, recurring batteries of appointments, or batteries of battery appointments.
Parent appointments can themselves be children to other appointments.
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.
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.
A resource is any person, place or thing that must be reserved prior to its use.
A schedule is the sum of all of the slots related to a service or resource.
A service is any activity that must be scheduled prior to its performance.
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.
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."
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."
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:
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.
Send Application Ack: SRR^S01^SRR_S01
When the MSH-15 value of a SRM^S01^SRM_S01 message is AL or ER or SU, an ACK^S01^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S01^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S01^SRM_S01 message is AL or ER or SU, a SRR^S01^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S01^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S01^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S01^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S02^SRR_S01
When the MSH-15 value of a SRM^S02^SRM_S01 message is AL or ER or SU, an ACK^S02^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S02^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S02^SRM_S01 message is AL or ER or SU, a SRR^S02^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S02^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S02^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S02^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S03^SRR_S01
When the MSH-15 value of a SRM^S03^SRM_S01 message is AL or ER or SU, an ACK^S03^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S03^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S03^SRM_S01 message is AL or ER or SU, a SRR^S03^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S03^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S03^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S03^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S04^SRR_S01
When the MSH-15 value of a SRM^S04^SRM_S01 message is AL or ER or SU, an ACK^S04^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S04^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S04^SRM_S01 message is AL or ER or SU, a SRR^S04^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S04^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S04^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S04^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S05^SRR_S01
When the MSH-15 value of a SRM^S05^SRM_S01 message is AL or ER or SU, an ACK^S05^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S05^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S05^SRM_S01 message is AL or ER or SU, a SRR^S05^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S05^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S05^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S05^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S06^SRR_S01
When the MSH-15 value of a SRM^S06^SRM_S01 message is AL or ER or SU, an ACK^S06^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S06^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S06^SRM_S01 message is AL or ER or SU, a SRR^S06^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S06^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S06^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S06^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S07^SRR_S01
When the MSH-15 value of a SRM^S07^SRM_S01 message is AL or ER or SU, an ACK^S07^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S07^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S07^SRM_S01 message is AL or ER or SU, a SRR^S07^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S07^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S07^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S07^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S08^SRR_S01
When the MSH-15 value of a SRM^S08^SRM_S01 message is AL or ER or SU, an ACK^S08^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S08^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S08^SRM_S01 message is AL or ER or SU, a SRR^S08^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S08^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S08^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S08^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S09^SRR_S01
When the MSH-15 value of a SRM^S09^SRM_S01 message is AL or ER or SU, an ACK^S09^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S09^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S09^SRM_S01 message is AL or ER or SU, a SRR^S09^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S09^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S09^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S09^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S10^SRR_S01
When the MSH-15 value of a SRM^S10^SRM_S01 message is AL or ER or SU, an ACK^S10^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S10^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S10^SRM_S01 message is AL or ER or SU, a SRR^S10^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S10^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S10^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S10^SRR_S01 |
NE, AL, ER, SU | (none) |
Send Application Ack: SRR^S11^SRR_S01
When the MSH-15 value of a SRM^S11^SRM_S01 message is AL or ER or SU, an ACK^S11^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRM^S11^SRM_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRM^S11^SRM_S01 message is AL or ER or SU, a SRR^S11^SRR_S01 message SHALL be sent as an application ack.
When the MSH-16 value of a SRM^S11^SRM_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S11^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: SRR^S11^SRR_S01 |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S01^SRR_S01 message is AL or ER or SU, an ACK^S01^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S01^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S01^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S01^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S01^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S02^SRR_S01 message is AL or ER or SU, an ACK^S02^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S02^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S02^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S02^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S02^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S03^SRR_S01 message is AL or ER or SU, an ACK^S03^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S03^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S03^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S03^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S03^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S04^SRR_S01 message is AL or ER or SU, an ACK^S04^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S04^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S04^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S04^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S04^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S05^SRR_S01 message is AL or ER or SU, an ACK^S05^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S05^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S05^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S05^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S05^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S06^SRR_S01 message is AL or ER or SU, an ACK^S06^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S06^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S06^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S06^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S06^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S07^SRR_S01 message is AL or ER or SU, an ACK^S07^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S07^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S07^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S07^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S07^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S08^SRR_S01 message is AL or ER or SU, an ACK^S08^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S08^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S08^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S08^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S08^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S09^SRR_S01 message is AL or ER or SU, an ACK^S09^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S09^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S09^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S09^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S09^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S10^SRR_S01 message is AL or ER or SU, an ACK^S10^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S10^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S10^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S10^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S10^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
Send An Acknowlegment is never sent in original mode.
When the MSH-15 value of a SRR^S11^SRR_S01 message is AL or ER or SU, an ACK^S11^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SRR^S11^SRR_S01 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SRR^S11^SRR_S01 message is AL or ER or SU, a message SHALL be sent as an application ack.
When the MSH-16 value of a SRR^S11^SRR_S01 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S11^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: |
NE, AL, ER, SU | (none) |
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 acknowledgment may optionally contain an SCH segment and related detail segments describing the actual appointment that was booked.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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:
The trigger events that use this message definition are listed below.
Send Application Ack: ACK^S12^ACK
When the MSH-15 value of a SIU^S12^SIU_S12 message is AL or ER or SU, an ACK^S12^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S12^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S12^SIU_S12 message is AL or ER or SU, an ACK^S12^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S12^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S12^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S12^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S13^ACK
When the MSH-15 value of a SIU^S13^SIU_S12 message is AL or ER or SU, an ACK^S13^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S13^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S13^SIU_S12 message is AL or ER or SU, an ACK^S13^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S13^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S13^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S13^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S14^ACK
When the MSH-15 value of a SIU^S14^SIU_S12 message is AL or ER or SU, an ACK^S14^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S14^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S14^SIU_S12 message is AL or ER or SU, an ACK^S14^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S14^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S14^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S14^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S15^ACK
When the MSH-15 value of a SIU^S15^SIU_S12 message is AL or ER or SU, an ACK^S15^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S15^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S15^SIU_S12 message is AL or ER or SU, an ACK^S15^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S15^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S15^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S15^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S16^ACK
When the MSH-15 value of a SIU^S16^SIU_S12 message is AL or ER or SU, an ACK^S16^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S16^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S16^SIU_S12 message is AL or ER or SU, an ACK^S16^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S16^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S16^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S16^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S17^ACK
When the MSH-15 value of a SIU^S17^SIU_S12 message is AL or ER or SU, an ACK^S17^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S17^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S17^SIU_S12 message is AL or ER or SU, an ACK^S17^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S17^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S17^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S17^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S18^ACK
When the MSH-15 value of a SIU^S18^SIU_S12 message is AL or ER or SU, an ACK^S18^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S18^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S18^SIU_S12 message is AL or ER or SU, an ACK^S18^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S18^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S18^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S18^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S19^ACK
When the MSH-15 value of a SIU^S19^SIU_S12 message is AL or ER or SU, an ACK^S19^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S19^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S19^SIU_S12 message is AL or ER or SU, an ACK^S19^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S19^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S19^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S19^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S20^ACK
When the MSH-15 value of a SIU^S20^SIU_S12 message is AL or ER or SU, an ACK^S20^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S20^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S20^SIU_S12 message is AL or ER or SU, an ACK^S20^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S20^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S20^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S20^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S21^ACK
When the MSH-15 value of a SIU^S21^SIU_S12 message is AL or ER or SU, an ACK^S21^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S21^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S21^SIU_S12 message is AL or ER or SU, an ACK^S21^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S21^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S21^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S21^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S22^ACK
When the MSH-15 value of a SIU^S22^SIU_S12 message is AL or ER or SU, an ACK^S22^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S22^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S22^SIU_S12 message is AL or ER or SU, an ACK^S22^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S22^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S22^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S22^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S23^ACK
When the MSH-15 value of a SIU^S23^SIU_S12 message is AL or ER or SU, an ACK^S23^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S23^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S23^SIU_S12 message is AL or ER or SU, an ACK^S23^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S23^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S23^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S23^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S24^ACK
When the MSH-15 value of a SIU^S24^SIU_S12 message is AL or ER or SU, an ACK^S24^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S24^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S24^SIU_S12 message is AL or ER or SU, an ACK^S24^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S24^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S24^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S24^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S26^ACK
When the MSH-15 value of a SIU^S26^SIU_S12 message is AL or ER or SU, an ACK^S26^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S26^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S26^SIU_S12 message is AL or ER or SU, an ACK^S26^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S26^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S26^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S26^ACK |
NE, AL, ER, SU | (none) |
Send Application Ack: ACK^S27^ACK
When the MSH-15 value of a SIU^S27^SIU_S12 message is AL or ER or SU, an ACK^S27^ACK message SHALL be sent as an immediate ack.
When the MSH-15 value of a SIU^S27^SIU_S12 message is NE or AL or ER or SU, an immediate ack SHALL NOT be sent.
When the MSH-16 value of a SIU^S27^SIU_S12 message is AL or ER or SU, an ACK^S27^ACK message SHALL be sent as an application ack.
When the MSH-16 value of a SIU^S27^SIU_S12 message is NE or AL or ER or SU, an application ack SHALL NOT be sent.
Field | Value | Send Response |
---|---|---|
MSH-15 | AL, ER, SU | immediate ack: ACK^S27^ACK |
NE, AL, ER, SU | (none) | |
MSH-16 | AL, ER, SU | application ack: ACK^S27^ACK |
NE, AL, ER, SU | (none) |
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The ARQ segment defines a request for the booking of an appointment. It is used in transactions sent from an application acting in the role of a placer.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
ARQ | |||||||||
1 | Placer Appointment ID | EI | R | [1..1] | 00860 | ||||
2 | Filler Appointment ID | EI | C | [0..1] | 00861 | ||||
3 | Occurrence Number | NM | C | [0..1] | 00862 | 5 | # | ||
4 | Placer Order Group Number | EI | O | [0..1] | 00218 | ||||
5 | Schedule ID | CWE | O | [0..1] | 00864 | ||||
6 | Request Event Reason | CWE | O | [0..1] | 00865 | ||||
7 | Appointment Reason | CWE | O | [0..1] | 00866 | ||||
8 | Appointment Type | CWE | O | [0..1] | 00867 | ||||
9 | Appointment Duration | NM | O | [0..1] | 00868 | 5 | # | ||
10 | Appointment Duration Units | CNE | O | [0..1] | 00869 | ||||
11 | Requested Start Date/Time Range | DR | O | [0..*] | 00870 | ||||
12 | Priority-ARQ | ST | O | [0..1] | 00871 | 5 | # | ||
13 | Repeating Interval | RI | O | [0..1] | 00872 | ||||
14 | Repeating Interval Duration | ST | O | [0..1] | 00873 | 5 | # | ||
15 | Placer Contact Person | XCN | R | [1..*] | 00874 | ||||
16 | Placer Contact Phone Number | XTN | O | [0..*] | 00875 | ||||
17 | Placer Contact Address | XAD | O | [0..*] | 00876 | ||||
18 | Placer Contact Location | PL | O | [0..1] | 00877 | ||||
19 | Entered By Person | XCN | R | [1..*] | 00878 | ||||
20 | Entered By Phone Number | XTN | O | [0..*] | 00879 | ||||
21 | Entered By Location | PL | O | [0..1] | 00880 | ||||
22 | Parent Placer Appointment ID | EI | O | [0..1] | 00881 | ||||
23 | Parent Filler Appointment ID | EI | O | [0..1] | 00882 | ||||
24 | Placer Order Number | EI | C | [0..*] | 00216 | ||||
25 | Filler Order Number | EI | C | [0..*] | 00217 | ||||
26 | Alternate Placer Order Group Number | EIP | O | [0..1] | 03547 |
The SCH segment contains general information about the scheduled appointment.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
SCH | |||||||||
1 | Placer Appointment ID | EI | C | [0..1] | 00860 | ||||
2 | Filler Appointment ID | EI | C | [0..1] | 00861 | ||||
3 | Occurrence Number | NM | C | [0..1] | 00862 | 5 | # | ||
4 | Placer Order Group Number | EI | O | [0..1] | 00218 | ||||
5 | Schedule ID | CWE | O | [0..1] | 00864 | ||||
6 | Event Reason | CWE | R | [1..1] | 00883 | ||||
7 | Appointment Reason | CWE | O | [0..1] | 00866 | ||||
8 | Appointment Type | CWE | O | [0..1] | 00867 | ||||
9 | Appointment Duration | NM | W | [0..1] | 00868 | 5 | # | ||
10 | Appointment Duration Units | CNE | B | [0..1] | 00869 | ||||
11 | Appointment Timing Quantity | W | [0..1] | 00884 | |||||
12 | Placer Contact Person | XCN | O | [0..*] | 00874 | ||||
13 | Placer Contact Phone Number | XTN | O | [0..1] | 00875 | ||||
14 | Placer Contact Address | XAD | O | [0..*] | 00876 | ||||
15 | Placer Contact Location | PL | O | [0..1] | 00877 | ||||
16 | Filler Contact Person | XCN | R | [1..*] | 00885 | ||||
17 | Filler Contact Phone Number | XTN | O | [0..1] | 00886 | ||||
18 | Filler Contact Address | XAD | O | [0..*] | 00887 | ||||
19 | Filler Contact Location | PL | O | [0..1] | 00888 | ||||
20 | Entered By Person | XCN | R | [1..*] | 00878 | ||||
21 | Entered By Phone Number | XTN | O | [0..*] | 00879 | ||||
22 | Entered By Location | PL | O | [0..1] | 00880 | ||||
23 | Parent Placer Appointment ID | EI | O | [0..1] | 00881 | ||||
24 | Parent Filler Appointment ID | EI | C | [0..1] | 00882 | ||||
25 | Filler Status Code | CWE | O | [0..1] | 00889 | ||||
26 | Placer Order Number | EI | C | [0..*] | 00216 | ||||
27 | Filler Order Number | EI | C | [0..*] | 00217 | ||||
28 | Alternate Placer Order Group Number | EIP | O | [0..1] | 03547 |
The RGS segment is used to identify relationships between resources identified for a scheduled event. This segment can be used, on a site specified basis, to identify groups of resources that are used together within a scheduled event, or to describe some other relationship between resources. To specify related groups of resources within a message, begin each group with an RGS segment, and then follow that RGS with one or more of the Appointment Information segments (AIG, AIL, AIS, or AIP).
If a message does not require any grouping of resources, then specify a single RGS in the message, and follow it with all of the Appointment Information segments for the scheduled event. (At least one RGS segment is required in each message – even if no grouping of resources is required – to allow parsers to properly understand the message.)
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
RGS | |||||||||
1 | Set ID - RGS | SI | R | [1..1] | 01203 | [1..4] | |||
2 | Segment Action Code | ID | C | [0..1] | 00763 | [1..1] | |||
3 | Resource Group ID | CWE | O | [0..1] | 01204 |
The AIS segment contains information about various kinds of services that can be scheduled. Services included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Services not controlled by a schedule are not identified on a schedule request using this segment.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
AIS | |||||||||
1 | Set ID - AIS | SI | R | [1..1] | 00890 | [1..4] | |||
2 | Segment Action Code | ID | C | [0..1] | 00763 | [1..1] | |||
3 | Universal Service Identifier | CWE | R | [1..1] | 00238 | ||||
4 | Start Date/Time | DTM | C | [0..1] | 01202 | ||||
5 | Start Date/Time Offset | NM | C | [0..1] | 00891 | ||||
6 | Start Date/Time Offset Units | CNE | C | [0..1] | 00892 | ||||
7 | Duration | NM | O | [0..1] | 00893 | ||||
8 | Duration Units | CNE | O | [0..1] | 00894 | ||||
9 | Allow Substitution Code | CWE | C | [0..1] | 00895 | ||||
10 | Filler Status Code | CWE | C | [0..1] | 00889 | ||||
11 | Placer Supplemental Service Information | CWE | O | [0..*] | 01474 | ||||
12 | Filler Supplemental Service Information | CWE | O | [0..*] | 01475 |
The AIG segment contains information about various kinds of resources (other than those with specifically defined segments in this chapter) that can be scheduled. Resources included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Resources not controlled by a schedule are not identified on a schedule request using this segment. Resources described by this segment are general kinds of resources, such as equipment, that are identified with a simple identification code.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
AIG | |||||||||
1 | Set ID - AIG | SI | R | [1..1] | 00896 | [1..4] | |||
2 | Segment Action Code | ID | C | [0..1] | 00763 | [1..1] | |||
3 | Resource ID | CWE | C | [0..1] | 00897 | ||||
4 | Resource Type | CWE | R | [1..1] | 00898 | ||||
5 | Resource Group | CWE | O | [0..*] | 00899 | ||||
6 | Resource Quantity | NM | O | [0..1] | 00900 | 5 | # | ||
7 | Resource Quantity Units | CNE | O | [0..1] | 00901 | ||||
8 | Start Date/Time | DTM | C | [0..1] | 01202 | ||||
9 | Start Date/Time Offset | NM | C | [0..1] | 00891 | ||||
10 | Start Date/Time Offset Units | CNE | C | [0..1] | 00892 | ||||
11 | Duration | NM | O | [0..1] | 00893 | ||||
12 | Duration Units | CNE | O | [0..1] | 00894 | ||||
13 | Allow Substitution Code | CWE | C | [0..1] | 00895 | ||||
14 | Filler Status Code | CWE | C | [0..1] | 00889 |
The AIL segment contains information about location resources (meeting rooms, operating rooms, examination rooms, or other locations) that can be scheduled. Resources included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Resources not controlled by a schedule are not identified on a schedule request using this segment. Location resources are identified with this specific segment because of the specific encoding of locations used by the HL7 specification.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
AIL | |||||||||
1 | Set ID - AIL | SI | R | [1..1] | 00902 | [1..4] | |||
2 | Segment Action Code | ID | C | [0..1] | 00763 | [1..1] | |||
3 | Location Resource ID | PL | C | [0..*] | 00903 | ||||
4 | Location Type - AIL | CWE | C | [0..1] | 00904 | ||||
5 | Location Group | CWE | O | [0..1] | 00905 | ||||
6 | Start Date/Time | DTM | C | [0..1] | 01202 | ||||
7 | Start Date/Time Offset | NM | C | [0..1] | 00891 | ||||
8 | Start Date/Time Offset Units | CNE | C | [0..1] | 00892 | ||||
9 | Duration | NM | O | [0..1] | 00893 | ||||
10 | Duration Units | CNE | O | [0..1] | 00894 | ||||
11 | Allow Substitution Code | CWE | C | [0..1] | 00895 | ||||
12 | Filler Status Code | CWE | C | [0..1] | 00889 |
The AIP segment contains information about the personnel types that can be scheduled. Personnel included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Personnel not controlled by a schedule are not identified on a schedule request using this segment. The kinds of personnel described on this segment include any healthcare provider in the institution controlled by a schedule (for example: technicians, physicians, nurses, surgeons, anesthesiologists, or CRNAs).
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
AIP | |||||||||
1 | Set ID - AIP | SI | R | [1..1] | 00906 | [1..4] | |||
2 | Segment Action Code | ID | C | [0..1] | 00763 | [1..1] | |||
3 | Personnel Resource ID | XCN | C | [0..*] | 00913 | ||||
4 | Resource Type | CWE | C | [0..1] | 00907 | ||||
5 | Resource Group | CWE | O | [0..1] | 00899 | ||||
6 | Start Date/Time | DTM | C | [0..1] | 01202 | ||||
7 | Start Date/Time Offset | NM | C | [0..1] | 00891 | ||||
8 | Start Date/Time Offset Units | CNE | C | [0..1] | 00892 | ||||
9 | Duration | NM | O | [0..1] | 00893 | ||||
10 | Duration Units | CNE | O | [0..1] | 00894 | ||||
11 | Allow Substitution Code | CWE | C | [0..1] | 00895 | ||||
12 | Filler Status Code | CWE | C | [0..1] | 00889 |
The APR segment contains parameters and preference specifications used for requesting appointments in the SRM message. It allows placer applications to provide coded parameters and preference indicators to the filler application, to help determine when a requested appointment should be scheduled. An APR segment can be provided in conjunction with either the ARQ segment or any of the service and resource segments (AIG, AIS, AIP, and AIL). If an APR segment appears in conjunction with an ARQ segment, its parameters and preference indicators pertain to the schedule request as a whole. If the APR segment appears with any of the service and resource segments, then its parameters and preferences apply only to the immediately preceding service or resource.
Seq# | Data Element Name | DataType | Usage | Vocabulary | Cardinality | Item # | Length | C.LEN | Flags |
---|---|---|---|---|---|---|---|---|---|
APR | |||||||||
1 | Time Selection Criteria | SCV | O | [0..*] | 00908 | ||||
2 | Resource Selection Criteria | SCV | O | [0..*] | 00909 | ||||
3 | Location Selection Criteria | SCV | O | [0..*] | 00910 | ||||
4 | Slot Spacing Criteria | NM | O | [0..1] | 00911 | 5 | # | ||
5 | Filler Override Criteria | SCV | O | [0..*] | 00912 |
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|^~VALUEamp;|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|^~VALUEamp;|PRIMARY|EWHIN|JONES|EWHIN|200701010802||ACK|021244SPOCARD|P|2.8||||||
MSA|CA|090849JONES||||
MSH|^~VALUEamp;|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|^~VALUEamp;|PRIMARY|EWHIN|SPOCARD|EWHIN|200701010812||ACK|434532JONES|P|2.8||||||
MSA|CA|0934849SPOCARD||||
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|^~VALUEamp;|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|^~VALUEamp;|PRIMARY|EWHIN|SPOCARD|EWHIN|200701010802||ACK|035324PRIMARY|P|2.8||||||
MSA|CA|021244SPOCARD||||
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|^~VALUEamp;|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|^~VALUEamp;|SPECIALIZE|EWHIN|SMITH|EWHIN|200706190802||ACK|546644STRETCHER|P|2.8||||||
MSA|CA|03432SPECIALIZE||||
MSH|^~VALUEamp;|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|^~VALUEamp;|SPECIALIZE|EWHIN|STRETCHER|EWHIN|200706190800||ACK|045742SPECIALIZE|P|2.8||||||
MSA|CA|0654544JONES||||
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.
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.
None.