Eden Health grdn.routes.impl.patients API
Contains handlers for routes related to Patients.
Contains handlers for routes related to Patients.
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