swagger: "2.0"
info:
  title: EMRA API Documentation
  description: API documentation for EMRA
  version: 1.0.0
host: localhost:8080/
basePath: emra/api/v1
schemes:
  - http
paths:
  /status:
    get:
      tags:
        - Connection
      summary: database connection
      responses:
        200:
          description: Success database connection
        500:
          description: Something went wrong
  /users/check-user:
    post:
      tags:
        - Users / Login
      summary: checking of credentials
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /users/login:
    post:
      tags:
        - Users / Login
      summary: Login users
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong 
  /users/{userId}:
    get:
      tags:
        - Users / Library
      summary: Get users by userId
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /users/{userId}/accreditation-details:
    get:
      tags:
        - Users / Library
      summary: Get accreditation detials by userId
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /doctor/patient-details/{patientId}:
    get:
      tags:
        - Doctor / Library
      summary: Get patient using patient id
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient id
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /doctor/patient-fpe-details/{patientId}:
    get:
      tags:
        - Doctor / Library
      summary: Get patient fpe using patient id
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient id
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /:consultationId/:patientId/consultation-details:
    get:
      tags:
        - Patient / Consultation
      summary: get single consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: consultationId
          description: consultationId
          type: string
        - name: patientId
          description: patientId
          type: string  
      responses:
        200:
          description: Success
        401:
          description: Unauthorized Access
        500:
          description: Something went wrong
  /patients/begin-consultation/{doctorId}/{patientId}:
    post:
      tags:
        - Patient / Consultation
      summary: post a consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: doctorId
          in: path
          required: true
          description: specific doctorId Id
          type: string 
        - name: patientId
          in: path
          required: true
          description: specific patient Id
          type: string  
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/update-consultation/{id}:
    post:
      tags:
        - Patient / Consultation
      summary: post a consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: id
          in: path
          required: true
          description: specific consultationId id
          type: string  
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/:doctorId/:patientId/:consultationId/generate-medical-certificate:
    get:
      tags:
        - Patient / Consultation / Library
      summary: generate medical certificate
      parameters:
        - name: client-id
          in: header
          required: true
          description: authenticate client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authenticate client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: doctorId
          in: parameter
          description: doctor id
          type: string
        - name: patientId
          in: parameter
          description: patient id
          type: string
        - name: consultationId
          in: parameter
          type: string
          description: consultation id
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/consultation-records/{patientId}:
    post:
      tags:
        - Patient / Consultation / Library
      summary: library for past consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: patientId
          in: path
          required: true
          description: specific patient id
          type: string 
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/past-consultations:
    get:
      tags:
        - Patient / Consultation / Library
      summary: library for patient past consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: doctorId
          in: parameter
          required: true
          description: use to fetch past consultation
          type: string
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/consultation-list:
    post:
      tags:
        - Patient / Consultation / Library
      summary: library for past consultation
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: page
          in: query
          required: true
          description: page of the result
          type: number
        - name: limit
          in: query
          required: true
          description: limit of the result
          type: number
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/{accreditationNumber}/export-all-patient-data-xls:
    post:
      tags:
        - Patient / Export Data
      summary: Export patient data as a excel
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string  
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string  
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/export-patient-data-xls/{patientId}:
    post:
      tags:
        - Patient / Export Data
      summary: Export patient data as a excel
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: userId
          in: path
          required: true
          description: specific user Id
          type: string 
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string 
        - name: patientId
          in: path
          required: true
          description: patient specific Id
          type: number 
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/export-patient-data/{patientId}:
    post:
      tags:
        - Patient / Export Data
      summary: Export patient data as a pdf
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: userId
          in: path
          required: true
          description: specific user Id
          type: string 
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string 
        - name: patientId
          in: path
          required: true
          description: patient specific Id
          type: number 
      responses:
        200:
          description: Success
        401:
          description: Unauthorized
        500:
          description: Something went wrong
  /patients/{accreditationNumber}/{patientId}:
    get:
      tags:
        - Patients / Library
      summary: Get patient
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string 
        - name: patientId
          in: path
          required: true
          description: patient specific Id
          type: number 
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /patients/{accreditationNumber}/list:
    get:
      tags:
        - Patients / Library
      summary: Get all patients
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: accreditationNumber
          in: query
          required: true
          description: specific accreditation number
          type: string
        - name: page
          in: query
          required: true
          description: page of the result
          type: number
        - name: limit
          in: query
          required: true
          description: limit of the result
          type: number
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/register-patient-telemed: 
    post:
      tags:
        - Patients / Registration / Telemed
      summary: Post a patient information
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific userId
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        201:
          description: Created
        400:
          description: Bad request
        401:
          description: Unauthorized
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/update-patient-information-telemed/{patientId}:
    put:
      tags:
        - Patients / Registration / Telemed
      summary: Put patient information
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific user
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        401:
          description: Unauthorized
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/register-patient: 
    post:
      tags:
        - Patients / Registration
      summary: Post a patient information
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific userId
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        201:
          description: Created
        400:
          description: Bad request
        401:
          description: Unauthorized
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/register-patient-picture:
    post:
      tags:
        - Patients / Registration
      summary: Post a patients profile picture
      consumes:
        - multipart/form-data
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string
        - name: image
          in: formData
          description: image of the patient
          required: true
          type: file
      responses:
        201:
          description: Created
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/update-patient-information/{patientId}:
    put:
      tags:
        - Patients / Registration
      summary: Put patient information
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific user
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient
          type: string
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        401:
          description: Unauthorized
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/validate-patient-atc/{patientId}:
    post:
      tags:
        - Patients / FPE
      summary: Validate ATC
      consumes:
        - multipart/form-data
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient ld
          type: number
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request 
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/fpe-details/{patientId}:
    post:
      tags:
        - Patients / FPE
      summary: Post FPE details
      consumes:
        - multipart/form-data
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient ld
          type: number
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request 
        500:
          description: Something went wrong
  /patients/{userId}/{accreditationNumber}/update-fpe-details/{patientId}:
    post:
      tags:
        - Patients / FPE
      summary: Update FPE Details
      consumes:
        - multipart/form-data
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: userId
          in: path
          required: true
          description: specific userId
          type: string
        - name: accreditationNumber
          in: path
          required: true
          description: specific accreditation number
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient ld
          type: number
        - name: request-body
          in: body
          description: request body
          required: true
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request 
        500:
          description: Something went wrong
  /patients/{accreditationNumber}/fpe/{patientId}:
    get:
      tags:
        - Patients / FPE / Library
      summary: Get fpe details using patient id
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: patientId
          in: path
          required: true
          description: specific accreditation number
          type: string
        - name: patientId
          in: path
          required: true
          description: specific patient id
          type: number
      responses:
        200:
          description: Success
        400:
          description: Bad request
        404:
          description: Not found
        500:
          description: Something went wrong
  /patients/{accreditationNumber}/fpe-lists:
    get:
      tags:
        - Patients / FPE / Library
      summary: Get all fpe details with pagination
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string 
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: accreditationNumber
          in: query
          required: true
          description: specific accreditation number
          type: string
        - name: page
          in: query
          required: true
          description: page of the result
          type: number
        - name: limit
          in: query
          required: true
          description: limit of the result
          type: number
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /chief-of-complaints:
    post:
      tags:
        - Library
      summary: Get library
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /edit-details-checker/{patientId}:
    get:
      tags:
        - Library
      summary: Get the bool for can edit details
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string 
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string  
      responses:
        200:
          description: Success
        500:
          description: Something went wrong        
  /validate-philhealth-id/{philhealthId}:
    post:
      tags:
        - Library
      summary: Get library
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string 
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string 
        - name: philhealthId
          in: query
          required: true
          description: specific philhealth Id
          type: string
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/list:
    get:
      tags:
        - Library
      summary: Get library
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string 
        - name: page
          in: query
          required: true
          description: page of the result
          type: number
        - name: limit
          in: query
          required: true
          description: limit of the result
          type: number
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/list-specialization:
    get:
      tags:
        - Library
      summary: Get list of specialization 
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/{height}/{weight}/zScore:
    get:
      tags:
        - Library
      summary: Get Child zScore
      parameters: 
        - name: height
          in: path
          required: true
          description: specific height
          type: number
          multipleOf: 0.01
        - name: weight
          in: path
          required: true
          description: specific weight
          type: number
          multipleOf: 0.01
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/{height}/{weight}/bmi-classification:
    get:
      tags:
        - Library
      summary: Get Adult BMI Classification
      parameters: 
        - name: height
          in: path
          required: true
          description: specific height
          type: number
          multipleOf: 0.01
        - name: weight
          in: path
          required: true
          description: specific weight
          type: number
          multipleOf: 0.01
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/{age}/age-category:
    get:
      tags:
        - Library
      summary: Get age category
      parameters: 
        - name: age
          in: path
          required: true
          description: specific age
          type: number 
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /library/diagnostic:
    get:
      tags:
        - Diagnostic
      summary: Get all diagnostic
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /address/regions:
    get:
      tags:
        - Address
      summary: Get all regions 
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /address/region/{regionCode}:
    get:
      tags:
        - Address
      summary: Get one region
      parameters: 
        - name: regionCode
          in: path
          required: true
          description: region code
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        500:
          description: Something went wrong 
  /address/region/{regionCode}/province:
    get:
      tags:
        - Address
      summary: Get one province
      parameters: 
        - name: regionCode
          in: path
          required: true
          description: region code
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        500:
          description: Something went wrong
  /address/region/{regionCode}/province/{provinceCode}/city-municipality:
    get:
      tags:
        - Address
      summary: Get one city
      parameters: 
        - name: regionCode
          in: path
          required: true
          description: region code
          type: string
        - name: provinceCode
          in: path
          required: true
          description: province code
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        500:
          description: Something went wrong
  /address/region/{regionCode}/province/{provinceCode}/city-municipality/{cityCode}/barangay:
    get:
      tags:
        - Address
      summary: Get one barangay
      parameters: 
        - name: regionCode
          in: path
          required: true
          description: region code
          type: string
        - name: provinceCode
          in: path
          required: true
          description: province code
          type: string
        - name: cityCode
          in: path
          required: true
          description: city code
          type: string
      responses:
        200:
          description: Success
        400:
          description: Bad request
        500:
          description: Something went wrong
  /appointments:
    post:
      tags:
        - Appointments
    summary: Create walk-in and scheduled appointments
    parameters:
      - name: client-id
        in: header
        required: true
        description: authentication client id
        type: string
      - name: client-secret
        in: header
        required: true
        description: authentication client secret
        type: string
      - name: authorization
        in: header
        required: true
        description: authentication token
        type: string
    responses:
      200:
        description: Success
      400:
        description: Bad request
      500:
        description: Something went wrong
  /appointments:
    get:
      tags:
      - Appointments
    summary: Get all data from appointments
    parameters:
      - name: client-id
        in: header
        required: true
        description: authentication client id
        type: string
      - name: client-secret
        in: header
        required: true
        description: authentication client secret
        type: string
      - name: authorization
        in: header
        required: true
        description: authentication token
        type: string
      - name: accreditationNumber
        in: parameters
        required: false
        description: accreditation number
        type: string
    responses:
      200:
        description: Success
      400:
        description: Bad request
      500:
        description: Something went wrong
  /appointments/{id}:
    get:
      tags:
      - Appointments
    summary: Get single data from appointments
    parameters:
      - name: client-id
        in: header
        required: true
        description: authentication client id
        type: string
      - name: client-secret
        in: header
        required: true
        description: authentication client secret
        type: string
      - name: authorization
        in: header
        required: true
        description: authentication token
        type: string
    responses:
      200:
        description: Success
      400:
        description: Bad request
      500:
        description: Something went wrong
  /appointments/{id}:
    put:
      tags:
        - Appointments
    summary: Update appointments
    parameters:
      - name: client-id
        in: header
        required: true
        description: authentication client id
        type: string
      - name: client-secret
        in: header
        required: true
        description: authentication client secret
        type: string
      - name: authorization
        in: header
        required: true
        description: authentication token
        type: string
      - name: id
        in: parameters
        required: false
        description: unique id
        type: id
    responses:
      200:
        description: Success
      400:
        description: Bad request
      500:
        description: Something went wrong
  /appointments/update-status/{id}:
    put:
      tags:
        - Appointments
      summary: Update appointment status
      parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: id
          in: params
          required: true
          description: appointment id
          type: int
          responses:
            200:
              description: Success
            500:
              description: Something went wrong
  /dashboard/counter:
    get:
      tags:
        - Dashboard
      summary: Get dashboard counter
      responses:
        200:
          description: Success
        500:
          description: Something went wrong
  /file/upload:
    post:
      tags:
      - File Upload
      summary: Upload file
      parameters:
      - name: client-id
        in: header
        required: true
        description: authentication client id
        type: string
      - name: client-secret
        in: header
        required: true
        description: authentication client secret
        type: string
      - name: authorization
        in: header
        required: true
        description: authentication token
        type: string
      - name: patientId
        in: parameters
        required: true
        description: patient unique id
        type: id
      - name: type
        in: parameters
        required: true
        description: File directory
      responses:
        200:
          description: Success file upload
        500:
          description: Something went wrong
    /delete-file/:fileType/:fileId:
      post:
        tags:
        - File Upload
        summary: Delete file
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: file type
          in: parameter
          required: true
          description: File type
          type: string
        - name: file id
          in: parameter
          required: true
          description: unique file id
          type: int
    /message/:consultationId:
      post:
        tags:
        summary: Create message log
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: consultation id
          in: parameters
          required: true
          description: Consultation Id
        responses:
          200:
            description: Success message log
          500:
            description: Something went wrong
    /message/:consultationId/log:
      get:
        tags:
        summary: Create message log
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authentication token
          type: string
        - name: consultation id
          in: parameters
          required: true
          description: Consultation Id
        responses:
          200:
            description: Success message log
          500:
            description: Something went wrong
    /medicine:
      post:
        tags:
        summary: Create medicine
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authenticate token
          type: string
        responses:
          200:
            description: Success create medicine
          500:
            description: Something went wrong
    /medicine/:medicineId:
      put:
        tags:
        summary: Edit medicine
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authentication client secret
          type: string
        - name: authorization
          in: header
          required: true
          description: authenticate token
          type: string
        responses:
          200:
            description: Success update medicine
          500:
            description: Something went wrong
    /medicine/medicine-list:
      get:
        tags:
        summary: Fetch medicines
        parameters:
        - name: client-id
          in: header
          required: true
          description: authentication client id
          type: string
        - name: client-secret
          in: header
          required: true
          description: authenticate client secret
          type: string
        - name: page
          in: parameter
          description: specified page
          type: string
        - name: limit
          in: parameter
          description: specified how many medicine will fetch
          type: string
        - name: medicineId
          in: parameter
          description: fetch specific medicine using medicineId
          type: string
        



  
