Availability
type: StructureDefinition
node role: treeRoot
id:
  v: Availability
text:
  status:
    v: generated
  div:
    v: Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> <img src="[binary]" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> Availability ΣN Element Availability data for an {item} Elements defined in Ancestors: id, <a href="types.html#Element" title="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 managable, 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.">extension #xD; <img src="[binary]" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Data Type" class="hierarchy"/> period Σ 0..1 Period When the availability applies #xD; <img src="[binary]" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> availableTime ΣC 0..* Element Times the {item} is available + Rule: Cannot include start/end times when selecting all day availability. #xD; daysOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun Binding: Days Of Week (Required) #xD; allDay ΣC 0..1 boolean Always available? i.e. 24 hour service #xD; availableStartTime ΣC 0..1 time Opening time of day (ignored if allDay = true) #xD; availableEndTime ΣC 0..1 time Closing time of day (ignored if allDay = true) #xD; <img src="[binary]" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Element" class="hierarchy"/> notAvailableTime Σ 0..* Element Not available during this time due to provided reason #xD; description Σ 0..1 string Reason presented to the user explaining why time not available #xD; <img src="[binary]" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Data Type" class="hierarchy"/> during Σ 0..1 Period …
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: normative
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
url:
  v: http://hl7.org/fhir/StructureDefinition/Availability
  l: Availability
version:
  v: 6.0.0-ballot4
name:
  v: Availability
status:
  v: active
experimental:
  v: false
date:
  v: 2026-06-25T00:22:29+00:00
publisher:
  v: HL7 International / FHIR Infrastructure
contact:
  telecom:
    system:
      v: url
    value:
      v: http://hl7.org/fhir
contact:
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: Availability Type: Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 6.0.0-ballot4
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: complex-type
abstract:
  v: false
type:
  v: Availability
  l: Availability
base definition:
  v: http://hl7.org/fhir/StructureDefinition/DataType
  l: DataType
derivation:
  v: specialization
snapshot:
  element:
    id:
      v: Availability
    path:
      v: Availability
    short:
      v: Availability data for an {item}
    definition:
      v: Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Availability
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: Availability.id
    path:
      v: Availability.id
    representation:
      v: xmlAttr
    short:
      v: Unique id for inter-element referencing
    definition:
      v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Element.id
      min:
        v: 0
      max:
        v: 1
    type:
      extension:
        value: Url
      code:
        v: http://hl7.org/fhirpath/System.String
        l: System.String
    condition:
      v: ele-1
    is modifier:
      v: false
    is summary:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: Availability.extension
    path:
      v: Availability.extension
    slicing:
      description:
        v: Extensions are always sliced by (at least) url
      rules:
        v: open
    short:
      v: Additional content defined by implementations
    definition:
      v: 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 managable, 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.
    comment:
      v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
    alias:
      v: extensions
    alias:
      v: user content
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Element.extension
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: Extension
        l: Extension
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())

Url
v: string
l: string

v: value

v: url

v: false

v: false

identity:
  v: rim
map:
  v: n/a

id:
  v: Availability.period
path:
  v: Availability.period
short:
  v: When the availability applies
definition:
  v: The period of time when the availability is applicable. For example, you might use this property to indicate the period during the holiday season when you close an hour early.
comment:
  v: The parent resource may have a period that applies to the overall lifecycle of the resource. In those cases, the Availability.availableTime.period property may be considered a more specific description of when that resource is available. Thus it would normally be expected that the Availability.availableTime.period is within the period specified by the containing resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.availableTime
path:
  v: Availability.availableTime
short:
  v: Times the {item} is available
definition:
  v: A collection of times that the {item} is available.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Availability.availableTime
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: av-1
  severity:
    v: error
  human:
    v: Cannot include start/end times when selecting all day availability.
  expression:
    v: allDay.exists().not() or (allDay implies availableStartTime.exists().not() and availableEndTime.exists().not())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Availability
    l: Availability
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.availableTime.id
path:
  v: Availability.availableTime.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Availability.availableTime.extension
