{
"description": "Creates, modifies, or cancels an Appointment based on the supplied Appointment resource.\\n\\nThis operation corresponds to the IHE ITI Scheduling $book operation and:\\n- CREATES a new Appointment when a new, schedulable Appointment is supplied\\n- MODIFIES an existing Appointment when an updated Appointment is supplied\\n- CANCELS an existing Appointment when a cancellation Appointment is supplied\\n\\nOn success, the operation returns the finalized Appointment in an IHE Scheduled Availability Bundle.",
"_filename": "OperationDefinition-BookAppointment.json",
"package_name": "servicewell.fhir.wof-portal",
"date": "2026-04-20T11:19:47+00:00",
"system": false,
"publisher": "Service Well AB",
"instance": false,
"name": "BookAppointment",
"type": "true",
"experimental": null,
"outputProfile": "https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-find-appointment-bundle",
"resourceType": "OperationDefinition",
"title": "Book / Modify / Cancel Appointment",
"package_version": "1.0.0",
"status": "active",
"id": "d9380bfc-ef19-4340-b747-4176e108a869",
"resource": [ "Appointment" ],
"affectsState": true,
"kind": "operation",
"url": "https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/BookAppointment",
"code": "book",
"base": "https://profiles.ihe.net/ITI/Scheduling/OperationDefinition/appointment-book",
"version": "1.0.0",
"contact": [ {
"name": "Service Well AB",
"telecom": [ {
"value": "https://servicewell.se",
"system": "url"
}, {
"value": "info@servicewell.se",
"system": "email"
} ]
}, {
"name": "Service well",
"telecom": [ {
"use": "work",
"value": "info@servicewell.se",
"system": "email"
} ]
} ],
"parameter": [ {
"max": "1",
"min": 1,
"use": "in",
"name": "appointment",
"type": "Appointment",
"documentation": "The Appointment to be created, modified, or cancelled.\n\n- CREATE:\n - Appointment.id is absent or refers to a non-existing appointment\n - Appointment.status is 'pending'\n- MODIFY:\n - Appointment.id identifies an existing appointment\n - Appointment.status is 'booked' and details (time, participants, etc.) are updated\n- CANCEL:\n - Appointment.id identifies an existing appointment\n - Appointment.status is 'cancelled'",
"targetProfile": [ "https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment" ]
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "appointment-reference",
"type": "Reference",
"documentation": "A resource id for one of proposed Appointments returned by a prior $find operation (e.g., Resource/1234). References can be to an absolute URL, but servers only perform this operation on their own appointments.",
"targetProfile": [ "https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment" ]
}, {
"max": "*",
"min": 1,
"use": "in",
"name": "patient-identifier",
"type": "Identifier",
"documentation": "The Patient is identified by their personal number. | SHOULD be an identifier system from a national FHIR Patient profile. "
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "comment",
"type": "string",
"documentation": "The optional comment can be added for additional notes that could be useful for booking, canceling, or modifying an appointment"
}, {
"max": "1",
"min": 1,
"use": "out",
"name": "return",
"type": "Bundle",
"documentation": "On success, returns a Bundle that SHALL conform to ihe-sched-avail-bundle, containing the resulting Appointment:\n- status 'booked' for created or modified appointments\n- status 'cancelled' for cancelled appointments\n\nOn error, an OperationOutcome is returned instead of this parameter."
} ]
}