Release 5

Publish-box (todo)

Example StructureDefinition/Availability (Turtle)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

Raw Turtle (+ also see Turtle/RDF Format Specification)

StructureDefinition for Availability

@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# - resource -------------------------------------------------------------------

[] a fhir:StructureDefinition ;
  fhir:id [ fhir:v "Availability"] ;
  fhir:text [
     fhir:status [ fhir:v "generated" ]
  ] ;
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
     fhir:value [ fhir:v "trial-use" ]
  ] ) ;
  fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Availability"], [ fhir:v "http://hl7.org/fhir/StructureDefinition/Availability"] ;
  fhir:version [ fhir:v "5.0.0"], [ fhir:v "5.0.0"] ;
  fhir:name [ fhir:v "Availability"], [ fhir:v "Availability"] ;
  fhir:status [ fhir:v "draft"], [ fhir:v "draft"] ;
  fhir:experimental [ fhir:v "false"], [ fhir:v "false"] ;
  fhir:date [ fhir:v "2023-03-26T15:21:02+11:00"], [ fhir:v "2023-03-26T15:21:02+11:00"] ;
  fhir:publisher [ fhir:v "HL7 FHIR Standard"], [ fhir:v "HL7 FHIR Standard"] ;
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] )
  ] ) ;
  fhir:description [ fhir:v "Availability Type: Availability data for an {item}."], [ fhir:v "Availability Type: Availability data for an {item}."] ;
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] ) ;
  fhir:fhirVersion [ fhir:v "5.0.0"] ;
  fhir:mapping ( [
     fhir:identity [ fhir:v "rim" ] ;
     fhir:uri [ fhir:v "http://hl7.org/v3" ] ;
     fhir:name [ fhir:v "RIM Mapping" ]
  ] ) ;
  fhir:kind [ fhir:v "complex-type"] ;
  fhir:abstract [ fhir:v "false"] ;
  fhir:type [ fhir:v "Availability"] ;
  fhir:baseDefinition [ fhir:v "http://hl7.org/fhir/StructureDefinition/DataType"] ;
  fhir:derivation [ fhir:v "specialization"] ;
  fhir:snapshot [
     fhir:element ( [
       fhir:id [ fhir:v "Availability" ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
         fhir:value [ fhir:v "trial-use" ]
       ] ) ;
       fhir:path [ fhir:v "Availability" ] ;
       fhir:short [ fhir:v "Availability data for an {item}" ] ;
       fhir:definition [ fhir:v "Availability data for an {item}." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.id" ] ;
       fhir:path [ fhir:v "Availability.id" ] ;
       fhir:representation ( [ fhir:v "xmlAttr" ] ) ;
       fhir:short [ fhir:v "Unique id for inter-element referencing" ] ;
       fhir:definition [ fhir:v "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.id" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
           fhir:value [ fhir:v "id" ]
         ] ) ;
         fhir:code [ fhir:v "http://hl7.org/fhirpath/System.String" ]
       ] ) ;
       fhir:condition ( [ fhir:v "ele-1" ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.extension" ] ;
       fhir:path [ fhir:v "Availability.extension" ] ;
       fhir:slicing [
         fhir:discriminator ( [
           fhir:type [ fhir:v "value" ] ;
           fhir:path [ fhir:v "url" ]
         ] ) ;
         fhir:description [ fhir:v "Extensions are always sliced by (at least) url" ] ;
         fhir:rules [ fhir:v "open" ]
       ] ;
       fhir:short [ fhir:v "Additional content defined by implementations" ] ;
       fhir:definition [ fhir: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." ] ;
       fhir:comment [ fhir: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." ] ;
       fhir:alias ( [ fhir:v "extensions" ] [ fhir:v "user content" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.extension" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Extension" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] [
         fhir:key [ fhir:v "ext-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "Must have either extensions or value[x], not both" ] ;
         fhir:expression [ fhir:v "extension.exists() != value.exists()" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.availableTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime" ] ;
       fhir:short [ fhir:v "Times the {item} is available" ] ;
       fhir:definition [ fhir:v "Times the {item} is available." ] ;
       fhir:requirements [ fhir:v "A collection of times that the {item} is available." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.availableTime" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Element" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "av-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "Cannot include start/end times when selecting all day availability." ] ;
         fhir:expression [ fhir:v "allDay.exists().not() or (allDay implies availableStartTime.exists().not() and availableEndTime.exists().not())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Availability" ]
       ] [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.id" ] ;
       fhir:path [ fhir:v "Availability.availableTime.id" ] ;
       fhir:representation ( [ fhir:v "xmlAttr" ] ) ;
       fhir:short [ fhir:v "Unique id for inter-element referencing" ] ;
       fhir:definition [ fhir:v "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.id" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
           fhir:value [ fhir:v "string" ]
         ] ) ;
         fhir:code [ fhir:v "http://hl7.org/fhirpath/System.String" ]
       ] ) ;
       fhir:condition ( [ fhir:v "ele-1" ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.availableTime.extension" ] ;
       fhir:path [ fhir:v "Availability.availableTime.extension" ] ;
       fhir:slicing [
         fhir:discriminator ( [
           fhir:type [ fhir:v "value" ] ;
           fhir:path [ fhir:v "url" ]
         ] ) ;
         fhir:description [ fhir:v "Extensions are always sliced by (at least) url" ] ;
         fhir:rules [ fhir:v "open" ]
       ] ;
       fhir:short [ fhir:v "Additional content defined by implementations" ] ;
       fhir:definition [ fhir: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." ] ;
       fhir:comment [ fhir: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." ] ;
       fhir:alias ( [ fhir:v "extensions" ] [ fhir:v "user content" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.extension" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Extension" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] [
         fhir:key [ fhir:v "ext-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "Must have either extensions or value[x], not both" ] ;
         fhir:expression [ fhir:v "extension.exists() != value.exists()" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.availableTime.daysOfWeek" ] ;
       fhir:path [ fhir:v "Availability.availableTime.daysOfWeek" ] ;
       fhir:short [ fhir:v "mon | tue | wed | thu | fri | sat | sun" ] ;
       fhir:definition [ fhir:v "mon | tue | wed | thu | fri | sat | sun." ] ;
       fhir:requirements [ fhir:v "Indicates which days of the week are available between the start and end Times." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.availableTime.daysOfWeek" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "code" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:binding [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/binding-definition" ] ;
           fhir:value [ fhir:v "The purpose for which an extended contact detail should be used." ]
         ] [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ] ;
           fhir:value [ fhir:v "DaysOfWeek" ]
         ] ) ;
         fhir:strength [ fhir:v "required" ] ;
         fhir:description [ fhir:v "The purpose for which an extended contact detail should be used." ] ;
         fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/days-of-week|5.0.0" ]
       ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.allDay" ] ;
       fhir:path [ fhir:v "Availability.availableTime.allDay" ] ;
       fhir:short [ fhir:v "Always available? i.e. 24 hour service" ] ;
       fhir:definition [ fhir:v "Always available? i.e. 24 hour service." ] ;
       fhir:requirements [ fhir:v "Is this always available? (hence times are irrelevant) i.e. 24 hour service." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.availableTime.allDay" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "boolean" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.availableStartTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime.availableStartTime" ] ;
       fhir:short [ fhir:v "Opening time of day (ignored if allDay = true)" ] ;
       fhir:definition [ fhir:v "Opening time of day (ignored if allDay = true)." ] ;
       fhir:comment [ fhir:v "The timezone is expected to be specified or implied by the context this datatype is used." ] ;
       fhir:requirements [ fhir:v "The opening time of day. Note: If the AllDay flag is set, then this time is ignored." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.availableTime.availableStartTime" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "time" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.availableEndTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime.availableEndTime" ] ;
       fhir:short [ fhir:v "Closing time of day (ignored if allDay = true)" ] ;
       fhir:definition [ fhir:v "Closing time of day (ignored if allDay = true)." ] ;
       fhir:comment [ fhir:v "The timezone is expected to be specified or implied by the context this datatype is used." ] ;
       fhir:requirements [ fhir:v "The closing time of day. Note: If the AllDay flag is set, then this time is ignored." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.availableTime.availableEndTime" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "time" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime" ] ;
       fhir:short [ fhir:v "Not available during this time due to provided reason" ] ;
       fhir:definition [ fhir:v "Not available during this time due to provided reason." ] ;
       fhir:requirements [ fhir:v "The {item} is not available during this period of time due to the provided reason." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.notAvailableTime" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Element" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.id" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.id" ] ;
       fhir:representation ( [ fhir:v "xmlAttr" ] ) ;
       fhir:short [ fhir:v "Unique id for inter-element referencing" ] ;
       fhir:definition [ fhir:v "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.id" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
           fhir:value [ fhir:v "string" ]
         ] ) ;
         fhir:code [ fhir:v "http://hl7.org/fhirpath/System.String" ]
       ] ) ;
       fhir:condition ( [ fhir:v "ele-1" ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.extension" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.extension" ] ;
       fhir:slicing [
         fhir:discriminator ( [
           fhir:type [ fhir:v "value" ] ;
           fhir:path [ fhir:v "url" ]
         ] ) ;
         fhir:description [ fhir:v "Extensions are always sliced by (at least) url" ] ;
         fhir:rules [ fhir:v "open" ]
       ] ;
       fhir:short [ fhir:v "Additional content defined by implementations" ] ;
       fhir:definition [ fhir: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." ] ;
       fhir:comment [ fhir: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." ] ;
       fhir:alias ( [ fhir:v "extensions" ] [ fhir:v "user content" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Element.extension" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Extension" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] [
         fhir:key [ fhir:v "ext-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "Must have either extensions or value[x], not both" ] ;
         fhir:expression [ fhir:v "extension.exists() != value.exists()" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "n/a" ]
       ] )
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.description" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.description" ] ;
       fhir:short [ fhir:v "Reason presented to the user explaining why time not available" ] ;
       fhir:definition [ fhir:v "Reason presented to the user explaining why time not available." ] ;
       fhir:comment [ fhir: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).\n\ne.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." ] ;
       fhir:requirements [ fhir:v "The reason that can be presented to the user as to why this time is not available." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.notAvailableTime.description" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "string" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.during" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.during" ] ;
       fhir:short [ fhir:v "Service not available during this period" ] ;
       fhir:definition [ fhir:v "Service not available during this period." ] ;
       fhir:requirements [ fhir:v "The {item} is not available (seasonally or for a public holiday) during this period." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Availability.notAvailableTime.during" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Period" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ]
     ] )
  ] ;
  fhir:differential [
     fhir:element ( [
       fhir:id [ fhir:v "Availability" ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
         fhir:value [ fhir:v "trial-use" ]
       ] ) ;
       fhir:path [ fhir:v "Availability" ] ;
       fhir:short [ fhir:v "Availability data for an {item}" ] ;
       fhir:definition [ fhir:v "Availability data for an {item}." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime" ] ;
       fhir:short [ fhir:v "Times the {item} is available" ] ;
       fhir:definition [ fhir:v "Times the {item} is available." ] ;
       fhir:requirements [ fhir:v "A collection of times that the {item} is available." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Element" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "av-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "Cannot include start/end times when selecting all day availability." ] ;
         fhir:expression [ fhir:v "allDay.exists().not() or (allDay implies availableStartTime.exists().not() and availableEndTime.exists().not())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Availability" ]
       ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.daysOfWeek" ] ;
       fhir:path [ fhir:v "Availability.availableTime.daysOfWeek" ] ;
       fhir:short [ fhir:v "mon | tue | wed | thu | fri | sat | sun" ] ;
       fhir:definition [ fhir:v "mon | tue | wed | thu | fri | sat | sun." ] ;
       fhir:requirements [ fhir:v "Indicates which days of the week are available between the start and end Times." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "code" ]
       ] ) ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:binding [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/binding-definition" ] ;
           fhir:value [ fhir:v "The purpose for which an extended contact detail should be used." ]
         ] [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ] ;
           fhir:value [ fhir:v "DaysOfWeek" ]
         ] ) ;
         fhir:strength [ fhir:v "required" ] ;
         fhir:description [ fhir:v "The purpose for which an extended contact detail should be used." ] ;
         fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/days-of-week|5.0.0" ]
       ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.allDay" ] ;
       fhir:path [ fhir:v "Availability.availableTime.allDay" ] ;
       fhir:short [ fhir:v "Always available? i.e. 24 hour service" ] ;
       fhir:definition [ fhir:v "Always available? i.e. 24 hour service." ] ;
       fhir:requirements [ fhir:v "Is this always available? (hence times are irrelevant) i.e. 24 hour service." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "boolean" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.availableStartTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime.availableStartTime" ] ;
       fhir:short [ fhir:v "Opening time of day (ignored if allDay = true)" ] ;
       fhir:definition [ fhir:v "Opening time of day (ignored if allDay = true)." ] ;
       fhir:comment [ fhir:v "The timezone is expected to be specified or implied by the context this datatype is used." ] ;
       fhir:requirements [ fhir:v "The opening time of day. Note: If the AllDay flag is set, then this time is ignored." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "time" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.availableTime.availableEndTime" ] ;
       fhir:path [ fhir:v "Availability.availableTime.availableEndTime" ] ;
       fhir:short [ fhir:v "Closing time of day (ignored if allDay = true)" ] ;
       fhir:definition [ fhir:v "Closing time of day (ignored if allDay = true)." ] ;
       fhir:comment [ fhir:v "The timezone is expected to be specified or implied by the context this datatype is used." ] ;
       fhir:requirements [ fhir:v "The closing time of day. Note: If the AllDay flag is set, then this time is ignored." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "time" ]
       ] ) ;
       fhir:condition ( [ fhir:v "av-1" ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime" ] ;
       fhir:short [ fhir:v "Not available during this time due to provided reason" ] ;
       fhir:definition [ fhir:v "Not available during this time due to provided reason." ] ;
       fhir:requirements [ fhir:v "The {item} is not available during this period of time due to the provided reason." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Element" ]
       ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.description" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.description" ] ;
       fhir:short [ fhir:v "Reason presented to the user explaining why time not available" ] ;
       fhir:definition [ fhir:v "Reason presented to the user explaining why time not available." ] ;
       fhir:comment [ fhir: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).\n\ne.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." ] ;
       fhir:requirements [ fhir:v "The reason that can be presented to the user as to why this time is not available." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "string" ]
       ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] [
       fhir:id [ fhir:v "Availability.notAvailableTime.during" ] ;
       fhir:path [ fhir:v "Availability.notAvailableTime.during" ] ;
       fhir:short [ fhir:v "Service not available during this period" ] ;
       fhir:definition [ fhir:v "Service not available during this period." ] ;
       fhir:requirements [ fhir:v "The {item} is not available (seasonally or for a public holiday) during this period." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Period" ]
       ] ) ;
       fhir:isSummary [ fhir:v "true" ]
     ] )
  ] .

# -------------------------------------------------------------------------------------


Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.