Sha256: c53a2a1ba259cf7ac3682cf50ed7f69f7ef1e3050155ca9f86a0f2ee53cc1a4d

Contents?: true

Size: 1.47 KB

Versions: 7

Compression:

Stored size: 1.47 KB

Contents

module AthenaHealth
  module Endpoints
    module Appointments
      def all_appointment_types(practice_id:, params: {})
        response = @api.call(
          endpoint: "#{practice_id}/appointmenttypes",
          method: :get,
          params: params
        )

        AppointmentTypeCollection.new(response)
      end

      def open_appointment_slots(practice_id:, department_id:, provider_id:, reason_id:, params: {})
        response = @api.call(
          endpoint: "#{practice_id}/appointments/open",
          method: :get,
          params: params.merge(
            departmentid: department_id,
            providerid: provider_id,
            reasonid: reason_id
          )
        )

        AppointmentCollection.new(response)
      end

      def book_appointment(practice_id:, appointment_id:, patient_id:, reason_id:, params: {})
        response = @api.call(
          endpoint: "#{practice_id}/appointments/#{appointment_id}",
          method: :put,
          params: params.merge(patientid: patient_id, reasonid: reason_id)
        )

        Appointment.new(response.first)
      end

      def all_patient_appointment_reasons(practice_id:, department_id:, provider_id:, params: {})
        response = @api.call(
          endpoint: "#{practice_id}/patientappointmentreasons",
          method: :get,
          params: params.merge!(departmentid: department_id, providerid: provider_id)
        )

        PatientAppointmentReasonCollection.new(response)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
athena_health-0.9.1 lib/athena_health/endpoints/appointments.rb
athena_health-0.9.0 lib/athena_health/endpoints/appointments.rb
athena_health-0.8.9 lib/athena_health/endpoints/appointments.rb
athena_health-0.8.8 lib/athena_health/endpoints/appointments.rb
athena_health-0.8.7 lib/athena_health/endpoints/appointments.rb
athena_health-0.8.6 lib/athena_health/endpoints/appointments.rb
athena_health-0.8.5 lib/athena_health/endpoints/appointments.rb