Eden Health grdn.routes.impl.member API

Handlers for sponsor roster members

OpenAPI Specification

eden-health-grdn-routes-impl-member-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: null
  title: Grdn grdn.handler grdn.routes.impl.member API
  description: Eden Health Inc. primary backend API service.
consumes:
- application/json
produces:
- application/json
tags:
- name: grdn.routes.impl.member
  description: Handlers for sponsor roster members
paths:
  /v2/member:
    delete:
      summary: delete-member
      description: Deletes a member record.
      tags:
      - grdn.routes.impl.member
      parameters: []
      responses:
        default:
          description: Default success response.
          schema: {}
    get:
      summary: get-members
      description: "Paginated GET handler for rostered patients. Enriches results with isolation reasons and,\n  if the sponsor is so entitled, vaccination status. Also adds shared-vaccination-card flag."
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: query
        name: day
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: string
        x-allOf:
        - type: string
        - {}
      - in: query
        name: triage-status
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        enum:
        - triage-status/never-taken
        - triage-status/incomplete
        - triage-status/isolate
        - triage-status/cleared
        type: string
      - in: query
        name: worksite
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: string
        allowEmptyValue: true
      - in: query
        name: page-size
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: integer
        format: int64
        minimum: 1
      - in: query
        name: page
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: integer
        format: int64
        minimum: 1
      - in: query
        name: sort-by
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: string
      - in: query
        name: sort-direction
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        enum:
        - desc
        - asc
        type: string
      - in: query
        name: filter
        description: 'origin spec: grdn.specs.member/get-members-params'
        required: false
        type: array
        items:
          type: object
          properties:
            operator:
              enum:
              - <=
              - '>'
              - '>='
              - '!='
              - '='
              - <
              type: string
            field:
              type: string
            value:
              type: string
              x-anyOf:
              - type: string
              - type: number
                format: double
              - type: string
                x-allOf:
                - type: string
                - {}
          required:
          - operator
          - field
          - value
      responses:
        default:
          description: Default success response.
          schema:
            type: array
            items:
              type: object
              properties:
                first-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                athena-document-id:
                  type: integer
                  x-nullable: true
                ingested-version:
                  type: string
                dob: {}
                triage-status:
                  enum:
                  - triage-status/never-taken
                  - triage-status/incomplete
                  - triage-status/isolate
                  - triage-status/cleared
                  type: string
                  x-nullable: true
                last-triage-at:
                  x-nullable: true
                consent-status:
                  type: string
                vaccination-status:
                  type: string
                  x-nullable: true
                last-consent-at:
                  x-anyOf:
                  - {}
                  - type: string
                    x-allOf:
                    - type: string
                    - {}
                id:
                  type: string
                  format: uuid
                email:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                last-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                updated-at: {}
                last-test:
                  type: object
                  properties:
                    type:
                      enum:
                      - rapid_molecular
                      - pcr
                      - rapid_antigen
                      - unknown
                      type: string
                      x-nullable: true
                    result:
                      enum:
                      - none
                      - positive
                      - inconclusive
                      - negative
                      - pending
                      type: string
                      x-nullable: true
                    date-time:
                      x-nullable: true
                    verified:
                      type: boolean
                  required:
                  - type
                  - result
                  - date-time
                  - verified
                  x-nullable: true
                employee-id:
                  type: string
                worksite:
                  type: string
                  x-nullable: true
                created-at: {}
                isolate-reasons:
                  type: string
                phone:
                  type: string
                  x-nullable: true
                mrn:
                  type: integer
                  format: int64
                  minimum: 1
                return-to-work-date:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                  x-anyOf:
                  - type: string
                    x-allOf:
                    - type: string
                    - {}
                  - {}
                  x-nullable: true
                newest-vaccinated-at:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                  x-nullable: true
              required:
              - id
              - created-at
              - email
              - employee-id
              - first-name
              - last-name
              - mrn
              - return-to-work-date
              - updated-at
              - worksite
              - consent-status
              - dob
              - ingested-version
              - last-consent-at
              - last-test
              - last-triage-at
              - phone
              - triage-status
              title: grdn.specs.member/members-details
    put:
      summary: update-member
      description: Updates a member record with the given patient ID.
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: body
        name: grdn.specs.member/update-member-params
        description: 'origin spec: grdn.specs.member/update-member-params'
        schema:
          type: object
          properties:
            sponsor-id:
              type: string
              format: uuid
            employee-id:
              type: string
            patient-id:
              type: string
              format: uuid
          required:
          - sponsor-id
          - employee-id
          - patient-id
          title: grdn.specs.member/update-member-params
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/member/{member-id}:
    get:
      summary: get-member
      description: "GET handler for specific member. Returns the member record enriched with the following:\n  - patient MRN\n  - patient creation time\n  - any covid_registry records' creation time & triage status\n  - isolate reasons and vaccination status, if the sponsor is so entitled\n  - shared-vaccination-card flag"
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: path
        name: member-id
        description: 'origin spec: grdn.specs.member/get-member-params'
        required: true
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema:
            type: object
            properties:
              first-name:
                type: string
                x-allOf:
                - type: string
                - {}
              ingested-version:
                type: string
              dob: {}
              vaccine-details:
                type: array
                items:
                  type: object
                  properties:
                    vaccine-id:
                      type: string
                    manufacturer:
                      enum:
                      - UNK
                      - PFR
                      - MOD
                      - JSN
                      type: string
                    lot-number:
                      type: string
                    vaccinated-at: {}
                    athena-document-id:
                      type: integer
                      x-nullable: true
                    dose:
                      type: integer
                      x-nullable: true
                  required:
                  - vaccine-id
                  - manufacturer
                  - lot-number
                  - vaccinated-at
                  - athena-document-id
                  - dose
              vaccination-status:
                type: string
                x-nullable: true
              patient-id:
                type: string
                format: uuid
              id:
                type: string
                format: uuid
              email:
                type: string
                x-allOf:
                - type: string
                - {}
              last-name:
                type: string
                x-allOf:
                - type: string
                - {}
              updated-at: {}
              covid-registry:
                type: array
                items:
                  type: object
                  properties:
                    created-at:
                      x-nullable: true
                    triage-status:
                      enum:
                      - triage-status/never-taken
                      - triage-status/incomplete
                      - triage-status/isolate
                      - triage-status/cleared
                      type: string
                      x-nullable: true
                    isolate-reasons:
                      type: string
                  required:
                  - created-at
                  - triage-status
                  title: grdn.specs.member/covid-registry-entry
              employee-id:
                type: string
              worksite:
                type: string
                x-nullable: true
              created-at: {}
              isolate-reasons:
                type: string
              phone:
                type: string
                x-nullable: true
              personal-phone:
                type: string
                x-nullable: true
              personal-email:
                type: string
            required:
            - ingested-version
            - id
            - updated-at
            - created-at
            - email
            - last-name
            - first-name
            - phone
            - worksite
            - employee-id
            - patient-id
            - personal-email
            - personal-phone
            - dob
            - covid-registry
            - vaccine-details
            title: grdn.specs.member/get-member-response
  /v2/member/{member-id}/covid-testing:
    get:
      summary: get-covid-testing-results-handler
      description: Gets a member's COVID testing results.
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: path
        name: member-id
        description: 'origin spec: grdn.specs/get-covid-testing-params'
        required: true
        type: string
        format: uuid
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/member/{member-id}/document/vaccine/{document-id}:
    get:
      summary: get-member-vaccine-document-handler
      description: Gets a members vaccine document/card image.
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: path
        name: member-id
        description: 'origin spec: grdn.specs/get-covid-testing-params'
        required: true
        type: string
        format: uuid
      - in: path
        name: document-id
        description: 'origin spec: grdn.specs/get-covid-testing-params'
        required: null
      responses:
        default:
          description: Default success response.
          schema: {}
  /v2/sponsor/{sponsor-id}/members:
    get:
      summary: get-sponsor-members
      description: GET handler for use by Dataz to retrieve a sponsor's members.
      tags:
      - grdn.routes.impl.member
      parameters:
      - in: path
        name: sponsor-id
        description: 'origin spec: grdn.specs.member/get-sponsor-members-params'
        required: true
        type: string
        format: uuid
      - in: query
        name: day
        description: 'origin spec: grdn.specs.member/get-sponsor-members-params'
        required: false
        type: string
        x-allOf:
        - type: string
        - {}
      responses:
        default:
          description: Default success response.
          schema:
            type: array
            items:
              type: object
              properties:
                first-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                athena-document-id:
                  type: integer
                  x-nullable: true
                ingested-version:
                  type: string
                dob: {}
                triage-status:
                  enum:
                  - triage-status/never-taken
                  - triage-status/incomplete
                  - triage-status/isolate
                  - triage-status/cleared
                  type: string
                  x-nullable: true
                last-triage-at:
                  x-nullable: true
                consent-status:
                  type: string
                vaccination-status:
                  type: string
                  x-nullable: true
                last-consent-at:
                  x-anyOf:
                  - {}
                  - type: string
                    x-allOf:
                    - type: string
                    - {}
                id:
                  type: string
                  format: uuid
                email:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                last-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                updated-at: {}
                last-test:
                  type: object
                  properties:
                    type:
                      enum:
                      - rapid_molecular
                      - pcr
                      - rapid_antigen
                      - unknown
                      type: string
                      x-nullable: true
                    result:
                      enum:
                      - none
                      - positive
                      - inconclusive
                      - negative
                      - pending
                      type: string
                      x-nullable: true
                    date-time:
                      x-nullable: true
                    verified:
                      type: boolean
                  required:
                  - type
                  - result
                  - date-time
                  - verified
                  x-nullable: true
                employee-id:
                  type: string
                worksite:
                  type: string
                  x-nullable: true
                created-at: {}
                isolate-reasons:
                  type: string
                phone:
                  type: string
                  x-nullable: true
                mrn:
                  type: integer
                  format: int64
                  minimum: 1
                return-to-work-date:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                  x-anyOf:
                  - type: string
                    x-allOf:
                    - type: string
                    - {}
                  - {}
                  x-nullable: true
                newest-vaccinated-at:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                  x-nullable: true
              required:
              - id
              - created-at
              - email
              - employee-id
              - first-name
              - last-name
              - mrn
              - return-to-work-date
              - updated-at
              - worksite
              - consent-status
              - dob
              - ingested-version
              - last-consent-at
              - last-test
              - last-triage-at
              - phone
              - triage-status
              title: grdn.specs.member/members-details
  /v2/unconsented:
    get:
      summary: get-unconsented
      description: GET handler
      tags:
      - grdn.routes.impl.member
      parameters: []
      responses:
        default:
          description: Default success response.
          schema:
            type: array
            items:
              type: object
              properties:
                first-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                dob: {}
                id:
                  type: string
                  format: uuid
                email:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                last-name:
                  type: string
                  x-allOf:
                  - type: string
                  - {}
                updated-at: {}
                employee-id:
                  type: string
                worksite:
                  type: string
                  x-nullable: true
                created-at: {}
                phone:
                  type: string
                  x-nullable: true
              required:
              - updated-at
              - email
              - last-name
              - first-name
              - worksite
              - phone
              - dob
              - id
              - employee-id
              - created-at
              title: grdn.specs.member/unconsented-member