Release 5 Preview #2
Patient Administration Work GroupMaturity Level: N/AStandards Status: Informative Compartments: Not linked to any defined compartments

This is a representation of the json schema for Slot, which is just a part of the full JSON Schema.

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "id": "http://hl7.org/fhir/json-schema/Slot",
  "$ref": "#/definitions/Slot",
  "description": "see http://hl7.org/fhir/json.html#schema for information about the FHIR Json Schemas",
  "definitions": {
    "Slot": {
      "description": "A slot of time on a schedule that may be available for booking appointments.",
      "properties": {
        "resourceType": {
          "description": "This is a Slot resource",
          "const": "Slot"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "$ref": "id.schema.json#/definitions/id"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "Meta.schema.json#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "Narrative.schema.json#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope.",
          "items": {
            "$ref": "ResourceList.schema.json#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. 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.",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element\u0027s descendants. Usually modifier elements provide negation or qualification. 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "External Ids for this item.",
          "items": {
            "$ref": "Identifier.schema.json#/definitions/Identifier"
          },
          "type": "array"
        },
        "serviceCategory": {
          "description": "A broad categorization of the service that is to be performed during this appointment.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "serviceType": {
          "description": "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.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "specialty": {
          "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "appointmentType": {
          "description": "The style of appointment or patient that may be booked in the slot (not service type).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "schedule": {
          "description": "The schedule resource that this slot defines an interval of status information.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "status": {
          "description": "busy | free | busy-unavailable | busy-tentative | entered-in-error.",
          "enum": [
            "busy",
            "free",
            "busy-unavailable",
            "busy-tentative",
            "entered-in-error"
          ]
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "start": {
          "description": "Date/Time that the slot is to begin.",
          "$ref": "#/definitions/instant"
        },
        "_start": {
          "description": "Extensions for start",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "end": {
          "description": "Date/Time that the slot is to conclude.",
          "$ref": "#/definitions/instant"
        },
        "_end": {
          "description": "Extensions for end",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "overbooked": {
          "description": "This slot has already been overbooked, appointments are unlikely to be accepted for this time.",
          "$ref": "#/definitions/boolean"
        },
        "_overbooked": {
          "description": "Extensions for overbooked",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "comment": {
          "description": "Comments on the slot to describe any extended information. Such as custom constraints on the slot.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "additionalProperties": false,
      "required": [
        "schedule",
        "resourceType"
      ]
    }
  }
}