Slot _search

post/Slot/_search
Page View

This resource contains details for available appointment times for a healthcare organization. There may be one or more slots allotted to a particular period of time (e.g., five appointments available per hour) or multiple participants for an appointment.

A Slot resource only includes an indicator for available/busy, not detailed information about available appointments. It’s expected that you'd use this resource to kick off a workflow in your own system to book an appointment.

You can review or retrieve available appointment times.

_search

Query for available appointment times for a given healthcare organization.

This is a flexible option with query parameters to refine your search. The response returns a bundle of resources, known as a searchset bundle type. Learn about bundles and bundle types in our FHIR® glossary.

Request parameters and payload

cURL request example

bash
1
curl 'https://api.redoxengine.com/fhir/R4/{destinationSlug}/{environmentFlag}/Slot/_search' \
2
--request POST \
3
--header 'Authorization: Bearer $API_TOKEN' \
4
--header 'Content-Type: application/x-www-form-urlencoded' \
5
--data-urlencode 'service-type=string' \
6
--data-urlencode 'start=string' \
7
--data-urlencode 'practitioner=string' \
8
--data-urlencode 'practitioner.identifier=string' \
9
--data-urlencode 'location=string' \
10
--data-urlencode 'location.identifier=string' \
11
--data-urlencode 'location.name=string' \
12
--data-urlencode 'location.physical-type=string' \
13
--data-urlencode 'location.name-physical-type=string' \
14
--data-urlencode 'status=string'

Request Body Schema

  • service-type
    Array of string

    The type of appointments that can be booked into the slot

  • start
    Array of string
    Appointment date/time.
    
  • practitioner
    Array of string

    Practitioner(s) to find slots for

  • practitioner.identifier
    Array of string

    One or more external identifiers for the practitioner

  • location
    Array of string

    Location(s) to find slots for

  • location.identifier
    Array of string

    One or more external identifiers for the location

  • location.name
    Array of string

    The location's name.

  • location.physical-type
    Array of string

    The location's physical form

  • location.name-physical-type
    Array of string

    Specify both name and physical-type at once. This is a Redox-specific parameter.

  • status
    Array of string

    The free/busy status of the appointment

Response fields and example

