Skip to main content
Yosemite CrewDeveloper Docs

Observationtool API

On this page

Manages observation tools: reusable structured questionnaires (a definition plus its typed fields) that a pet parent fills in, producing a submission that can be linked to an appointment or task. Routes under /mobile are called by the mobile app on behalf of a pet parent; routes under /pms are called by the PIMS (Practice Information Management System, the clinic-facing web app), which additionally authors and manages the tool definitions.

Endpoints

GET /mobile/tools

  • Auth: requireMobileAuth
  • Query: category, onlyActive
  • Controller: ObservationToolDefinitionController.list

GET /mobile/tools/:toolId

  • Auth: requireMobileAuth
  • Params: toolId
  • Controller: ObservationToolDefinitionController.getById

POST /mobile/tools/:toolId/submissions

  • Auth: requireMobileAuth
  • Params: toolId
  • Controller: ObservationToolSubmissionController.createFromMobile

POST /mobile/submissions/:submissionId/link-appointment

  • Auth: requireMobileAuth
  • Params: submissionId
  • Controller: ObservationToolSubmissionController.linkAppointment

GET /mobile/tasks/:taskId/preview

  • Auth: requireMobileAuth
  • Params: taskId
  • Controller: ObservationToolSubmissionController.getPreviewByTaskId

GET /pms/tools

  • Auth: requireWebAuth
  • Query: category, onlyActive
  • Controller: ObservationToolDefinitionController.list

GET /pms/tools/:toolId

  • Auth: requireWebAuth
  • Params: toolId
  • Controller: ObservationToolDefinitionController.getById

POST /pms/tools

  • Auth: requireWebAuth
  • Controller: ObservationToolDefinitionController.create
  • Response: 201: JSON

PATCH /pms/tools/:toolId

  • Auth: requireWebAuth
  • Params: toolId
  • Controller: ObservationToolDefinitionController.update

POST /pms/tools/:toolId/archive

  • Auth: requireWebAuth
  • Params: toolId
  • Controller: ObservationToolDefinitionController.archive
  • Response: 204: JSON

GET /pms/submissions

  • Auth: requireWebAuth
  • Controller: ObservationToolSubmissionController.listForPms

GET /pms/submissions/:submissionId

  • Auth: requireWebAuth
  • Params: submissionId
  • Controller: ObservationToolSubmissionController.getById

POST /pms/submissions/:submissionId/link-appointment

  • Auth: requireWebAuth
  • Params: submissionId
  • Controller: ObservationToolSubmissionController.linkAppointment

GET /pms/appointments/:appointmentId/submissions

  • Auth: requireWebAuth
  • Params: appointmentId
  • Controller: ObservationToolSubmissionController.listForAppointment

GET /pms/tasks/:taskId/submission

  • Auth: requireWebAuth
  • Params: taskId
  • Controller: ObservationToolSubmissionController.getByTaskId

GET /pms/tasks/:taskId/preview

  • Auth: requireWebAuth
  • Params: taskId
  • Controller: ObservationToolSubmissionController.getPreviewByTaskId

GET /pms/appointments/:appointmentId/task-previews

  • Auth: requireWebAuth
  • Params: appointmentId
  • Controller: ObservationToolSubmissionController.listTaskPreviewsForAppointment