{
  "resourceType": "StructureDefinition",
  "id": "97b24034-6f70-4601-82bd-ee23f0b09312",
  "url": "https://cloudconnect.cognisantmd.com/fhir/StructureDefinition/Slot",
  "version": "1.02",
  "name": "Slot",
  "status": "draft",
  "description": "Appointment slot resource",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Slot",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Slot",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Slot",
        "path": "Slot"
      },
      {
        "id": "Slot.id",
        "path": "Slot.id"
      },
      {
        "id": "Slot.schedule",
        "path": "Slot.schedule",
        "short": "corresponding Schedule resource",
        "definition": "The schedule resource that this slot defines",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.icanbwell.com/4_0_0/StructureDefinition/pr-schedule"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Slot.appointmentType",
        "path": "Slot.appointmentType",
        "short": "The ",
        "definition": "The appointmentType is used as the optional 'suggestion' for the slot, which should either be blank or match one of the codes provided in the /ValueSet/schedule-code list.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Slot.status",
        "path": "Slot.status",
        "short": "status for the appointment slot",
        "definition": "default to free",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Slot.start",
        "path": "Slot.start",
        "short": "appointment slot start time",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "instant"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Slot.end",
        "path": "Slot.end",
        "short": "appointment slot end time",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "instant"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Slot.appointmentType",
        "path": "Slot.appointmentType",
        "short": "The slot's booking 'suggestion', indicating the types of appointments that should be booked within the slot.",
        "definition": "This appointmentType indicates a 'schedule code' or 'suggestion' that Ocean may act upon when enforcing booking rules that depend on the appointment type. The code should match one of the codes returned in the /ValueSet/schedule-code. See the Online Booking overview for details.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "mustSupport": true
      }
    ]
  }
}