{
  "resourceType": "StructureDefinition",
  "id": "47b460b6-e115-4ec8-a386-93e6c396402e",
  "meta": {
    "lastUpdated": "2020-10-08T14:34:20.126+00:00"
  },
  "url": "https://fhir.cambio.se/StructureDefinition/AppointmentBookingSe/v1",
  "name": "AppointmentBookingSe",
  "status": "draft",
  "date": "2020-10-08T14:15:17.5875178Z",
  "description": "AppointmentBooking may be used for booking an appointmet by a patient. An appointment need information about the healthcare service to be performed as well as a slot for it to be booked on.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "ical",
      "uri": "http://ietf.org/rfc/2445",
      "name": "iCalendar"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "https://fhir.cambio.se/StructureDefinition/AppointmentCoreSe",
  "derivation": "constraint",
  "snapshot": {},
  "differential": {
    "element": [
      {
        "id": "Appointment.extension",
        "path": "Appointment.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.extension:serviceProvider",
        "path": "Appointment.extension",
        "sliceName": "serviceProvider",
        "max": "0"
      },
      {
        "id": "Appointment.extension:patientGivenPhoneNumber",
        "path": "Appointment.extension",
        "sliceName": "patientGivenPhoneNumber",
        "short": "Phone number given by patient",
        "definition": "Phone number given by patient when booking the appointment.",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://fhir.cambio.se/StructureDefinition/appointment-patientGivenPhoneNumber"
            ]
          }
        ]
      },
      {
        "id": "Appointment.extension:purposeForVisit",
        "path": "Appointment.extension",
        "sliceName": "purposeForVisit",
        "definition": "Purpose for visit given by the patient when booking an appointment. This is a complementary field to reasonCode, which can be used for a free text description instead of a coded value for the reason for booking the appointment,",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://fhir.cambio.se/StructureDefinition/appointment-purposeForVisit"
            ]
          }
        ]
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "fixedCode": "proposed"
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "max": "0"
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "max": "0"
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "max": "0"
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "max": "1"
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "max": "0"
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "max": "0"
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "max": "0"
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "max": "0"
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "max": "0"
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "max": "0"
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "max": "0"
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "max": "1"
      },
      {
        "id": "Appointment.participant:patient",
        "path": "Appointment.participant",
        "sliceName": "patient",
        "min": 1
      },
      {
        "id": "Appointment.participant:location",
        "path": "Appointment.participant",
        "sliceName": "location",
        "min": 1
      },
      {
        "id": "Appointment.participant:healthcareService",
        "path": "Appointment.participant",
        "sliceName": "healthcareService",
        "min": 1
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "max": "0"
      }
    ]
  }
}