Example payload generated from schema
1
{
2
"resourceType": "Bundle",
3
"type": "searchset",
4
"total": 1,
5
"entry": [
6
{
7
"resource": {
8
"resourceType": "Slot",
9
"id": "RedoxSlotExample",
10
"identifier": [
11
{
12
"system": "urn:redox:example:Slot",
13
"value": "1"
14
}
15
],
16
"status": "free",
17
"serviceType": [
18
{
19
"text": "Office Visit"
20
}
21
],
22
"start": "2022-08-01T14:00:00Z",
23
"end": "2022-08-01T15:00:00Z",
24
"schedule": {
25
"reference": "#RedoxScheduleExample"
26
},
27
"contained": [
28
{
29
"resourceType": "Schedule",
30
"id": "RedoxScheduleExample",
31
"active": true,
32
"actor": [
33
{
34
"reference": "#RedoxPractitionerExamplePat"
35
},
36
{
37
"reference": "#RedoxLocationExampleDepartment"
38
},
39
{
40
"reference": "#RedoxLocationExampleFacility"
41
},
42
{
43
"reference": "#RedoxLocationExampleRoom"
44
}
45
]
46
},
47
{
48
"resourceType": "Practitioner",
49
"id": "RedoxPractitionerExamplePat",
50
"identifier": [
51
{
52
"system": "http://hl7.org/fhir/sid/us-npi",
53
"value": "4356789876"
54
}
55
],
56
"name": [
57
{
58
"given": [
59
"Pat"
60
],
61
"family": "Granite"
62
}
63
],
64
"address": [
65
{
66
"line": [
67
"123 Main St."
68
],
69
"city": "Madison",
70
"district": "Dane",
71
"state": "WI",
72
"postalCode": "53703",
73
"country": "USA"
74
}
75
],
76
"telecom": [
77
{
78
"value": "+16085551234"
79
}
80
]
81
},
82
{
83
"resourceType": "Location",
84
"id": "RedoxLocationExampleDepartment",
85
"identifier": [
86
{
87
"system": "urn:oid:1.2.840.114350.1.13.12345.1.7.2.696570",
88
"value": "3490285621"
89
}
90
],
91
"name": "3N",
92
"type": [
93
{
94
"text": "Inpatient"
95
}
96
],
97
"physicalType": {
98
"coding": [
99
{
100
"code": "wa",
101
"system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
102
"display": "Ward"
103
}
104
],
105
"text": "Department"
106
},
107
"partOf": {
108
"reference": "#RedoxLocationExampleFacility"
109
}
110
},
111
{
112
"resourceType": "Location",
113
"id": "RedoxLocationExampleFacility",
114
"identifier": [
115
{
116
"system": "urn:oid:1.2.840.114350.1.13.12345.1.7.2.696570",
117
"value": "461904242"
118
}
119
],
120
"name": "RES General Hospital",
121
"physicalType": {
122
"coding": [
123
{
124
"code": "si",
125
"system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
126
"display": "Site"
127
}
128
],
129
"text": "Facility"
130
}
131
},
132
{
133
"resourceType": "Location",
134
"id": "RedoxLocationExampleRoom",
135
"identifier": [
136
{
137
"system": "urn:oid:1.2.840.114350.1.13.12345.1.7.2.696570",
138
"value": "6592045611"
139
}
140
],
141
"name": "136",
142
"physicalType": {
143
"coding": [
144
{
145
"code": "ro",
146
"system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
147
"display": "Room"
148
}
149
]
150
},
151
"partOf": {
152
"reference": "#RedoxLocationExampleDepartment"
153
}
154
}
155
]
156
},
157
"search": {
158
"mode": "match"
159
}
160
}
161
]
162
}

    Response to a Slot search operation

  • resourceType
    required, string

    Identifies the type of the resource

    Value: Bundle
  • type
    required, string

    Identifies this bundle as a response to a search

    Value: searchset
  • total
    required, number

    The total number of matches

  • entry
    Array of Slot or Other

    A resource matching the search criteria or related to a matching resource

    • resource
      required, object

      A container for slots of time that may be available for booking appointments.

      • resourceType
        required, string

        Identifies the type of the resource

        Value: Slot
      • schedule
        required, object

        The schedule resource that this slot defines an interval of status information.

        Must be a resource of type Schedule.

        • reference
          string

          A reference to another resource. This is typically either a relative reference which includes the resource type and ID, or an internal reference which starts with # and refers to a contained resource.

      • status
        required, string

        busy | free | busy-unavailable | busy-tentative | entered-in-error.

        Possible Values: busy, free, busy-unavailable, busy-tentative, entered-in-error
      • start
        required, string

        Date/Time that the slot is to begin.

      • end
        required, string

        Date/Time that the slot is to conclude.

      • id
        string

        The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

      • contained
        Array of Schedule, Practitioner or Location

        These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

        • resourceType
          required, string

          Identifies the type of the resource

          Value: Schedule
        • actor
          required, Array of object

          Slots that reference this schedule resource provide the availability details to these referenced resource(s).

          Must reference one of the following types of resources:

          • Practitioner
          • Location
          • reference
            string

            A reference to another resource. This is typically either a relative reference which includes the resource type and ID, or an internal reference which starts with # and refers to a contained resource.

        • id
          string

          The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

        • active
          boolean

          Whether this schedule record is in active use or should not be used (such as was entered in error).

      • identifier
        Array of object

        External Ids for this item.

        • extension
          Array of Boolean, String, CodeableConcept, Coding, HumanName or Reference

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          • url
            required, string

            Source of the definition for the extension code - a logical name or a URL.

          • valueBoolean
            boolean

            A single value for the extension.

        • use
          string

          The purpose of this identifier.

          Possible Values: usual, official, temp, secondary, old (If known)
        • system
          string

          Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

        • value
          string

          The portion of the identifier typically relevant to the user and which is unique within the context of the system.

      • serviceType
        Array of object

        The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource.

        • coding
          Array of object

          A reference to a code defined by a terminology system.

          • system
            string

            The identification of the code system that defines the meaning of the symbol in the code.

          • code
            string

            A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

        • text
          string

          A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

    • search
      required, object

      Information about the search process that lead to the creation of this entry.

      • mode
        required, string

        Identifies the Slot as matching the search parameters

        Value: match