Eden Health grdn.routes.impl.feedback API

Contains handlers for routes related to Appointments, Cases, Encounters etc.

OpenAPI Specification

eden-health-grdn-routes-impl-feedback-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: null
  title: Grdn grdn.handler grdn.routes.impl.feedback API
  description: Eden Health Inc. primary backend API service.
consumes:
- application/json
produces:
- application/json
tags:
- name: grdn.routes.impl.feedback
  description: Contains handlers for routes related to Appointments, Cases, Encounters etc.
paths:
  /v2/case/{case-id}/feedback:
    post:
      summary: case-feedback-handler
      description: Creates a requested feedback entry for a given patient case.
      tags:
      - grdn.routes.impl.feedback
      parameters:
      - in: path
        name: case-id
        description: 'origin spec: grdn.specs.feedback/case-feedback-handler-params'
        required: true
        type: number
        format: double
      - in: body
        name: grdn.specs.feedback/case-feedback-handler-params
        description: 'origin spec: grdn.specs.feedback/case-feedback-handler-params'
        schema:
          type: object
          properties:
            patient-id:
              type: string
              format: uuid
          required:
          - patient-id
          title: grdn.specs.feedback/case-feedback-handler-params
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              feedback:
                type: object
                properties:
                  type-id:
                    type: string
                  patient-id:
                    type: string
                    format: uuid
                  id:
                    type: string
                    format: uuid
                    x-anyOf:
                    - type: string
                      format: uuid
                    - type: number
                      format: double
                  updated-at: {}
                  submitted-at:
                    x-nullable: true
                  status:
                    type: string
                  created-at: {}
                  type:
                    enum:
                    - case
                    - appointment
                    - pediatrics
                    type: string
                  mrn:
                    type: number
                    format: double
                    x-nullable: true
                  comment:
                    type: string
                    x-nullable: true
                  rating:
                    type: number
                    format: double
                    x-nullable: true
                required:
                - patient-id
                - type
                - type-id
                - mrn
                - updated-at
                - status
                - submitted-at
                - id
                - comment
                - created-at
                - rating
                title: grdn.specs.feedback/feedback
              event:
                type: object
                properties:
                  provider-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  patient-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  id:
                    type: string
                    format: uuid
                  ops-user-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  updated-at: {}
                  event-group:
                    type: string
                  event-data:
                    type: object
                  created-at: {}
                  event-name:
                    type: string
                required:
                - id
                - created-at
                - updated-at
                - event-data
                - event-group
                - event-name
                - ops-user-id
                - provider-id
                - patient-id
                title: grdn.specs.event/event
            required:
            - feedback
            - event
            title: grdn.specs.feedback/case-feedback-handler-response
  /v2/feedback:
    post:
      summary: send-feedback-handler
      description: Sends feedback to all patients with a recent visit
      tags:
      - grdn.routes.impl.feedback
      parameters: []
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/feedback:
    get:
      summary: get-feedback-handler
      description: Gets requested feedback survey for a patient
      tags:
      - grdn.routes.impl.feedback
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs/patient-id-params'
        required: true
        type: string
        format: uuid
      - in: query
        name: funnel-id
        description: 'origin spec: grdn.specs/patient-id-params'
        required: false
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              date:
                type: string
                x-allOf:
                - type: string
                - {}
              department-id:
                type: string
                x-anyOf:
                - type: string
                - type: integer
                  format: int64
              feedback-id:
                type: string
                format: uuid
                x-anyOf:
                - type: string
                  format: uuid
                - type: number
                  format: double
              email:
                type: string
                x-allOf:
                - type: string
                - {}
                x-nullable: true
              feedback-reasons:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      x-anyOf:
                      - type: string
                        format: uuid
                      - type: number
                        format: double
                    label:
                      type: string
                    created-at: {}
                    updated-at: {}
                    department-id:
                      type: string
                      x-anyOf:
                      - type: string
                      - type: integer
                        format: int64
                  required:
                  - id
                  - label
                  - created-at
                  - updated-at
                  - department-id
                  title: grdn.specs.feedback/feedback-reason
              type:
                enum:
                - case
                - appointment
                - pediatrics
                type: string
              type-id:
                type: string
            required:
            - date
            - department-id
            - feedback-id
            - email
            - feedback-reasons
            - type
            - type-id
            title: grdn.specs.feedback/get-feedback-handler-response
    put:
      summary: submit-feedback-handler
      description: Write patient feedback to db and send low rating alert if needed.
      tags:
      - grdn.routes.impl.feedback
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.feedback/submit-feedback-handler-params'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs.feedback/submit-feedback-handler-params
        description: 'origin spec: grdn.specs.feedback/submit-feedback-handler-params'
        schema:
          type: object
          properties:
            feedback-id:
              type: string
              format: uuid
              x-anyOf:
              - type: string
                format: uuid
              - type: number
                format: double
            comment:
              type: string
              allowEmptyValue: true
            deescalation-answer:
              type: string
              allowEmptyValue: true
            rating:
              type: number
              format: double
              allowEmptyValue: true
            reason-ids:
              type: array
              items:
                type: string
                format: uuid
          required:
          - feedback-id
          title: grdn.specs.feedback/submit-feedback-handler-params
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              feedback:
                type: number
                format: double
              reasons:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      x-anyOf:
                      - type: string
                        format: uuid
                      - type: number
                        format: double
                    created-at: {}
                    updated-at: {}
                    patient-feedback-id:
                      type: string
                      format: uuid
                    patient-feedback-reason-id:
                      type: string
                      format: uuid
                  required:
                  - id
                  - created-at
                  - updated-at
                  - patient-feedback-id
                  - patient-feedback-reason-id
                  title: grdn.specs.feedback/reason
              event:
                type: object
                properties:
                  provider-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  patient-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  id:
                    type: string
                    format: uuid
                  ops-user-id:
                    type: string
                    format: uuid
                    x-nullable: true
                  updated-at: {}
                  event-group:
                    type: string
                  event-data:
                    type: object
                  created-at: {}
                  event-name:
                    type: string
                required:
                - id
                - created-at
                - updated-at
                - event-data
                - event-group
                - event-name
                - ops-user-id
                - provider-id
                - patient-id
                title: grdn.specs.event/event
            required:
            - feedback
            - reasons
            - event
            title: grdn.specs.feedback/submit-feedback-handler-response