Eden Health grdn.routes.impl.patients API

Contains handlers for routes related to Patients.

OpenAPI Specification

eden-health-grdn-routes-impl-patients-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: null
  title: Grdn grdn.handler grdn.routes.impl.patients API
  description: Eden Health Inc. primary backend API service.
consumes:
- application/json
produces:
- application/json
tags:
- name: grdn.routes.impl.patients
  description: Contains handlers for routes related to Patients.
paths:
  /v2/patient:
    post:
      summary: create-patient-handler
      description: Adjusts how we handle the act of registration of a patient.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: body
        name: grdn.specs/create-patient-params
        description: 'origin spec: grdn.specs/create-patient-params'
        schema:
          type: object
          properties:
            funnel-id:
              type: string
              format: uuid
            first-name:
              type: string
              x-allOf:
              - type: string
              - {}
            ethnicity-id:
              type: string
              format: uuid
            dob:
              type: string
            city:
              type: string
              x-allOf:
              - type: string
              - {}
            preferred-name:
              type: string
              allowEmptyValue: true
            email:
              type: string
              x-allOf:
              - type: string
              - {}
            last-name:
              type: string
              x-allOf:
              - type: string
              - {}
            address2:
              type: string
              allowEmptyValue: true
            race-id:
              type: string
              format: uuid
            language-id:
              type: string
              format: uuid
            address1:
              type: string
              x-allOf:
              - type: string
              - {}
            pronouns:
              type: string
              allowEmptyValue: true
            sponsor:
              type: string
            mobile-phone:
              type: string
              x-allOf:
              - type: string
              - {}
            consent-version:
              type: string
            state:
              type: string
              x-allOf:
              - type: string
              - {}
            password:
              type: string
              x-allOf:
              - type: string
              - {}
            sex:
              enum:
              - ''
              - M
              - F
              type: string
            zip:
              type: string
              x-allOf:
              - type: string
              - {}
            work-email:
              type: string
              x-allOf:
              - type: string
              - {}
          required:
          - email
          - mobile-phone
          - password
          - first-name
          - last-name
          - sex
          - dob
          - address1
          - city
          - state
          - zip
          - sponsor
          - consent-version
          title: grdn.specs/create-patient-params
      responses:
        default:
          description: Default success response.
          schema: {}
    get:
      summary: search-handler
      description: Searches for a patient given search params.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: query
        name: mrn
        description: 'origin spec: grdn.specs/patient-search-params'
        required: false
        type: integer
        format: int64
        minimum: 1
      - in: query
        name: patient-id
        description: 'origin spec: grdn.specs/patient-search-params'
        required: false
        type: string
        format: uuid
      - in: query
        name: sub
        description: 'origin spec: grdn.specs/patient-search-params'
        required: false
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/patient-app-data:
    get:
      summary: get-patient-app-data
      description: Gets patient-specific data relevant to app state. Called on app foreground.
      tags:
      - grdn.routes.impl.patients
      parameters: []
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/validate:
    get:
      summary: validate-patient-handler
      description: validates patient account credentials in cognito during registration.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: query
        name: email
        description: 'origin spec: grdn.specs/validate-patient-params'
        required: false
        type: string
        x-allOf:
        - type: string
        - {}
      - in: query
        name: phone
        description: 'origin spec: grdn.specs/validate-patient-params'
        required: false
        type: string
        x-allOf:
        - type: string
        - {}
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}:
    put:
      summary: update-patient-handler
      description: "Updates patient data (i.e. Athena, Cognito).\n  Requires PUT operations to be idempotent.\n  Sends the user an email letting them know their profile changed."
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs/update-patient-params'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs/update-patient-params
        description: 'origin spec: grdn.specs/update-patient-params'
        schema:
          type: object
          properties:
            first-name:
              type: string
              x-allOf:
              - type: string
              - {}
            ethnicity-id:
              type: string
              format: uuid
            app-language:
              enum:
              - en
              - es
              type: string
            dob:
              type: string
            city:
              type: string
              x-allOf:
              - type: string
              - {}
            preferred-name:
              type: string
              allowEmptyValue: true
            email:
              type: string
              x-allOf:
              - type: string
              - {}
            last-name:
              type: string
              x-allOf:
              - type: string
              - {}
            address2:
              type: string
              allowEmptyValue: true
            race-id:
              type: string
              format: uuid
            language-id:
              type: string
              format: uuid
            address1:
              type: string
              x-allOf:
              - type: string
              - {}
            pronouns:
              type: string
              allowEmptyValue: true
            mobile-phone:
              type: string
              x-allOf:
              - type: string
              - {}
            state:
              type: string
              x-allOf:
              - type: string
              - {}
            sex:
              enum:
              - ''
              - M
              - F
              type: string
            zip:
              type: string
              x-allOf:
              - type: string
              - {}
          title: grdn.specs/update-patient-params
      responses:
        default:
          description: Default success response.
          schema: {}
    get:
      summary: get-patient-handler
      description: Given a patient-id, hydrate all patient data.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: '
        required: null
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/account-info:
    get:
      summary: get-patient-account-info-handler
      description: Given a patient id, return patient account info from Athena, Cognito and Postgres.
      tags:
      - grdn.routes.impl.patients
      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: {}
    put:
      summary: put-patient-account-info-handler
      description: Update patient account info in Athena, Cognito and Postgres for a given patient id.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.patients/patient-account-info-specs'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs.patients/patient-account-info-specs
        description: 'origin spec: grdn.specs.patients/patient-account-info-specs'
        schema:
          type: object
          properties:
            first-name:
              type: string
              x-allOf:
              - type: string
              - {}
            last-name:
              type: string
              x-allOf:
              - type: string
              - {}
            email:
              type: string
              x-allOf:
              - type: string
              - {}
            mobile-phone:
              type: string
              x-allOf:
              - type: string
              - {}
          required:
          - first-name
          - last-name
          - email
          - mobile-phone
          title: grdn.specs.patients/patient-account-info-specs
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/ai-chat-suggestion:
    get:
      summary: ai-chat-suggestion
      description: ''
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.patients/co-pilot-handler-params'
        required: true
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              suggestion:
                type: string
            required:
            - suggestion
            title: grdn.specs.patients/co-pilot-handler-resp
  /v2/patient/{patient-id}/app-language:
    put:
      summary: put-patient-app-language-handler
      description: Updates the patient's preferred app language
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.patients/put-patient-app-language-params-spec'
        required: null
      - in: body
        name: grdn.specs.patients/put-patient-app-language-params-spec
        description: 'origin spec: grdn.specs.patients/put-patient-app-language-params-spec'
        schema:
          type: object
          properties:
            app-language:
              enum:
              - en
              - es
              type: string
          required:
          - app-language
          title: grdn.specs.patients/put-patient-app-language-params-spec
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              app-language:
                enum:
                - en
                - es
                type: string
            required:
            - app-language
            title: grdn.specs.patients/put-patient-app-language-response-spec
  /v2/patient/{patient-id}/case:
    post:
      summary: post-patient-case
      description: Creates a patient case on athena
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.patients/post-patient-case-params-spec'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs.patients/post-patient-case-params-spec
        description: 'origin spec: grdn.specs.patients/post-patient-case-params-spec'
        schema:
          type: object
          properties:
            notes:
              type: string
            pharmacy:
              type: string
            prescription-name:
              type: string
            provider-id:
              type: integer
              format: int64
              x-anyOf:
              - type: integer
                format: int64
              - type: string
            medication-id:
              type: number
              format: double
          required:
          - notes
          - pharmacy
          - prescription-name
          - provider-id
          - medication-id
          title: grdn.specs.patients/post-patient-case-params-spec
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/chart:
    get:
      summary: get-chart-handler
      description: "Given a Patient ID, fetch patient chart info.\n  Gathers Allergies, Medications, and Problems"
      tags:
      - grdn.routes.impl.patients
      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: {}
  /v2/patient/{patient-id}/deactivate:
    put:
      summary: deactivate-patient
      description: Deactivates the patient. Deletes their cognito user.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: '
        required: null
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/headshot:
    get:
      summary: get-headshot-handler
      description: Gets patient headshot.
      tags:
      - grdn.routes.impl.patients
      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: {}
  /v2/patient/{patient-id}/join:
    put:
      summary: join-channels-handler
      description: "For a given patient-id, if a clinician has permission to join a patient's channels,\n   join those channels."
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs/patient-id-params'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs/patient-id-params
        description: 'origin spec: grdn.specs/patient-id-params'
        schema:
          type: object
          properties:
            funnel-id:
              type: string
              format: uuid
          title: grdn.specs/patient-id-params
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/location:
    put:
      summary: location-handler
      description: Updates a patients location given state and time zone or lat/lng.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs/location-params'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs/location-params
        description: 'origin spec: grdn.specs/location-params'
        schema:
          type: object
          properties:
            state:
              type: string
              x-allOf:
              - type: string
              - {}
            lat:
              type: number
              format: float
            lng:
              type: number
              format: float
          required:
          - state
          - lat
          - lng
          title: grdn.specs/location-params
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/pharmacy:
    get:
      summary: get-pharmacy-handler
      description: Given a patient id, fetch their default pharmacy.
      tags:
      - grdn.routes.impl.patients
      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: {}
  /v2/patient/{patient-id}/prescription:
    get:
      summary: get-prescriptions-medications
      description: Get the member's prescriptions medications details.
      tags:
      - grdn.routes.impl.patients
      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: array
            items:
              type: object
              properties:
                end-date:
                  type: string
                  x-nullable: true
                dosage-frequency-unit:
                  type: string
                external-note:
                  type: string
                quantity-value:
                  type: integer
                  format: int64
                dosage-quantity-value:
                  type: integer
                  format: int64
                dosage-duration-value:
                  type: integer
                  format: int64
                name:
                  type: string
                last-updated:
                  type: string
                sig:
                  type: string
                dosage-frequency-value:
                  type: integer
                  format: int64
                medication:
                  type: string
                quantity-unit:
                  type: string
                medication-id:
                  type: number
                  format: double
                refills-allowed:
                  type: integer
                  format: int64
                start-date:
                  type: string
                dosage-duration-unit:
                  type: string
                active:
                  type: boolean
                dosage-quantity-unit:
                  type: string
                dosage-additional-instructions:
                  type: string
              required:
              - medication
              - medication-id
              - last-updated
              - name
              - active
              - start-date
  /v2/patient/{patient-id}/profile:
    get:
      summary: get-patient-profile-handler
      description: Given a patient id, return additional profile data.
      tags:
      - grdn.routes.impl.patients
      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:
              employer-name:
                type: string
              first-name:
                type: string
                x-allOf:
                - type: string
                - {}
              app-language:
                enum:
                - en
                - es
                type: string
              dob:
                type: string
              city:
                type: string
                x-allOf:
                - type: string
                - {}
              address-1:
                type: string
                x-allOf:
                - type: string
                - {}
              preferred-name:
                type: string
                x-nullable: true
              vaccination-status:
                type: string
                x-nullable: true
              patient-id:
                type: string
                format: uuid
              vaccinations:
                type: array
                items:
                  type: object
                  properties:
                    manufacturer:
                      type: string
                      x-nullable: true
                    vaccinated-at:
                      x-nullable: true
                  title: grdn.specs.patients/vaccination
                x-allOf:
                - type: array
                  items:
                    type: object
                    properties:
                      manufacturer:
                        type: string
                        x-nullable: true
                      vaccinated-at:
                        x-nullable: true
                    title: grdn.specs.patients/vaccination
              id:
                type: string
              email:
                type: string
                x-allOf:
                - type: string
                - {}
              sponsor-name:
                type: string
              last-name:
                type: string
                x-allOf:
                - type: string
                - {}
              pronouns:
                type: string
                x-nullable: true
              primary-provider-id:
                type: string
                x-nullable: true
              mobile-phone:
                type: string
                x-allOf:
                - type: string
                - {}
              sponsor-id:
                type: string
                format: uuid
              address-2:
                type: string
                x-nullable: true
              state:
                type: string
                x-allOf:
                - type: string
                - {}
              patient-location:
                type: object
                properties:
                  location-valid:
                    type: boolean
                  combined-statistical-area:
                    type: string
                    x-nullable: true
                  patient-id:
                    type: string
                    format: uuid
                  id:
                    type: string
                    format: uuid
                  updated-at: {}
                  lat-long:
                    type: string
                    x-nullable: true
                  created-at: {}
                  state:
                    type: string
                    x-allOf:
                    - type: string
                    - {}
                  time-zone-id:
                    type: string
                    x-nullable: true
                required:
                - updated-at
                - state
                - lat-long
                - id
                - patient-id
                - location-valid
                - created-at
                - time-zone-id
                - combined-statistical-area
                title: grdn.specs.patients/patient-location
              sex:
                enum:
                - ''
                - M
                - F
                type: string
              membership-valid:
                type: boolean
              zip:
                type: string
                x-allOf:
                - type: string
                - {}
            required:
            - email
            - preferred-name
            - last-name
            - mobile-phone
            - sex
            - employer-name
            - vaccinations
            - city
            - pronouns
            - state
            - first-name
            - patient-location
            - dob
            - vaccination-status
            - primary-provider-id
            - membership-valid
            - zip
            - id
            - sponsor-id
            - sponsor-name
            - address-1
            - address-2
            - patient-id
            - app-language
            title: grdn.specs.patients/get-patient-profile-handler-response
  /v2/patient/{patient-id}/triage-status:
    get:
      summary: get-triage-status-handler
      description: Gets triage status for patient.
      tags:
      - grdn.routes.impl.patients
      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: {}
    post:
      summary: post-triage-status-handler
      description: Creates manual triage status updates by providers.
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs.patients/triage-status-params'
        required: true
        type: string
        format: uuid
      - in: body
        name: grdn.specs.patients/triage-status-params
        description: 'origin spec: grdn.specs.patients/triage-status-params'
        schema:
          type: object
          properties:
            triage-status:
              enum:
              - triage-status/never-taken
              - triage-status/incomplete
              - triage-status/isolate
              - triage-status/cleared
              type: string
            return-to-work-date:
              type: string
              x-allOf:
              - type: string
              - {}
              x-anyOf:
              - type: string
                x-allOf:
                - type: string
                - {}
              - {}
              allowEmptyValue: true
          required:
          - triage-status
          title: grdn.specs.patients/triage-status-params
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              patient-id:
                type: string
                format: uuid
              triage-status:
                enum:
                - triage-status/never-taken
                - triage-status/incomplete
                - triage-status/isolate
                - triage-status/cleared
                type: string
              return-to-work-date:
                type: string
                x-allOf:
                - type: string
                - {}
                x-anyOf:
                - type: string
                  x-allOf:
                  - type: string
                  - {}
                - {}
                x-nullable: true
            required:
            - patient-id
            - triage-status
            title: grdn.specs.patients/triage-status-params
  /v2/patient/{patient-id}/vaccination-status:
    get:
      summary: get-vaccination-status-handler
      description: Return patient vaccination status
      tags:
      - grdn.routes.impl.patients
      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:
              status:
                type: string
            required:
            - status
            title: grdn.specs.patients/get-vaccination-status-response
  /v2/patient/{patient-id}/video-messages:
    get:
      summary: patient-has-had-video-visits-handler
      description: "Given a patient ID, return a boolean indicating whether the patient has had\n   a video visit."
      tags:
      - grdn.routes.impl.patients
      parameters:
      - in: path
        name: patient-id
        description: 'origin spec: grdn.specs/has-had-video-visits-params'
        required: true
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/patient/{patient-id}/visits:
    get:
      summary: get-visits-handler
      description: Gets a patient's visits.
      tags:
      - grdn.routes.impl.patients
      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: array
            items:
              type: object
              properties:
                appointment-id:
                  type: integer
                  format: int64
                  x-anyOf:
                  - type: integer
                    format: int64
                  - type: string
                encounter-visit-name:
                  type: string
                closeduser:
                  type: string
                provider-name:
                  type: string
                  x-nullable: true
                provider-id:
                  type: integer
                  format: int64
                  x-anyOf:
                  - type: integer
                    format: int64
                  - type: string
                sort-date: {}
                provider-first-name:
                  type: string
                appointment-start-date:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                encounter-type:
                  type: string
                department-timezone:
                  type: string
                  x-nullable: true
                after-visit-summary:
                  type: object
                  properties:
                    appointment_id:
                      type: integer
                      format: int64
                    id:
                      type: string
                      format: uuid
                    patient_id:
                      type: string
                    updated-at: {}
                    status:
                      enum:
                      - ready-status
                      - pending-status
                      - sent-status
                      - expired-status
                      type: string
                    created-at: {}
                    content:
                      type: string
                      x-nullable: true
                    provider_id:
                      type: string
                    sending_provider_id:
                     

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eden-health/refs/heads/main/openapi/eden-health-grdn-routes-impl-patients-api-openapi.yml