{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://hl7.org/fhir/json-schema/Appointment", "$ref": "#/definitions/Appointment", "description": "see http://hl7.org/fhir/json.html#schema for information about the FHIR Json Schemas", "definitions": { "Appointment": { "allOf": [ { "$ref": "DomainResource.schema.json/definitions/DomainResource" }, { "description": "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).", "properties": { "resourceType": { "description": "This is a Appointment resource", "type": "string", "enum": [ "Appointment" ] }, "identifier": { "description": "This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).", "type": "array", "items": { "$ref": "Identifier.schema.json/definitions/Identifier" } }, "status": { "description": "The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.", "type": "string", "pattern": "[^\\s]+([\\s]?[^\\s]+)*" }, "status_": { "description": "Extensions for status", "$ref": "Element.schema.json/definitions/Element" }, "serviceCategory": { "description": "A broad categorisation of the service that is to be performed during this appointment.", "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" }, "serviceType": { "description": "The specific service that is to be performed during this appointment.", "type": "array", "items": { "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" } }, "specialty": { "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment.", "type": "array", "items": { "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" } }, "appointmentType": { "description": "The style of appointment or patient that has been booked in the slot (not service type).", "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" }, "reason": { "description": "The reason that this appointment is being scheduled. This is more clinical than administrative.", "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" }, "priority": { "description": "The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).", "type": "number", "pattern": "[0]|([1-9][0-9]*)" }, "priority_": { "description": "Extensions for priority", "$ref": "Element.schema.json/definitions/Element" }, "description": { "description": "The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.", "type": "string" }, "description_": { "description": "Extensions for description", "$ref": "Element.schema.json/definitions/Element" }, "start": { "description": "Date/Time that the appointment is to take place.", "type": "string" }, "start_": { "description": "Extensions for start", "$ref": "Element.schema.json/definitions/Element" }, "end": { "description": "Date/Time that the appointment is to conclude.", "type": "string" }, "end_": { "description": "Extensions for end", "$ref": "Element.schema.json/definitions/Element" }, "minutesDuration": { "description": "Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request).", "type": "number", "pattern": "[1-9][0-9]*" }, "minutesDuration_": { "description": "Extensions for minutesDuration", "$ref": "Element.schema.json/definitions/Element" }, "slot": { "description": "The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot.", "type": "array", "items": { "$ref": "Reference.schema.json/definitions/Reference" } }, "created": { "description": "The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment.", "type": "string", "pattern": "-?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?" }, "created_": { "description": "Extensions for created", "$ref": "Element.schema.json/definitions/Element" }, "comment": { "description": "Additional comments about the appointment.", "type": "string" }, "comment_": { "description": "Extensions for comment", "$ref": "Element.schema.json/definitions/Element" }, "participant": { "description": "List of participants involved in the appointment.", "type": "array", "items": { "$ref": "#/definitions/Appointment.Participant" } } }, "required": [ "participant", "resourceType" ] } ] }, "Appointment.Participant": { "allOf": [ { "$ref": "BackboneElement.schema.json/definitions/BackboneElement" }, { "description": "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).", "properties": { "type": { "description": "Role of participant in the appointment.", "type": "array", "items": { "$ref": "CodeableConcept.schema.json/definitions/CodeableConcept" } }, "actor": { "description": "A Person, Location/HealthcareService or Device that is participating in the appointment.", "$ref": "Reference.schema.json/definitions/Reference" }, "required": { "description": "Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.", "type": "string", "pattern": "[^\\s]+([\\s]?[^\\s]+)*" }, "required_": { "description": "Extensions for required", "$ref": "Element.schema.json/definitions/Element" }, "status": { "description": "Participation status of the Patient.", "type": "string", "pattern": "[^\\s]+([\\s]?[^\\s]+)*" }, "status_": { "description": "Extensions for status", "$ref": "Element.schema.json/definitions/Element" } } } ] } } }