Skip to main content
Yosemite CrewDeveloper Docs

Treatment Protocol API

On this page

Manages treatment protocol templates for the PIMS (Practice Information Management System, the clinic-facing web app): reusable, species- and category-scoped playbooks made up of steps (tasks, medications, services, or notes) that a clinician can apply to a patient's encounter. All routes are under the /pms namespace and require organisation RBAC (role-based access control) permissions on appointments.

Endpoints

GET /pms/organisation/:organisationId/treatment-protocols

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId
  • Query: species, category, isActive
  • Controller: TreatmentProtocolController.list

POST /pms/organisation/:organisationId/treatment-protocols

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId
  • Body fields: name, description, species, category, steps
  • Controller: TreatmentProtocolController.create
  • Response: 201: JSON

GET /pms/organisation/:organisationId/treatment-protocols/:protocolId

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId
  • Controller: TreatmentProtocolController.get

PUT /pms/organisation/:organisationId/treatment-protocols/:protocolId

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId
  • Body fields: name, description, species, category, isActive
  • Controller: TreatmentProtocolController.update

DELETE /pms/organisation/:organisationId/treatment-protocols/:protocolId

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId
  • Controller: TreatmentProtocolController.archive
  • Response: 204: no content

POST /pms/organisation/:organisationId/treatment-protocols/:protocolId/steps

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId
  • Body fields: stepOrder, stepType, title, description, inventoryItemId, doseValue, doseUnit, routeOfAdmin, frequency, durationDays, assigneeRole, dueDaysFromStart, serviceCode, unitPrice, quantity
  • Controller: TreatmentProtocolController.addStep
  • Response: 201: JSON

DELETE /pms/organisation/:organisationId/treatment-protocols/:protocolId/steps/:stepId

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId, stepId
  • Controller: TreatmentProtocolController.removeStep
  • Response: 204: no content

POST /pms/organisation/:organisationId/treatment-protocols/:protocolId/apply

  • Auth: requireWebAuth
  • RBAC: withOrgPermissions, requirePermission
  • Params: organisationId, protocolId
  • Body fields: encounterId, patientId, appointmentDate
  • Controller: TreatmentProtocolController.apply
  • Response: 201: JSON