{
  "resourceType" : "OperationDefinition",
  "id" : "BookAppointment",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: OperationDefinition BookAppointment</b></p><a name=\"BookAppointment\"> </a><a name=\"hcBookAppointment\"> </a><p>URL: [base]/Appointment/$book</p><p>Output parameters Profile:<a href=\"StructureDefinition-portal-find-appointment-bundle.html\">Portal Find Appointment response</a></p><h3>Parameters</h3><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>appointment</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/appointment.html\">Appointment</a> (<a href=\"StructureDefinition-portal-appointment.html\" title=\"https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment\">Appointment Portal</a>)</td><td/><td><div><p>The Appointment to be created, modified, or cancelled.</p>\n<ul>\n<li>CREATE:\n<ul>\n<li>Appointment.id is absent or refers to a non-existing appointment</li>\n<li>Appointment.status is 'pending'</li>\n</ul>\n</li>\n<li>MODIFY:\n<ul>\n<li>Appointment.id identifies an existing appointment</li>\n<li>Appointment.status is 'booked' and details (time, participants, etc.) are updated</li>\n</ul>\n</li>\n<li>CANCEL:\n<ul>\n<li>Appointment.id identifies an existing appointment</li>\n<li>Appointment.status is 'cancelled'</li>\n</ul>\n</li>\n</ul>\n</div></td></tr><tr><td>IN</td><td>appointment-reference</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a> (<a href=\"StructureDefinition-portal-appointment.html\" title=\"https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment\">Appointment Portal</a>)</td><td/><td><div><p>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.</p>\n</div></td></tr><tr><td>IN</td><td>patient-identifier</td><td/><td>1..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#Identifier\">Identifier</a></td><td/><td><div><p>The Patient is identified by their personal number.  | SHOULD be an identifier system from a national FHIR Patient profile.</p>\n</div></td></tr><tr><td>IN</td><td>comment</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The optional comment can be added for additional notes that could be useful for booking, canceling, or modifying an appointment</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>On success, returns a Bundle that SHALL conform to ihe-sched-avail-bundle, containing the resulting Appointment:</p>\n<ul>\n<li>status 'booked' for created or modified appointments</li>\n<li>status 'cancelled' for cancelled appointments</li>\n</ul>\n<p>On error, an OperationOutcome is returned instead of this parameter.</p>\n</div></td></tr></table></div>"
  },
  "url" : "https://canonical.fhir.link/servicewell/wof-portal/OperationDefinition/BookAppointment",
  "version" : "1.0.0",
  "name" : "BookAppointment",
  "title" : "Book / Modify / Cancel Appointment",
  "status" : "active",
  "kind" : "operation",
  "date" : "2026-04-20T08:10:56+00:00",
  "publisher" : "Service Well AB",
  "contact" : [{
    "name" : "Service Well AB",
    "telecom" : [{
      "system" : "url",
      "value" : "https://servicewell.se"
    },
    {
      "system" : "email",
      "value" : "info@servicewell.se"
    }]
  },
  {
    "name" : "Service well",
    "telecom" : [{
      "system" : "email",
      "value" : "info@servicewell.se",
      "use" : "work"
    }]
  }],
  "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.",
  "affectsState" : true,
  "code" : "book",
  "base" : "https://profiles.ihe.net/ITI/Scheduling/OperationDefinition/appointment-book",
  "resource" : ["Appointment"],
  "system" : false,
  "type" : true,
  "instance" : false,
  "outputProfile" : "https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-find-appointment-bundle",
  "parameter" : [{
    "name" : "appointment",
    "use" : "in",
    "min" : 1,
    "max" : "1",
    "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'",
    "type" : "Appointment",
    "targetProfile" : ["https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment"]
  },
  {
    "name" : "appointment-reference",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "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.",
    "type" : "Reference",
    "targetProfile" : ["https://canonical.fhir.link/servicewell/wof-portal/StructureDefinition/portal-appointment"]
  },
  {
    "name" : "patient-identifier",
    "use" : "in",
    "min" : 1,
    "max" : "*",
    "documentation" : "The Patient is identified by their personal number.  | SHOULD be an identifier system from a national FHIR Patient profile. ",
    "type" : "Identifier"
  },
  {
    "name" : "comment",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The optional comment can be added for additional notes that could be useful for booking, canceling, or modifying an appointment",
    "type" : "string"
  },
  {
    "name" : "return",
    "use" : "out",
    "min" : 1,
    "max" : "1",
    "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.",
    "type" : "Bundle"
  }]
}