path:
  v: Availability.availableTime.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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 managable, 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Availability.availableTime.daysOfWeek
path:
  v: Availability.availableTime.daysOfWeek
short:
  v: mon | tue | wed | thu | fri | sat | sun
definition:
  v: Indicates which days of the week are available between the start and end Times.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Availability.availableTime.daysOfWeek
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: The purpose for which an extended contact detail should be used.
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: DaysOfWeek
  strength:
    v: required
  description:
    v: The purpose for which an extended contact detail should be used.
  value set:
    v: http://hl7.org/fhir/ValueSet/days-of-week|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/days-of-week

id:
  v: Availability.availableTime.allDay
path:
  v: Availability.availableTime.allDay
short:
  v: Always available? i.e. 24 hour service
definition:
  v: Is this always available? (hence times are irrelevant) i.e. 24 hour service.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.availableTime.allDay
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
condition:
  v: av-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.availableTime.availableStartTime
path:
  v: Availability.availableTime.availableStartTime
short:
  v: Opening time of day (ignored if allDay = true)
definition:
  v: The opening time of day. Note: If the AllDay flag is set, then this time is ignored.
comment:
  v: The timezone is expected to be specified or implied by the context this datatype is used.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.availableTime.availableStartTime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: time
    l: time
condition:
  v: av-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.availableTime.availableEndTime
path:
  v: Availability.availableTime.availableEndTime
short:
  v: Closing time of day (ignored if allDay = true)
definition:
  v: The closing time of day. Note: If the AllDay flag is set, then this time is ignored.
comment:
  v: The timezone is expected to be specified or implied by the context this datatype is used.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.availableTime.availableEndTime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: time
    l: time
condition:
  v: av-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.notAvailableTime
path:
  v: Availability.notAvailableTime
short:
  v: Not available during this time due to provided reason
definition:
  v: The {item} is not available during this period of time due to the provided reason.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Availability.notAvailableTime
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.notAvailableTime.id
path:
  v: Availability.notAvailableTime.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Availability.notAvailableTime.extension
path:
  v: Availability.notAvailableTime.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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 managable, 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Availability.notAvailableTime.description
path:
  v: Availability.notAvailableTime.description
short:
  v: Reason presented to the user explaining why time not available
definition:
  v: The reason that can be presented to the user as to why this time is not available.
