openapi: 3.0.0 info: version: 1.0.19-oas3 title: AlayaCare Accounting Accounts referral sys_admin API description: '**AlayaCare IDs:** The following terms are used to reference IDs that identify resources in AlayaCare: - id - visit_id - premium_id - visit_premium_id - employee_id - cost_centre_id - client_id **External IDs** The following terms are used to reference IDs that identify resources systems external to AlayaCare: - employee_external_id - client_external_id External IDs are required to be unique. No other assumptions are made regarding their format they are treated as strings. ' servers: - url: https://example.alayacare.com/ext/api/v2/accounting security: - basic_auth: [] tags: - name: referral sys_admin paths: /v1/sys_admin/referrals: get: tags: - referral sys_admin description: '# Authorization Required role: `sys_admin` # Description Get a collection of referrals. ' parameters: - in: query name: demand_persona_id schema: type: string format: uuid - in: query name: supply_persona_id schema: type: string format: uuid - in: query name: status schema: $ref: '#/components/schemas/ReferralStatusCore' - $ref: '#/components/parameters/ShiftIdQueryParam' - $ref: '#/components/parameters/OfferIdQueryParam' - in: query name: care_type schema: $ref: '#/components/schemas/CareTypeCore' - in: query name: referral_type schema: $ref: '#/components/schemas/ReferralTypeCore' - in: query name: client_outbox_id schema: type: string - in: query name: demand_label schema: type: string description: Referrals associated with any given label set by the demand organization. - in: query name: has_alayacare_authorization schema: type: boolean - $ref: '#/components/parameters/RevisionsQueryParam' - in: query name: revision_group_id schema: type: string format: uuid - in: query name: sequence_id schema: type: string format: uuid - $ref: '#/components/parameters/PageNumberParam' - $ref: '#/components/parameters/ItemsPerPageParam' - in: query name: sort_by schema: type: string enum: - last_modified - revision_number default: last_modified - $ref: '#/components/parameters/SortOrderParam' responses: 200: description: Successfully returned a collection of referrals. content: application/json: schema: $ref: '#/components/schemas/SysAdminReferralPageResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/sys_admin/referrals/{referral_id}: parameters: - $ref: '#/components/parameters/ReferralIdPathParam' get: tags: - referral sys_admin description: '# Authorization Required role: `sys_admin` # Description Get the details of a Referral. ' responses: 200: description: Successfully returned referral details. content: application/json: schema: $ref: '#/components/schemas/SysAdminReferralDetailResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy components: schemas: CarePlanGoalCore: type: object properties: description: type: string end_date: type: string format: date is_from_library: type: boolean is_primary: type: boolean last_updated_progress: title: GoalLastUpdatedProgressCore type: object properties: comment: type: string percentage: type: integer completed: type: boolean name: type: string progress_type: type: string rank: type: integer start_date: type: string format: date status: type: string type: type: string updated_at: type: string format: date-time required: - name - start_date - is_primary - type - progress_type OutboxCarePlanInterventionCore: allOf: - $ref: '#/components/schemas/CarePlanInterventionCore' - type: object properties: goals: type: array items: title: OutboxCarePlanInterventionGoalCore type: object properties: outbox_id: type: integer name: type: string required: - outbox_id - name outbox_id: type: integer required: - outbox_id ReferralRevisionResponse: type: object properties: revision_group_id: type: string format: uuid revision_number: type: integer minimum: 1 revision_reasons: type: array items: type: string revision_comment: type: string is_latest_revision: type: boolean required: - revision_group_id - revision_number - is_latest_revision CaseManagerCore: type: object properties: name: type: string phone_number: type: string fax_number: type: string email: type: string PageNumberCore: type: integer minimum: 1 default: 1 CarePlanDiagnosisCore: type: object properties: description: type: string end_date: type: string format: date is_from_library: type: boolean is_primary: type: boolean name: type: string rank: type: integer start_date: type: string format: date status: type: string updated_at: type: string format: date-time required: - name - start_date - is_primary OutboxReferralCore: allOf: - $ref: '#/components/schemas/ReferralReasonCodeCore' - type: object properties: id: type: string format: uuid sequence_id: type: string format: uuid offer_id: type: string format: uuid shift_id: type: string format: uuid care_type: $ref: '#/components/schemas/CareTypeCore' referral_type: $ref: '#/components/schemas/ReferralTypeCore' comment: type: string cancellation_comment: type: string maxLength: 1000 demand_labels: type: array items: type: string minItems: 1 status: $ref: '#/components/schemas/ReferralStatusCore' start_at: type: string format: date-time description: Derived from the visits end_at: type: string format: date-time description: Derived from the visits created_at: type: string format: date-time updated_at: type: string format: date-time required: - id - sequence_id - care_type - referral_type - status - start_at - created_at OutboxReferralVisitTaskResponse: type: object properties: id: type: string format: uuid outbox_id: type: string minLength: 1 name: type: string minLength: 1 description: type: string is_required: type: boolean required: - id - outbox_id - name - is_required AddressCore: type: object properties: name: type: string address: type: string minLength: 1 address_suite: type: string city: type: string minLength: 1 state: type: string minLength: 1 zip: type: string minLength: 1 country: type: string minLength: 1 latitude: type: number format: double minimum: -90 maximum: 90 longitude: type: number format: double minimum: -180 maximum: 180 required: - address - city - state - zip - country PriceCore: type: object properties: rate: type: number format: decimal description: The dollar amount for offer per unit. example: 30.0 unit: type: string description: The unit for the rate. enum: - per_visit - per_hour - amount required: - rate - unit SortOrderCore: type: string enum: - asc - desc default: desc AuthorizationCore: type: object properties: authorization_number: type: string authorization_status: type: string end_date: type: string format: date first_day_of_week: type: integer id: type: integer import_id: type: string member_number: type: string notes: type: string program_id: type: string custom_number_of_days: type: integer rule_type: type: string rule_custom: type: number format: decimal rule_daily: type: number format: decimal rule_weekly: type: number format: decimal rule_monthly: type: number format: decimal rule_period: type: number format: decimal rule_monday: type: number format: decimal rule_tuesday: type: number format: decimal rule_wednesday: type: number format: decimal rule_thursday: type: number format: decimal rule_friday: type: number format: decimal rule_saturday: type: number format: decimal rule_sunday: type: number format: decimal start_date: type: string format: date required: - authorization_status - first_day_of_week - rule_type - start_date FormTemplateFieldCore: type: object properties: field_tag: type: string field_type: type: string id: type: integer instructions: type: string json_logic: type: object label: type: string parent_id: type: integer rank: type: integer required: type: boolean settings: type: object required: - field_type - id - label - parent_id - rank - required OutboxReferralVisitResponse: type: object properties: id: type: string format: uuid outbox_id: type: string start_at: type: string format: date-time end_at: type: string format: date-time instructions: type: string tasks: type: array items: $ref: '#/components/schemas/OutboxReferralVisitTaskResponse' required: - id - start_at - end_at ClientCore: type: object properties: address: $ref: '#/components/schemas/AddressCore' contacts: type: array items: type: object properties: id: type: string first_name: type: string last_name: type: string address: type: object properties: city: type: string state: type: string zip: type: string country: type: string name: type: string address: type: string address_suite: type: string latitude: type: number format: double minimum: -90 maximum: 90 longitude: type: number format: double minimum: -180 maximum: 180 contact_type: type: string email: type: string format: email is_active: type: boolean default: true is_emergency: type: boolean phone_number: description: Main phone number. type: string phone_other: type: string phone_personal: type: string language: type: string relationship: type: string demographics: type: object properties: first_name: type: string minLength: 1 last_name: type: string minLength: 1 email: type: string format: email phone_number: description: Main phone number. type: string phone_other: type: string phone_personal: type: string date_of_birth: type: string format: date gender: type: string language: type: string required: - first_name - last_name allergies: type: array items: $ref: '#/components/schemas/AllergyCore' risks: type: array items: $ref: '#/components/schemas/RiskCore' diagnoses: type: array items: type: object properties: name: type: string description: type: string is_primary: type: boolean start_date: type: string format: date end_date: type: string format: date treatment: type: string surgeries: type: array items: type: object properties: name: type: string description: type: string details: type: string start_date: type: string format: date end_date: type: string format: date custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldCore' required: - demographics - address OrganizationLeanCore: type: object properties: id: type: string format: uuid name: type: string minLength: 1 required: - id - name CareTypeCore: type: string enum: - psw - nursing AllergyCore: type: object properties: name: type: string category: type: string severity: type: string start_date: type: string format: date treatment: type: string OutboxFormTemplateCore: allOf: - $ref: '#/components/schemas/FormTemplateCore' - type: object properties: fields: type: array items: $ref: '#/components/schemas/FormTemplateFieldCore' ItemsPerPageCore: type: integer minimum: 1 default: 100 RiskCore: type: object properties: name: type: string category: type: string example: allergy severity: type: integer start_date: type: string format: date PageCore: description: Root page schema for returning collections. type: object properties: page: $ref: '#/components/schemas/PageNumberCore' items_per_page: $ref: '#/components/schemas/ItemsPerPageCore' total_items: type: integer minimum: 0 total_pages: type: integer minimum: 0 required: - page - items_per_page - total_items - total_pages OutboxReferralClientResponse: allOf: - $ref: '#/components/schemas/ClientCore' - type: object properties: id: type: string format: uuid outbox_id: type: string minLength: 1 required: - id - outbox_id DemographicLeanCore: type: object properties: first_name: type: string minLength: 1 last_name: type: string minLength: 1 required: - first_name - last_name SysAdminReferralDetailResponse: allOf: - type: object properties: referral: $ref: '#/components/schemas/OutboxReferralCore' demand: $ref: '#/components/schemas/OrganizationLeanCore' supply: $ref: '#/components/schemas/OrganizationLeanCore' alayacare: $ref: '#/components/schemas/OutboxAlayaCareCore' case_manager: $ref: '#/components/schemas/CaseManagerCore' price: $ref: '#/components/schemas/PriceCore' client: $ref: '#/components/schemas/OutboxReferralClientResponse' service: title: SysAdminReferralServiceDetailResponse type: object properties: id: type: string format: uuid outbox_id: type: string minLength: 1 use_client_address: type: boolean address: $ref: '#/components/schemas/AddressCore' name: type: string minLength: 1 start_at: type: string format: date-time expected_start_at: type: string format: date-time end_at: type: string format: date-time instructions: type: string notes: type: string skills: type: array items: type: string custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldCore' required: - id - outbox_id - name visits: type: array items: $ref: '#/components/schemas/OutboxReferralVisitResponse' revision: $ref: '#/components/schemas/ReferralRevisionResponse' required: - referral - demand - supply - client - service - revision SysAdminReferralCollectionResponse: description: 'API response of an referral on the outbox API. ' type: object properties: referral: $ref: '#/components/schemas/OutboxReferralCore' demand: $ref: '#/components/schemas/OrganizationLeanCore' supply: $ref: '#/components/schemas/OrganizationLeanCore' alayacare: title: SysAdminReferralCollectionAlayacareResponse properties: has_authorization: type: boolean required: - has_authorization client: title: SysAdminReferralCollectionClientResponse type: object properties: id: type: string format: uuid outbox_id: type: string demographics: $ref: '#/components/schemas/DemographicLeanCore' required: - id - outbox_id - demographics service: title: SysAdminReferralCollectionServiceResponse type: object properties: id: type: string format: uuid outbox_id: type: string name: type: string minLength: 1 required: - id - name - outbox_id revision: title: SysAdminReferralCollectionRevisionResponse type: object properties: revision_group_id: type: string format: uuid revision_number: type: integer minimum: 1 revision_reasons: type: array items: type: string revision_comment: type: string is_latest_revision: type: boolean required: - revision_group_id - revision_number - is_latest_revision required: - referral - supply - client - service - revision CustomFieldCore: type: object properties: name: type: string type: type: string value: type: string required: - name - value OutboxCarePlanCore: type: object properties: outbox_id: type: integer name: type: string start_date: type: string format: date end_date: type: string format: date status: type: string diagnoses: type: array items: $ref: '#/components/schemas/OutboxCarePlanDiagnosisCore' goals: type: array items: $ref: '#/components/schemas/OutboxCarePlanGoalCore' interventions: type: array items: $ref: '#/components/schemas/OutboxCarePlanInterventionCore' updated_at: type: string format: date-time required: - name - outbox_id - start_date CarePlanInterventionCore: type: object properties: description: type: string end_date: type: string format: date external_link: title: CarePlanInterventionExternalLinkCore type: object properties: label: type: string url: type: string required: - label - url has_duration: type: boolean is_from_library: type: boolean is_required: type: boolean name: type: string rank: type: integer recurrence: title: CarePlanInterventionRecurrenceCore type: object properties: count: type: integer frequency: type: string interval: type: integer weekdays: type: array items: type: string monthday: type: integer available_from: type: string available_to: type: string required: - frequency - interval recurrence_type: type: string start_date: type: string format: date status: type: string timezone: type: string type: type: string updated_at: type: string format: date-time required: - has_duration - is_required - name - rank - recurrence_type - start_date - status - type SysAdminReferralPageResponse: allOf: - $ref: '#/components/schemas/PageCore' - type: object properties: items: type: array items: $ref: '#/components/schemas/SysAdminReferralCollectionResponse' OutboxAlayaCareCore: type: object properties: authorizations: type: array items: $ref: '#/components/schemas/AuthorizationCore' care_plan: $ref: '#/components/schemas/OutboxCarePlanCore' form_templates: type: array items: $ref: '#/components/schemas/OutboxFormTemplateCore' ReferralStatusCore: type: string enum: - assigned - processed - cancelled OutboxCarePlanGoalCore: allOf: - $ref: '#/components/schemas/CarePlanGoalCore' - type: object properties: outbox_id: type: integer diagnoses: type: array items: title: OutboxCarePlanGoalDiagnosisCore type: object properties: outbox_id: type: integer name: type: string required: - outbox_id - name required: - outbox_id ReferralTypeCore: type: string enum: - visit - service ReferralReasonCodeCore: description: '`reason_code` associated to a cancelled or closed referral. ' type: object properties: reason_code: type: string enum: - datetime_change - client_request - client_hospitalization - client_passed_away - client_refused_service - processing_error - other OutboxCarePlanDiagnosisCore: allOf: - $ref: '#/components/schemas/CarePlanDiagnosisCore' - type: object properties: outbox_id: type: integer required: - outbox_id FormTemplateCore: type: object properties: admin_eyes_only: type: boolean approve_automatically: type: boolean clinical_event_name: type: string display_instructions_in_pdf: type: boolean display_report: type: boolean exclude_from_shift_report: type: boolean form_type: type: string id: type: integer instructions: type: string language_code: type: string name: type: string notify_alert_queue: type: boolean pre_populate: type: boolean requires_clock_in: type: boolean schema_id: type: string format: uuid schema_version: type: integer visit_link_required: type: boolean required: - admin_eyes_only - approve_automatically - display_instructions_in_pdf - display_report - exclude_from_shift_report - form_type - id - language_code - name - notify_alert_queue - pre_populate - requires_clock_in - schema_id - schema_version - visit_link_required parameters: RevisionsQueryParam: in: query name: revisions schema: type: string description: Filter in all revisions for a given referral, or only the latest revision, or only the archived revision(s). enum: - all - latest - archived default: latest OfferIdQueryParam: in: query name: offer_id schema: type: string format: uuid ReferralIdPathParam: in: path name: referral_id schema: type: string format: uuid required: true ShiftIdQueryParam: in: query name: shift_id schema: type: string format: uuid SortOrderParam: in: query name: sort_order schema: $ref: '#/components/schemas/SortOrderCore' PageNumberParam: in: query name: page schema: $ref: '#/components/schemas/PageNumberCore' ItemsPerPageParam: in: query name: items_per_page schema: $ref: '#/components/schemas/ItemsPerPageCore' securitySchemes: basic_auth: type: http description: Basic HTTP auth over https scheme: basic