This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
(v5.0.0-snapshot1:
R5
Snapshot
#1).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
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.
This resource is referenced by ImagingSelection and ImagingStudy .
This resource implements the Request pattern.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
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 | instant | Time from appointment, or requested new start time | |
|
0..1 | instant | Time from appointment, or requested new end time | |
|
Σ | 0..* | CodeableConcept |
Role
of
participant
in
the
appointment
|
|
Σ | 0..1 | Reference ( Patient | Group | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location ) |
|
|
?! Σ | 1..1 | code |
accepted
|
declined
|
tentative
|
needs-action
ParticipationStatus ( Required ) |
|
0..1 | string | Additional comments | |
Documentation
for
this
format
|
||||
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> <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><!-- 0..* CodeableConcept Role of participant in the appointment --></participantType>
<| </actor><actor><!-- 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 --> <comment value="[string]"/><!-- 0..1 Additional comments --> </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
"start" : "<instant>", // Time from appointment, or requested new start time
"end" : "<instant>", // Time from appointment, or requested new end time
"participantType" : [{ CodeableConcept }], // Role of participant in the appointment
"|
"actor" : { Reference(Device|Group|HealthcareService|Location|Patient|
Practitioner|PractitionerRole|RelatedPerson) }, // Person(s), Location, HealthcareService, or Device
"participantStatus" : "<code>", // R! accepted | declined | tentative | needs-action
"comment" : "<string>" // Additional comments
}
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:AppointmentResponse.identifier [ Identifier ], ... ; # 0..* External Ids for this item fhir:AppointmentResponse.appointment [ Reference(Appointment) ]; # 1..1 Appointment this response relates to fhir:AppointmentResponse.start [ instant ]; # 0..1 Time from appointment, or requested new start time fhir:AppointmentResponse.end [ instant ]; # 0..1 Time from appointment, or requested new end time fhir:AppointmentResponse.participantType [ CodeableConcept ], ... ; # 0..* Role of participant in the appointment
fhir:|fhir:AppointmentResponse.actor [ Reference(Device|Group|HealthcareService|Location|Patient|Practitioner|PractitionerRole| RelatedPerson) ]; # 0..1 Person(s), Location, HealthcareService, or Device fhir:AppointmentResponse.participantStatus [ code ]; # 1..1 accepted | declined | tentative | needs-action fhir:AppointmentResponse.comment [ string ]; # 0..1 Additional comments ]
Changes since R3
| AppointmentResponse | |
| AppointmentResponse.actor |
|
| AppointmentResponse.participantStatus |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
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 | instant | Time from appointment, or requested new start time | |
|
0..1 | instant | Time from appointment, or requested new end time | |
|
Σ | 0..* | CodeableConcept |
Role
of
participant
in
the
appointment
|
|
Σ | 0..1 | Reference ( Patient | Group | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location ) |
|
|
?! Σ | 1..1 | code |
accepted
|
declined
|
tentative
|
needs-action
ParticipationStatus ( Required ) |
|
0..1 | string | Additional comments | |
Documentation
for
this
format
|
||||
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> <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><!-- 0..* CodeableConcept Role of participant in the appointment --></participantType>
<| </actor><actor><!-- 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 --> <comment value="[string]"/><!-- 0..1 Additional comments --> </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
"start" : "<instant>", // Time from appointment, or requested new start time
"end" : "<instant>", // Time from appointment, or requested new end time
"participantType" : [{ CodeableConcept }], // Role of participant in the appointment
"|
"actor" : { Reference(Device|Group|HealthcareService|Location|Patient|
Practitioner|PractitionerRole|RelatedPerson) }, // Person(s), Location, HealthcareService, or Device
"participantStatus" : "<code>", // R! accepted | declined | tentative | needs-action
"comment" : "<string>" // Additional comments
}
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:AppointmentResponse.identifier [ Identifier ], ... ; # 0..* External Ids for this item fhir:AppointmentResponse.appointment [ Reference(Appointment) ]; # 1..1 Appointment this response relates to fhir:AppointmentResponse.start [ instant ]; # 0..1 Time from appointment, or requested new start time fhir:AppointmentResponse.end [ instant ]; # 0..1 Time from appointment, or requested new end time fhir:AppointmentResponse.participantType [ CodeableConcept ], ... ; # 0..* Role of participant in the appointment
fhir:|fhir:AppointmentResponse.actor [ Reference(Device|Group|HealthcareService|Location|Patient|Practitioner|PractitionerRole| RelatedPerson) ]; # 0..1 Person(s), Location, HealthcareService, or Device fhir:AppointmentResponse.participantStatus [ code ]; # 1..1 accepted | declined | tentative | needs-action fhir:AppointmentResponse.comment [ string ]; # 0..1 Additional comments ]
Changes since Release 3
| AppointmentResponse | |
| AppointmentResponse.actor |
|
| AppointmentResponse.participantStatus |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis a
| Path | Definition | Type | Reference |
|---|---|---|---|
| AppointmentResponse.participantType |
|
Extensible | ParticipantType |
| AppointmentResponse.participantStatus |
|
Required | ParticipationStatus |
| id | 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 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 becomes +11. So, without the additional information as to which time zone it was created in, scheduling a 9am appointment every Wednesday would not be possible.
Search parameters for 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)
( Practitioner , Group , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Location ) | |
| identifier | token | An Identifier in this appointment response | AppointmentResponse.identifier | |
| location | reference | This Response is for this Location |
AppointmentResponse.actor.where(resolve()
is
Location)
( Practitioner , Group , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Location ) |
|
| part-status N | token | The participants acceptance status for this appointment | AppointmentResponse.participantStatus | |
| patient | reference | This Response is for this Patient |
AppointmentResponse.actor.where(resolve()
is
Patient)
( Practitioner , Group , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Location ) |
|
| practitioner | reference | This Response is for this Practitioner |
AppointmentResponse.actor.where(resolve()
is
Practitioner)
( Practitioner , Group , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson , Location ) |