comment:
  v: The reason will generally be provided to give the textual reason for displaying when the {item} is not available, e.g. 'Closed public holidays' or 'Independence Day'. In cases such as this, the `during` might not be included and local knowledge would be required in such cases (as don't desire to keep updating when the holiday occurs each year). e.g.2: 'Closed for maintenance over the summer' for this example you would want to include the `during` period, unless this was a university hospital and the "summer" period was well known, but would recommend its inclusion anyway.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.notAvailableTime.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Availability.notAvailableTime.during
path:
  v: Availability.notAvailableTime.during
short:
  v: Service not available during this period
definition:
  v: The {item} is not available (seasonally or for a public holiday) during this period.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Availability.notAvailableTime.during
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

element:
  id:
    v: Availability
  path:
    v: Availability
  short:
    v: Availability data for an {item}
  definition:
    v: Availability data for an {item}, declaring what days/times are available, and any exceptions. The exceptions could be textual only, e.g. Public holidays, or could be time period specific and indicate a specific years dates.
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Availability.period
  path:
    v: Availability.period
  short:
    v: When the availability applies
  definition:
    v: The period of time when the availability is applicable. For example, you might use this property to indicate the period during the holiday season when you close an hour early.
  comment:
    v: The parent resource may have a period that applies to the overall lifecycle of the resource. In those cases, the Availability.availableTime.period property may be considered a more specific description of when that resource is available. Thus it would normally be expected that the Availability.availableTime.period is within the period specified by the containing resource.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Period
      l: Period
  is summary:
    v: true
element:
  id:
    v: Availability.availableTime
  path:
    v: Availability.availableTime
  short:
    v: Times the {item} is available
  definition:
    v: A collection of times that the {item} is available.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: Element
      l: Element
  constraint:
    key:
      v: av-1
    severity:
      v: error
    human:
      v: Cannot include start/end times when selecting all day availability.
    expression:
      v: allDay.exists().not() or (allDay implies availableStartTime.exists().not() and availableEndTime.exists().not())
    source:
      v: http://hl7.org/fhir/StructureDefinition/Availability
      l: Availability
  is summary:
    v: true
element:
  id:
    v: Availability.availableTime.daysOfWeek
  path:
    v: Availability.availableTime.daysOfWeek
  short:
    v: mon | tue | wed | thu | fri | sat | sun
  definition:
    v: Indicates which days of the week are available between the start and end Times.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: code
      l: code
  is summary:
    v: true
  binding:
    extension:
      url:
        v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
        l: binding-definition
      value: Markdown
        v: The purpose for which an extended contact detail should be used.
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
        l: elementdefinition-bindingName
      value: String
        v: DaysOfWeek
    strength:
      v: required
    description:
      v: The purpose for which an extended contact detail should be used.
    value set:
      v: http://hl7.org/fhir/ValueSet/days-of-week|6.0.0-ballot4
      l: http://hl7.org/fhir/ValueSet/days-of-week
element:
  id:
    v: Availability.availableTime.allDay
  path:
    v: Availability.availableTime.allDay
  short:
    v: Always available? i.e. 24 hour service
  definition:
    v: Is this always available? (hence times are irrelevant) i.e. 24 hour service.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: boolean
      l: boolean
  condition:
    v: av-1
  is summary:
    v: true
element:
  id:
    v: Availability.availableTime.availableStartTime
  path:
    v: Availability.availableTime.availableStartTime
  short:
    v: Opening time of day (ignored if allDay = true)
  definition:
    v: The opening time of day. Note: If the AllDay flag is set, then this time is ignored.
  comment:
    v: The timezone is expected to be specified or implied by the context this datatype is used.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: time
      l: time
  condition:
    v: av-1
  is summary:
    v: true
element:
  id:
    v: Availability.availableTime.availableEndTime
  path:
    v: Availability.availableTime.availableEndTime
  short:
    v: Closing time of day (ignored if allDay = true)
  definition:
    v: The closing time of day. Note: If the AllDay flag is set, then this time is ignored.
  comment:
    v: The timezone is expected to be specified or implied by the context this datatype is used.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: time
      l: time
  condition:
    v: av-1
  is summary:
    v: true
element:
  id:
    v: Availability.notAvailableTime
  path:
    v: Availability.notAvailableTime
  short:
    v: Not available during this time due to provided reason
  definition:
    v: The {item} is not available during this period of time due to the provided reason.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: Element
      l: Element
  is summary:
    v: true
element:
  id:
    v: Availability.notAvailableTime.description
  path:
    v: Availability.notAvailableTime.description
  short:
    v: Reason presented to the user explaining why time not available
  definition:
    v: The reason that can be presented to the user as to why this time is not available.
  comment:
    v: The reason will generally be provided to give the textual reason for displaying when the {item} is not available, e.g. 'Closed public holidays' or 'Independence Day'. In cases such as this, the `during` might not be included and local knowledge would be required in such cases (as don't desire to keep updating when the holiday occurs each year). e.g.2: 'Closed for maintenance over the summer' for this example you would want to include the `during` period, unless this was a university hospital and the "summer" period was well known, but would recommend its inclusion anyway.

v: 0

v: 1

code:
  v: string
  l: string

v: true

id:
  v: Availability.notAvailableTime.during
path:
  v: Availability.notAvailableTime.during
short:
  v: Service not available during this period
definition:
  v: The {item} is not available (seasonally or for a public holiday) during this period.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Period
    l: Period
is summary:
  v: true