This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0:
R5
-
STU
).
The
This
is
the
current
published
version
which
supercedes
in
it's
permanent
home
(it
will
always
be
available
at
this
version
is
5.0.0
.
URL).
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R5
R4B
R4
R3
R2
Patient
Administration
Work
Group
|
Maturity Level : 3 | Trial Use | Security Category : Patient | Compartments : Device , Patient , Practitioner , RelatedPerson |
A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
Appointment resources are used to provide information about a planned meeting that may be in the future or past. They may be for a single meeting or for a series of repeating visits. Examples include a scheduled surgery, a follow-up for a clinical visit, a scheduled conference call between clinicians to discuss a case, the reservation of a piece of diagnostic equipment for a particular use, etc. The visit scheduled by an appointment may be in person or remote (by phone, video conference, etc.) All that matters is that the time and usage of one or more individuals, locations and/or pieces of equipment is being fully or partially reserved for a designated period of time.
This definition takes the concepts of appointments in a clinical setting and also extends them to be relevant in the community healthcare space, and also ease exposure to other appointment / calendar standards widely used outside of Healthcare.
When
an
appointment
is
required,
a
requester
creates
new
Appointment
resource
with
the
Appointment.status="proposed".
All
included
participants
(optional
or
mandatory)
should
have
the
status="needs-action"
to
allow
filtering
and
displaying
appointments
to
user-participants
for
accepting
or
rejecting
new
and
updated
requests.
Based
on
internal
system
business
rules,
certain
statuses
may
be
automatically
updated,
for
example:
"reject
because
the
requested
participant
is
on
vacation"
or
"this
type
of
user
is
not
allowed
to
request
those
specific
appointments".
The
reply
process
is
simply
performed
by
the
person/system
handing
handling
the
requests
updating
the
participant
statuses
as
needed.
If
there
are
multiple
systems
involved,
then
these
will
create
AppointmentResponse
entries
with
the
desired
statuses.
Once all participants have their participation status created/updated (and the main system marking the appointment participant records with the AppointmentResponse statuses) then the overall status of the Appointment is updated.
To "invalidate" an appointment response it should have the status changed to entered-in-error, or simply delete the resource.
When
a
recurring
appointment
is
requested,
the
participant
may
choose
to
respond
to
each
individual
occurrence,
in
which
case
AppointmentResponse.recurring
should
be
false
.
If
the
participant
chooses
to
respond
the
same
way
for
all
occurrences,
they
may
instead
use
a
single
AppointmentResponse
with
recurring
set
to
true
.
These
may
be
combined
as
the
participant
chooses.
For
example,
they
may
accept
all
occurrences
of
a
series
(recurring
=
true),
but
then
send
a
decline
for
a
specific
occurrence
(recurring
=
false).
For
more
general
information
on
recurring
appointments,
refer
to
the
appointment
page
.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
reply
to
an
appointment
request
for
a
patient
and/or
practitioner(s),
such
as
a
confirmation
or
rejection
+ Rule: Either the participantType or actor must be specified Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Ids
for
this
item
|
|
Σ | 1..1 | Reference ( Appointment ) |
Appointment
this
response
relates
to
|
|
Σ | 0..1 | boolean |
Indicator
for
a
counter
proposal
|
![]() ![]() | 0..1 | instant |
Time
from
appointment,
or
requested
new
start
time
|
|
|
0..1 | instant |
Time
from
appointment,
or
requested
new
end
time
|
|
|
Σ C | 0..* | CodeableConcept |
Role
of
participant
in
the
appointment
Binding: |
|
Σ C | 0..1 | Reference ( Patient | Group | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location ) |
Person(s),
Location,
HealthcareService,
or
Device
|
|
?! Σ | 1..1 | code |
accepted
|
declined
|
tentative
|
needs-action
|
entered-in-error
|
|
0..1 | markdown |
Additional
comments
| |
![]() ![]() | 0..1 | boolean |
This
response
is
for
all
occurrences
in
a
recurring
request
| |
![]() ![]() | 0..1 | date |
Original
date
within
a
recurring
request
| |
![]() ![]() | 0..1 | positiveInt |
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<AppointmentResponse xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this item --></identifier> <appointment><!-- 1..1 Reference(Appointment) Appointment this response relates to --></appointment> <proposedNewTime value="[boolean]"/><!-- 0..1 Indicator for a counter proposal --> <start value="[instant]"/><!-- 0..1 Time from appointment, or requested new start time --> <end value="[instant]"/><!-- 0..1 Time from appointment, or requested new end time -->
<</participantType> <| </actor> < <<participantType><!-- I 0..* CodeableConcept Role of participant in the appointment --></participantType> <actor><!-- I 0..1 Reference(Device|Group|HealthcareService|Location|Patient| Practitioner|PractitionerRole|RelatedPerson) Person(s), Location, HealthcareService, or Device --></actor> <participantStatus value="[code]"/><!-- 1..1 accepted | declined | tentative | needs-action | entered-in-error --> <comment value="[markdown]"/><!-- 0..1 Additional comments --> <recurring value="[boolean]"/><!-- 0..1 This response is for all occurrences in a recurring request --> <occurrenceDate value="[date]"/><!-- 0..1 Original date within a recurring request --> <recurrenceId value="[positiveInt]"/><!-- 0..1 The recurrence ID of the specific recurring request --> </AppointmentResponse>
JSON Template
{
"resourceType" : "AppointmentResponse",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External Ids for this item
"appointment" : { Reference(Appointment) }, // R! Appointment this response relates to
"proposedNewTime" : <boolean>, // Indicator for a counter proposal
"start" : "<instant>", // Time from appointment, or requested new start time
"end" : "<instant>", // Time from appointment, or requested new end time
"
"|
"
"
"participantType" : [{ CodeableConcept }], // I Role of participant in the appointment
"actor" : { Reference(Device|Group|HealthcareService|Location|Patient|
Practitioner|PractitionerRole|RelatedPerson) }, // I Person(s), Location, HealthcareService, or Device
"participantStatus" : "<code>", // R! accepted | declined | tentative | needs-action | entered-in-error
"comment" : "<markdown>", // Additional comments
"recurring" : <boolean>, // This response is for all occurrences in a recurring request
"occurrenceDate" : "<date>", // Original date within a recurring request
"recurrenceId" : "<positiveInt>" // The recurrence ID of the specific recurring request
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:AppointmentResponse; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir:| fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* External Ids for this item fhir:appointment [ Reference(Appointment) ] ; # 1..1 Appointment this response relates to fhir:proposedNewTime [ boolean ] ; # 0..1 Indicator for a counter proposal fhir:start [ instant ] ; # 0..1 Time from appointment, or requested new start time fhir:end [ instant ] ; # 0..1 Time from appointment, or requested new end time fhir:participantType ( [ CodeableConcept ] ... ) ; # 0..* I Role of participant in the appointment fhir:actor [ Reference(Device|Group|HealthcareService|Location|Patient|Practitioner|PractitionerRole| RelatedPerson) ] ; # 0..1 I Person(s), Location, HealthcareService, or Device fhir:participantStatus [ code ] ; # 1..1 accepted | declined | tentative | needs-action | entered-in-error fhir:comment [ markdown ] ; # 0..1 Additional comments fhir:recurring [ boolean ] ; # 0..1 This response is for all occurrences in a recurring request fhir:occurrenceDate [ date ] ; # 0..1 Original date within a recurring request fhir:recurrenceId [ positiveInt ] ; # 0..1 The recurrence ID of the specific recurring request ]
Changes
since
from
both
R4
and
R4B
| AppointmentResponse | |
| AppointmentResponse.proposedNewTime |
|
| AppointmentResponse.actor |
|
| AppointmentResponse.participantStatus |
|
| AppointmentResponse.comment |
|
| AppointmentResponse.recurring |
|
| AppointmentResponse.occurrenceDate |
|
| AppointmentResponse.recurrenceId |
|
See the Full Difference for further information
This
analysis
is
available
for
R4
as
XML
or
JSON
.
Conversions
between
R3
and
R4
for
R4B
as
XML
or
JSON
.
See
R3
<-->
R4
<-->
R5
Conversion
Maps
(status
=
2
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
all
r3
resources
are
valid.)
See
Conversions
Summary
.)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
reply
to
an
appointment
request
for
a
patient
and/or
practitioner(s),
such
as
a
confirmation
or
rejection
+ Rule: Either the participantType or actor must be specified Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Ids
for
this
item
|
|
Σ | 1..1 | Reference ( Appointment ) |
Appointment
this
response
relates
to
|
|
Σ | 0..1 | boolean |
Indicator
for
a
counter
proposal
|
![]() ![]() | 0..1 | instant |
Time
from
appointment,
or
requested
new
start
time
|
|
|
0..1 | instant |
Time
from
appointment,
or
requested
new
end
time
|
|
|
Σ C | 0..* | CodeableConcept |
Role
of
participant
in
the
appointment
Binding: |
|
Σ C | 0..1 | Reference ( Patient | Group | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location ) |
Person(s),
Location,
HealthcareService,
or
Device
|
|
?! Σ | 1..1 | code |
accepted
|
declined
|
tentative
|
needs-action
|
entered-in-error
|
|
0..1 | markdown |
Additional
comments
| |
![]() ![]() |
0..1 | boolean |
This
response
is
for
all
occurrences
in
a
recurring
request
| |
![]() ![]() | 0..1 | date |
Original
date
within
a
recurring
request
| |
![]() ![]() | 0..1 | positiveInt |
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<AppointmentResponse xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this item --></identifier> <appointment><!-- 1..1 Reference(Appointment) Appointment this response relates to --></appointment> <proposedNewTime value="[boolean]"/><!-- 0..1 Indicator for a counter proposal --> <start value="[instant]"/><!-- 0..1 Time from appointment, or requested new start time --> <end value="[instant]"/><!-- 0..1 Time from appointment, or requested new end time -->
<</participantType> <| </actor> < <<participantType><!-- I 0..* CodeableConcept Role of participant in the appointment --></participantType> <actor><!-- I 0..1 Reference(Device|Group|HealthcareService|Location|Patient| Practitioner|PractitionerRole|RelatedPerson) Person(s), Location, HealthcareService, or Device --></actor> <participantStatus value="[code]"/><!-- 1..1 accepted | declined | tentative | needs-action | entered-in-error --> <comment value="[markdown]"/><!-- 0..1 Additional comments --> <recurring value="[boolean]"/><!-- 0..1 This response is for all occurrences in a recurring request --> <occurrenceDate value="[date]"/><!-- 0..1 Original date within a recurring request --> <recurrenceId value="[positiveInt]"/><!-- 0..1 The recurrence ID of the specific recurring request --> </AppointmentResponse>
JSON Template
{
"resourceType" : "AppointmentResponse",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External Ids for this item
"appointment" : { Reference(Appointment) }, // R! Appointment this response relates to
"proposedNewTime" : <boolean>, // Indicator for a counter proposal
"start" : "<instant>", // Time from appointment, or requested new start time
"end" : "<instant>", // Time from appointment, or requested new end time
"
"|
"
"
"participantType" : [{ CodeableConcept }], // I Role of participant in the appointment
"actor" : { Reference(Device|Group|HealthcareService|Location|Patient|
Practitioner|PractitionerRole|RelatedPerson) }, // I Person(s), Location, HealthcareService, or Device
"participantStatus" : "<code>", // R! accepted | declined | tentative | needs-action | entered-in-error
"comment" : "<markdown>", // Additional comments
"recurring" : <boolean>, // This response is for all occurrences in a recurring request
"occurrenceDate" : "<date>", // Original date within a recurring request
"recurrenceId" : "<positiveInt>" // The recurrence ID of the specific recurring request
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:AppointmentResponse; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir:| fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* External Ids for this item fhir:appointment [ Reference(Appointment) ] ; # 1..1 Appointment this response relates to fhir:proposedNewTime [ boolean ] ; # 0..1 Indicator for a counter proposal fhir:start [ instant ] ; # 0..1 Time from appointment, or requested new start time fhir:end [ instant ] ; # 0..1 Time from appointment, or requested new end time fhir:participantType ( [ CodeableConcept ] ... ) ; # 0..* I Role of participant in the appointment fhir:actor [ Reference(Device|Group|HealthcareService|Location|Patient|Practitioner|PractitionerRole| RelatedPerson) ] ; # 0..1 I Person(s), Location, HealthcareService, or Device fhir:participantStatus [ code ] ; # 1..1 accepted | declined | tentative | needs-action | entered-in-error fhir:comment [ markdown ] ; # 0..1 Additional comments fhir:recurring [ boolean ] ; # 0..1 This response is for all occurrences in a recurring request fhir:occurrenceDate [ date ] ; # 0..1 Original date within a recurring request fhir:recurrenceId [ positiveInt ] ; # 0..1 The recurrence ID of the specific recurring request ]
Changes
since
Release
4
from
both
R4
and
R4B
| AppointmentResponse | |
| AppointmentResponse.proposedNewTime |
|
| AppointmentResponse.actor |
|
| AppointmentResponse.participantStatus |
|
| AppointmentResponse.comment |
|
| AppointmentResponse.recurring |
|
| AppointmentResponse.occurrenceDate |
|
| AppointmentResponse.recurrenceId |
|
See the Full Difference for further information
This
analysis
is
available
for
R4
as
XML
or
JSON
.
Conversions
between
R3
and
R4
for
R4B
as
XML
or
JSON
.
See
R3
<-->
R4
<-->
R5
Conversion
Maps
(status
=
2
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
all
r3
resources
are
valid.)
See
Conversions
Summary
.)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| AppointmentResponse.participantType | ParticipantType | Extensible |
This value set defines a set of codes that can be used to indicate how an individual participates in an encounter. |
| AppointmentResponse.participantStatus | AppointmentResponseStatus | Required |
The Participation status for a participant in response to a request for an appointment. |
|
|
Level | Location | Description | Expression |
apr-1
|
Rule | (base) | Either the participantType or actor must be specified | participantType.exists() or actor.exists() |
Recurring
appointments
need
to
have
the
time
zone
timezone
defined
in
which
the
values
were
entered.
Knowing
that
the
start
time
was
at
9:00:00Z+10
does
not
mean
that
the
same
time
in
2
weeks
is
actually
the
same.
For
example,
if
this
was
a
time
in
Brisbane
Australia,
this
time
would
be
the
same
(in
respect
to
its
offset
from
UTC),
however
if
this
was
for
Melbourne
Australia,
during
the
daylight
savings
period
Melbourne
time
zone
timezone
becomes
+11.
So,
without
the
additional
information
as
to
which
time
zone
timezone
it
was
created
in,
scheduling
a
9am
appointment
every
Wednesday
would
not
be
possible.
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| actor | reference | The Person, Location/HealthcareService or Device that this appointment response replies for |
AppointmentResponse.actor
( Practitioner , Group , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Location ) |
|
| appointment | reference | The appointment that the response is attached to |
AppointmentResponse.appointment
( Appointment ) |
|
| group | reference | This Response is for this Group |
AppointmentResponse.actor.where(resolve()
is
Group)
( Group ) | |
| identifier | token | An Identifier in this appointment response | AppointmentResponse.identifier | 65 Resources |
| location | reference | This Response is for this Location |
AppointmentResponse.actor.where(resolve()
is
Location)
( Location ) |
|
| part-status | token | The participants acceptance status for this appointment | AppointmentResponse.participantStatus | |
| patient | reference | This Response is for this Patient |
AppointmentResponse.actor.where(resolve()
is
Patient)
( Patient ) |
66 Resources |
| practitioner | reference | This Response is for this Practitioner |
AppointmentResponse.actor.where(resolve()
is
Practitioner)
( Practitioner ) |