Skip to content

Instantly share code, notes, and snippets.

@ricardozanini
Last active December 2, 2020 19:09
Show Gist options
  • Save ricardozanini/5ec66b4ddfbcf8ab40747b28b5f86333 to your computer and use it in GitHub Desktop.
Save ricardozanini/5ec66b4ddfbcf8ab40747b28b5f86333 to your computer and use it in GitHub Desktop.
patient-onboarding-openapi.yaml
openapi: 3.0.3
info:
title: Generated API
version: "1.0"
paths:
/:
post:
operationId: cloudEventListener
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CloudEvent'
application/cloudevents+json:
schema:
$ref: '#/components/schemas/CloudEvent'
responses:
"200":
description: OK
/assign-doctor:
post:
operationId: executeQuery
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignmentUnit'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListPatient'
/assign-doctor/first:
post:
operationId: executeQueryFirst
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignmentUnit'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Patient'
/messaging/topics:
get:
operationId: getTopics
responses:
"200":
description: OK
/onboarding:
get:
operationId: getResources_onboarding
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOnboardingModelOutput'
post:
operationId: createResource_onboarding
parameters:
- name: businessKey
in: query
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OnboardingModelInput'
responses:
"200":
description: OK
/onboarding/assignment:
post:
operationId: assignPatientToDoctor
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Patient'
responses:
"200":
description: OK
/onboarding/patient:
get:
operationId: getPatients
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListPatient'
post:
operationId: storeNewPatient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Patient'
responses:
"200":
description: OK
/onboarding/patient/{id}:
get:
operationId: getPatient
parameters:
- name: id
in: path
required: true
schema:
minLength: 1
type: string
nullable: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Patient'
/onboarding/schedule/appointment:
get:
operationId: getAppointmentCalendar
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppointment'
post:
operationId: schedulePatientAppointment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Patient'
responses:
"200":
description: OK
/onboarding/schedule/appointment/doctor/{id}:
get:
operationId: getScheduleForDoctor
parameters:
- name: id
in: path
required: true
schema:
minLength: 1
type: string
nullable: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppointment'
/onboarding/schedule/appointment/patient/{id}:
get:
operationId: getScheduleForPatient
parameters:
- name: id
in: path
required: true
schema:
minLength: 1
type: string
nullable: false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppointment'
/onboarding/{id}:
get:
operationId: getResource_onboarding
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OnboardingModelOutput'
put:
operationId: updateModel_onboarding
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OnboardingModel'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OnboardingModelOutput'
delete:
operationId: deleteResource_onboarding
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OnboardingModelOutput'
/onboarding/{id}/tasks:
get:
operationId: getTasks_onboarding
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: group
in: query
schema:
$ref: '#/components/schemas/ListString'
- name: user
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkItem'
components:
schemas:
JsonNode:
type: array
OnboardingModelInput:
type: object
properties:
workflowdata:
$ref: '#/components/schemas/JsonNode'
OnboardingModelOutput:
type: object
properties:
id:
type: string
workflowdata:
$ref: '#/components/schemas/JsonNode'
ListOnboardingModelOutput:
type: array
items:
$ref: '#/components/schemas/OnboardingModelOutput'
ListString:
type: array
items:
type: string
WorkItem:
type: object
properties:
id:
type: string
name:
type: string
nodeInstanceId:
type: string
parameters:
$ref: '#/components/schemas/MapStringObject'
phase:
type: string
phaseStatus:
type: string
results:
$ref: '#/components/schemas/MapStringObject'
state:
format: int32
type: integer
ListWorkItem:
type: array
items:
$ref: '#/components/schemas/WorkItem'
MapStringObject:
type: object
additionalProperties: {}
OnboardingModel:
type: object
properties:
id:
type: string
workflowdata:
$ref: '#/components/schemas/JsonNode'
SetString:
uniqueItems: true
type: array
items:
type: string
SpecVersion:
enum:
- V03
- V1
type: string
CloudEvent:
type: object
properties:
attributeNames:
$ref: '#/components/schemas/SetString'
dataContentType:
type: string
dataSchema:
format: uri
type: string
id:
type: string
source:
format: uri
type: string
specVersion:
$ref: '#/components/schemas/SpecVersion'
subject:
type: string
time:
format: date-time
type: string
type:
type: string
extensionNames:
$ref: '#/components/schemas/SetString'
data:
type: array
items:
format: byte
type: string
Doctor:
type: object
properties:
id:
type: string
name:
type: string
specialty:
type: string
DataStoreDoctor:
type: array
items:
$ref: '#/components/schemas/Doctor'
Patient:
type: object
properties:
assignedDoctor:
$ref: '#/components/schemas/Doctor'
dateOfBirth:
format: date
type: string
id:
type: string
name:
type: string
symptoms:
$ref: '#/components/schemas/ListString'
DataStorePatient:
type: array
items:
$ref: '#/components/schemas/Patient'
SymptomSpecialty:
type: object
properties:
specialty:
type: string
symptoms:
$ref: '#/components/schemas/ListString'
DataStoreSymptomSpecialty:
type: array
items:
$ref: '#/components/schemas/SymptomSpecialty'
AssignmentUnit:
type: object
properties:
doctors:
$ref: '#/components/schemas/DataStoreDoctor'
patients:
$ref: '#/components/schemas/DataStorePatient'
symptomSpecialties:
$ref: '#/components/schemas/DataStoreSymptomSpecialty'
ListPatient:
type: array
items:
$ref: '#/components/schemas/Patient'
Appointment:
type: object
properties:
date:
format: date-time
type: string
doctor:
$ref: '#/components/schemas/Doctor'
patient:
$ref: '#/components/schemas/Patient'
ListAppointment:
type: array
items:
$ref: '#/components/schemas/Appointment'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment