diff --git a/.env.development b/.env.development index dff9b6064..9975eae53 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,2 @@ -REACT_APP_USE_MOCK_API=true +REACT_APP_USE_MOCK_API=true REACT_APP_ENABLE_PERMISSIONS=false \ No newline at end of file diff --git a/api/oh.yaml b/api/oh.yaml index 205bad261..d6d3b01df 100644 --- a/api/oh.yaml +++ b/api/oh.yaml @@ -1,8817 +1,8928 @@ -openapi: 3.0.1 -info: - title: OH 2.0 Api Documentation - description: OH 2.0 Api Documentation - contact: - name: ApiInfo.DEFAULT_CONTACT - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0 - version: "1.0" -servers: -- url: https://oh2.open-hospital.org -security: -- bearerAuth: [] -paths: - /wards: - get: - tags: - - Wards - operationId: getWards - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/WardDTO' - security: - - bearerAuth: [] - put: - tags: - - Wards - operationId: updateWard - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WardDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/WardDTO' - security: - - bearerAuth: [] - post: - tags: - - Wards - operationId: newWard - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WardDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/WardDTO' - security: - - bearerAuth: [] - /visit/{visitID}: - put: - tags: - - Visit - operationId: updateVisit - parameters: - - name: visitID - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VisitDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VisitDTO' - security: - - bearerAuth: [] - /vaccinetype: - get: - tags: - - Vaccine Type - operationId: getVaccineType - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/VaccineTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Vaccine Type - operationId: updateVaccineType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Vaccine Type - operationId: newVaccineType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineTypeDTO' - security: - - bearerAuth: [] - /vaccines: - get: - tags: - - Vaccines - operationId: getVaccines - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/VaccineDTO' - security: - - bearerAuth: [] - put: - tags: - - Vaccines - operationId: updateVaccine - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineDTO' - security: - - bearerAuth: [] - post: - tags: - - Vaccines - operationId: newVaccine - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VaccineDTO' - security: - - bearerAuth: [] - /users: - get: - tags: - - Users - operationId: getUser - parameters: - - name: group_id - in: query - required: false - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserDTO' - security: - - bearerAuth: [] - put: - tags: - - Users - operationId: updateUser - parameters: - - name: password - in: query - required: false - schema: - type: boolean - default: false - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - post: - tags: - - Users - operationId: newUser - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /users/groups: - get: - tags: - - Users - operationId: getUserGroup - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserGroupDTO' - security: - - bearerAuth: [] - put: - tags: - - Users - operationId: updateUserGroup - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserGroupDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - post: - tags: - - Users - operationId: newUserGroup - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserGroupDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /suppliers: - get: - tags: - - Suppliers - operationId: getSuppliers - parameters: - - name: exclude_deleted - in: query - required: false - schema: - type: boolean - default: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/SupplierDTO' - security: - - bearerAuth: [] - put: - tags: - - Suppliers - operationId: updateSupplier - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SupplierDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SupplierDTO' - security: - - bearerAuth: [] - post: - tags: - - Suppliers - operationId: saveSupplier - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SupplierDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SupplierDTO' - security: - - bearerAuth: [] - /pricesothers/{id}: - put: - tags: - - others price - operationId: updatePricesOthers - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PricesOthersDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PricesOthersDTO' - security: - - bearerAuth: [] - delete: - tags: - - others price - operationId: deletePricesOthers - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /pricelists/{id}: - put: - tags: - - Price Lists - operationId: updatePriceLists - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PriceListDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PriceListDTO' - security: - - bearerAuth: [] - delete: - tags: - - Price Lists - operationId: deletePriceList - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /pregnanttreatmenttypes/{code}: - put: - tags: - - Pregnant Treatment Types - operationId: updatePregnantTreatmentTypes - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - security: - - bearerAuth: [] - delete: - tags: - - Pregnant Treatment Types - operationId: deletePregnantTreatmentType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /permissions/{id}: - get: - tags: - - permissions - operationId: retrievePermissionById - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - put: - tags: - - permissions - operationId: updatePermission - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - delete: - tags: - - permissions - operationId: deletePermission - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /patientvaccines/{code}: - put: - tags: - - Patient Vaccines - operationId: updatePatientVaccinet - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientVaccineDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientVaccineDTO' - security: - - bearerAuth: [] - delete: - tags: - - Patient Vaccines - operationId: deletePatientVaccine - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /patients/{code}: - get: - tags: - - Patients - operationId: getPatient - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - security: - - bearerAuth: [] - put: - tags: - - Patients - operationId: updatePatient - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - security: - - bearerAuth: [] - delete: - tags: - - Patients - operationId: deletePatient - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /patientConsensus/{patientId}: - get: - tags: - - Patient Consensus - operationId: getPatientConsensus - parameters: - - name: patientId - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientConsensusDTO' - security: - - bearerAuth: [] - put: - tags: - - Patient Consensus - operationId: updatePatientConsensus - parameters: - - name: patientId - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientConsensusDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientConsensusDTO' - security: - - bearerAuth: [] - /operationtypes/{code}: - put: - tags: - - Operations Types - operationId: updateOperationTypes - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationTypeDTO' - security: - - bearerAuth: [] - delete: - tags: - - Operations Types - operationId: deleteOperationType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /operations/{code}: - get: - tags: - - Operations - operationId: getOperationByCode - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationDTO' - security: - - bearerAuth: [] - put: - tags: - - Operations - operationId: updateOperation - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationDTO' - security: - - bearerAuth: [] - delete: - tags: - - Operations - operationId: deleteOperation - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /operations/rows: - put: - tags: - - Operations - operationId: updateOperationRow - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - post: - tags: - - Operations - operationId: newOperationRow - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationRowDTO' - security: - - bearerAuth: [] - /opds/{code}: - put: - tags: - - Opds - operationId: updateOpd - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - security: - - bearerAuth: [] - delete: - tags: - - Opds - operationId: deleteOpd - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /opds/rows/{code}: - put: - tags: - - Opds - operationId: updateOpdWithOperationRow - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpdWithOperationRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OpdWithOperationRowDTO' - security: - - bearerAuth: [] - /medstockmovementtype: - get: - tags: - - Medical Stock Movement Type - operationId: getMedicalDsrStockMovementType - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Medical Stock Movement Type - operationId: updateMedicalDsrStockMovementType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MovementTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MovementTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Medical Stock Movement Type - operationId: newMedicalDsrStockMovementType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MovementTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MovementTypeDTO' - security: - - bearerAuth: [] - /medicaltypes: - get: - tags: - - Medical Types - operationId: getMedicalTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MedicalTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Medical Types - operationId: updateMedicalType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Medical Types - operationId: createMedicalType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalTypeDTO' - security: - - bearerAuth: [] - /medicals: - get: - tags: - - Medicals - operationId: getMedicals - parameters: - - name: sort_by - in: query - required: false - schema: - type: string - enum: - - NONE - - CODE - - NAME - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - put: - tags: - - Medicals - operationId: updateMedical - parameters: - - name: ignore_similar - in: query - required: false - schema: - type: boolean - default: false - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - post: - tags: - - Medicals - operationId: newMedical - parameters: - - name: ignore_similar - in: query - required: false - schema: - type: boolean - default: false - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - /malnutritions: - put: - tags: - - Malnutritions - operationId: updateMalnutrition - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MalnutritionDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MalnutritionDTO' - security: - - bearerAuth: [] - post: - tags: - - Malnutritions - operationId: newMalnutrition - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MalnutritionDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MalnutritionDTO' - security: - - bearerAuth: [] - delete: - tags: - - Malnutritions - operationId: deleteMalnutrition - parameters: - - name: code - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /laboratories/{code}: - get: - tags: - - Laboratories - operationId: getExamById - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/LaboratoryDTO' - security: - - bearerAuth: [] - put: - tags: - - Laboratories - operationId: updateLaboratory - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LabWithRowsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - delete: - tags: - - Laboratories - operationId: deleteExam - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /laboratories/examRequest/{code}: - put: - tags: - - Laboratories - operationId: updateExamRequest - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - - name: status - in: query - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - delete: - tags: - - Laboratories - operationId: deleteExamRequest - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /hospitals/{code}: - put: - tags: - - Hospitals - operationId: updateHospital - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/HospitalDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/HospitalDTO' - security: - - bearerAuth: [] - /examtypes/{code}: - put: - tags: - - Exam Types - operationId: updateExamType - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ExamTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ExamTypeDTO' - security: - - bearerAuth: [] - delete: - tags: - - Exam Types - operationId: deleteExamType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /exams/{code}: - put: - tags: - - Exams - operationId: updateExams - parameters: - - name: code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ExamDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ExamDTO' - security: - - bearerAuth: [] - delete: - tags: - - Exams - operationId: deleteExam_1 - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /examinations/{id}: - get: - tags: - - Examinations - operationId: getByID - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - security: - - bearerAuth: [] - put: - tags: - - Examinations - operationId: updateExamination - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /diseasetypes: - get: - tags: - - Disease Types - operationId: getAllDiseaseTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Disease Types - operationId: updateDiseaseType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Disease Types - operationId: newDiseaseType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseTypeDTO' - security: - - bearerAuth: [] - /diseases: - put: - tags: - - Diseases - operationId: updateDisease - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - post: - tags: - - Diseases - operationId: newDisease - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /dischargetypes: - get: - tags: - - DischargeType - operationId: getDischargeTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DischargeTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - DischargeType - operationId: updateDischargeTypet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DischargeTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DischargeTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - DischargeType - operationId: newDischargeType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DischargeTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DischargeTypeDTO' - security: - - bearerAuth: [] - /deliverytypes: - get: - tags: - - Delivery Type - operationId: getDeliveryTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DeliveryTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Delivery Type - operationId: updateDeliveryTypes - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Delivery Type - operationId: newDeliveryType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryTypeDTO' - security: - - bearerAuth: [] - /deliveryresulttypes: - get: - tags: - - Delivery Result Type - operationId: getDeliveryResultTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - Delivery Result Type - operationId: updateDeliveryResultTypes - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Delivery Result Type - operationId: newDeliveryResultType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - security: - - bearerAuth: [] - /bills/{id}: - get: - tags: - - Bills - operationId: getBill - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - put: - tags: - - Bills - operationId: updateBill - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FullBillDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FullBillDTO' - security: - - bearerAuth: [] - delete: - tags: - - Bills - operationId: deleteBill - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /agetypes: - get: - tags: - - AgeTypes - operationId: getAllAgeTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AgeTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - AgeTypes - operationId: updateAgeType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AgeTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AgeTypeDTO' - security: - - bearerAuth: [] - /admissiontypes: - get: - tags: - - AdmissionTypes - operationId: getAdmissionTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AdmissionTypeDTO' - security: - - bearerAuth: [] - put: - tags: - - AdmissionTypes - operationId: updateAdmissionTypes - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - AdmissionTypes - operationId: newAdmissionType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionTypeDTO' - security: - - bearerAuth: [] - /admissions: - get: - tags: - - Admissions - operationId: getAdmissions - parameters: - - name: admissionrange - in: query - required: true - schema: - type: array - items: - type: string - - name: page - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: size - in: query - required: false - schema: - type: integer - format: int32 - default: 80 - - name: paged - in: query - required: false - schema: - type: boolean - default: false - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageAdmissionDTO' - security: - - bearerAuth: [] - put: - tags: - - Admissions - operationId: updateAdmissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - required: true - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - security: - - bearerAuth: [] - post: - tags: - - Admissions - operationId: newAdmissions - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - required: true - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - security: - - bearerAuth: [] - /visits: - post: - tags: - - Visit - operationId: newVisits - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/VisitDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /visit: - post: - tags: - - Visit - operationId: newVisit - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VisitDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/VisitDTO' - security: - - bearerAuth: [] - /usersettings: - post: - tags: - - User Settings - operationId: newUserSetting - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserSettingDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserSettingDTO' - security: - - bearerAuth: [] - /users/groups/{group_code}: - post: - tags: - - Users - operationId: setGroupMenu - parameters: - - name: group_code - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserMenuItemDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - delete: - tags: - - Users - operationId: deleteGroup - parameters: - - name: group_code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /therapies: - post: - tags: - - Therapies - operationId: newTherapy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TherapyRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/TherapyRowDTO' - security: - - bearerAuth: [] - /therapies/replace: - post: - tags: - - Therapies - operationId: replaceTherapies - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TherapyRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/TherapyRow' - security: - - bearerAuth: [] - /therapies/meds-out-of-stock: - post: - tags: - - Therapies - operationId: getMedicalsOutOfStock - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TherapyDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - /therapies/from-rows: - post: - tags: - - Therapies - operationId: getTherapies - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TherapyRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TherapyDTO' - security: - - bearerAuth: [] - /therapies/from-row: - post: - tags: - - Therapies - operationId: getTherapy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TherapyRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/TherapyDTO' - security: - - bearerAuth: [] - /stockmovements/discharge: - post: - tags: - - Stock Movements - operationId: newMultipleDischargingMovements - parameters: - - name: ref - in: query - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /stockmovements/charge: - post: - tags: - - Stock Movements - operationId: newMultipleChargingMovements - parameters: - - name: ref - in: query - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /sms: - get: - tags: - - SMS - operationId: getAll - parameters: - - name: dateFrom - in: query - required: true - schema: - type: string - - name: dateTo - in: query - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/SmsDTO' - security: - - bearerAuth: [] - post: - tags: - - SMS - operationId: saveSms - parameters: - - name: split - in: query - required: false - schema: - type: boolean - default: false - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /sms/delete: - post: - tags: - - SMS - operationId: deleteSms - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/SmsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /pricesothers: - get: - tags: - - others price - operationId: getPricesOthers - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PricesOthersDTO' - security: - - bearerAuth: [] - post: - tags: - - others price - operationId: newPricesOthers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PricesOthersDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PricesOthersDTO' - security: - - bearerAuth: [] - /pricelists: - get: - tags: - - Price Lists - operationId: getPriceLists - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PriceListDTO' - security: - - bearerAuth: [] - post: - tags: - - Price Lists - operationId: newPriceList - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PriceListDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PriceListDTO' - security: - - bearerAuth: [] - /pregnanttreatmenttypes: - get: - tags: - - Pregnant Treatment Types - operationId: getPregnantTreatmentTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Pregnant Treatment Types - operationId: newPregnantTreatmentType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - security: - - bearerAuth: [] - /permissions: - get: - tags: - - permissions - operationId: retrieveAllPermissions - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - post: - tags: - - permissions - operationId: insertPermission - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - /patientvaccines: - post: - tags: - - Patient Vaccines - operationId: newPatientVaccine - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientVaccineDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientVaccineDTO' - security: - - bearerAuth: [] - /patients: - get: - tags: - - Patients - operationId: getPatients - parameters: - - name: page - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: size - in: query - required: false - schema: - type: integer - format: int32 - default: 80 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PagePatientDTO' - security: - - bearerAuth: [] - post: - tags: - - Patients - operationId: newPatient - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - security: - - bearerAuth: [] - /operationtypes: - get: - tags: - - Operations Types - operationId: getOperationTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Operations Types - operationId: newOperationType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationTypeDTO' - security: - - bearerAuth: [] - /operations: - get: - tags: - - Operations - operationId: getOperations - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationDTO' - security: - - bearerAuth: [] - post: - tags: - - Operations - operationId: newOperation - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OperationDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OperationDTO' - security: - - bearerAuth: [] - /operations/rows/search/opd: - post: - tags: - - Operations - operationId: getOperationRowsByOpd - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationRowDTO' - security: - - bearerAuth: [] - /opds: - post: - tags: - - Opds - operationId: newOpd - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - security: - - bearerAuth: [] - /opds/rows: - post: - tags: - - Opds - operationId: newOpdWithOperationRow - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpdWithOperationRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OpdWithOperationRowDTO' - security: - - bearerAuth: [] - /medicalstockward/movements: - post: - tags: - - Medical Stock Ward - operationId: newMovementWard - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MovementWardDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /laboratories: - get: - tags: - - Laboratories - operationId: getLaboratory - parameters: - - name: oneWeek - in: query - required: true - schema: - type: boolean - - name: page - in: query - required: true - schema: - type: integer - format: int32 - - name: size - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageLabWithRowsDTO' - security: - - bearerAuth: [] - post: - tags: - - Laboratories - operationId: newLaboratory - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LabWithRowsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /laboratories/insertList: - post: - tags: - - Laboratories - operationId: newLaboratory2 - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LabWithRowsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /laboratories/examRequest: - get: - tags: - - Laboratories - operationId: getLaboratoryExamRequest - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LaboratoryDTO' - security: - - bearerAuth: [] - post: - tags: - - Laboratories - operationId: newExamRequest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LaboratoryDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /examtypes: - get: - tags: - - Exam Types - operationId: getExamTypes - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamTypeDTO' - security: - - bearerAuth: [] - post: - tags: - - Exam Types - operationId: newExamType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ExamTypeDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ExamTypeDTO' - security: - - bearerAuth: [] - /exams: - get: - tags: - - Exams - operationId: getExams - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamDTO' - security: - - bearerAuth: [] - post: - tags: - - Exams - operationId: newExam - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ExamDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ExamDTO' - security: - - bearerAuth: [] - /examrows: - get: - tags: - - Exam Rows - operationId: getExamRows - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamRowDTO' - security: - - bearerAuth: [] - post: - tags: - - Exam Rows - operationId: newExamRow - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ExamRowDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ExamRowDTO' - security: - - bearerAuth: [] - /examinations: - post: - tags: - - Examinations - operationId: newPatientExamination - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /bills: - get: - tags: - - Bills - operationId: searchBills_1 - parameters: - - name: datefrom - in: query - required: true - schema: - type: string - - name: dateto - in: query - required: true - schema: - type: string - - name: patient_code - in: query - required: false - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - post: - tags: - - Bills - operationId: newBill - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FullBillDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FullBillDTO' - security: - - bearerAuth: [] - /bills/search/by/payments: - post: - tags: - - Bills - operationId: searchBillsByPayments - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillPaymentsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - /bills/search/by/item: - post: - tags: - - Bills - operationId: searchBills - parameters: - - name: datefrom - in: query - required: true - schema: - type: string - - name: dateto - in: query - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BillItemsDTO' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - /auth/logout: - post: - tags: - - Login - description: Logout the current user. - operationId: logout - responses: - "200": - description: OK - /auth/login: - post: - tags: - - Login - operationId: authenticateUser - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LoginRequest' - required: true - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/LoginResponse' - security: - - bearerAuth: [] - /admissions/discharge: - post: - tags: - - Admissions - operationId: dischargePatient - parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - required: true - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /wardsNoMaternity: - get: - tags: - - Wards - operationId: getWardsNoMaternity - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/WardDTO' - security: - - bearerAuth: [] - /wards/occupation/{code}: - get: - tags: - - Wards - operationId: getCurrentOccupation - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /wards/check/{code}: - get: - tags: - - Wards - operationId: checkWardCode - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /wards/check/maternity/{createIfNotExist}: - get: - tags: - - Wards - operationId: checkWardMaternityCode - parameters: - - name: createIfNotExist - in: path - required: true - schema: - type: boolean - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /visit/patient/{patID}: - get: - tags: - - Visit - operationId: getVisit - parameters: - - name: patID - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/VisitDTO' - security: - - bearerAuth: [] - /vaccinetype/check/{code}: - get: - tags: - - Vaccine Type - operationId: checkVaccineTypeCode - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /vaccines/type-code/{vaccineTypeCode}: - get: - tags: - - Vaccines - operationId: getVaccinesByVaccineTypeCode - parameters: - - name: vaccineTypeCode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/VaccineDTO' - security: - - bearerAuth: [] - /vaccines/check/{code}: - get: - tags: - - Vaccines - operationId: checkVaccineCode - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /usersettings/dashboard: - get: - tags: - - User Settings - operationId: getUserSettingDashboard - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserSettingDTO' - security: - - bearerAuth: [] - /users/{username}: - get: - tags: - - Users - operationId: getUserByName - parameters: - - name: username - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserDTO' - security: - - bearerAuth: [] - delete: - tags: - - Users - operationId: deleteUser - parameters: - - name: username - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /users/permissions: - get: - tags: - - Users - operationId: retrievePermissionsByCurrentLoggedInUser - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LitePermissionDTO' - security: - - bearerAuth: [] - /users/permissions/username/{username}: - get: - tags: - - Users - operationId: retrievePermissionsByUsername - parameters: - - name: username - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LitePermissionDTO' - security: - - bearerAuth: [] - /users/menus/{username}: - get: - tags: - - Users - operationId: getMenu - parameters: - - name: username - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserMenuItemDTO' - security: - - bearerAuth: [] - /users/me: - get: - tags: - - Users - operationId: retrieveProfileByCurrentLoggedInUser - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserProfileDTO' - security: - - bearerAuth: [] - /users/group-menus/{group_code}: - get: - tags: - - Users - operationId: getGroupMenu - parameters: - - name: group_code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserMenuItemDTO' - security: - - bearerAuth: [] - /therapies/{code_patient}: - get: - tags: - - Therapies - operationId: getTherapyRows - parameters: - - name: code_patient - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TherapyRowDTO' - security: - - bearerAuth: [] - delete: - tags: - - Therapies - operationId: deleteAllTherapies - parameters: - - name: code_patient - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /suppliers/{id}: - get: - tags: - - Suppliers - operationId: getSuppliers_1 - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SupplierDTO' - security: - - bearerAuth: [] - /stockmovements: - get: - tags: - - Stock Movements - operationId: getMovements - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - security: - - bearerAuth: [] - /stockmovements/{ref}: - get: - tags: - - Stock Movements - operationId: getMovements_1 - parameters: - - name: ref - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - security: - - bearerAuth: [] - /stockmovements/lot/{med_code}: - get: - tags: - - Stock Movements - operationId: getLotByMedical - parameters: - - name: med_code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LotDTO' - security: - - bearerAuth: [] - /stockmovements/filter/v2: - get: - tags: - - Stock Movements - operationId: getMovements_2 - parameters: - - name: med_code - in: query - required: false - schema: - type: integer - format: int32 - - name: med_type - in: query - required: false - schema: - type: string - - name: ward_id - in: query - required: false - schema: - type: string - - name: mov_type - in: query - required: false - schema: - type: string - - name: mov_from - in: query - required: false - schema: - type: string - format: date-time - - name: mov_to - in: query - required: false - schema: - type: string - format: date-time - - name: lot_prep_from - in: query - required: false - schema: - type: string - format: date-time - - name: lot_prep_to - in: query - required: false - schema: - type: string - format: date-time - - name: lot_due_from - in: query - required: false - schema: - type: string - format: date-time - - name: lot_due_to - in: query - required: false - schema: - type: string - format: date-time - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - security: - - bearerAuth: [] - /stockmovements/filter/v1: - get: - tags: - - Stock Movements - operationId: getMovements_3 - parameters: - - name: ward_id - in: query - required: true - schema: - type: string - - name: from - in: query - required: true - schema: - type: string - format: date-time - - name: to - in: query - required: true - schema: - type: string - format: date-time - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementDTO' - security: - - bearerAuth: [] - /stockmovements/critical/check: - get: - tags: - - Stock Movements - operationId: alertCriticalQuantity - parameters: - - name: med_code - in: query - required: true - schema: - type: integer - format: int32 - - name: qty - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /reports/exams-list: - get: - tags: - - Reports - operationId: printExamsListPdf - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - type: string - format: byte - security: - - bearerAuth: [] - /reports/diseases-list: - get: - tags: - - Reports - operationId: printDiseasesListPdf - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - type: string - format: byte - security: - - bearerAuth: [] - /pricelists/prices: - get: - tags: - - Price Lists - operationId: getPrices - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PriceDTO' - security: - - bearerAuth: [] - /pricelists/duplicate/{id}: - get: - tags: - - Price Lists - operationId: copyList - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /pricelists/duplicate/byfactor/{id}: - get: - tags: - - Price Lists - operationId: copyByFactorAndStep - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - - name: factor - in: query - required: true - schema: - type: number - format: double - - name: step - in: query - required: true - schema: - type: number - format: double - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /permissions/userGroupCode/{userGroupCode}: - get: - tags: - - permissions - operationId: retrievePermissionsByUserGroupcode - parameters: - - name: userGroupCode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - /permissions/name/{name}: - get: - tags: - - permissions - operationId: retrievePermissionByName - parameters: - - name: name - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDTO' - security: - - bearerAuth: [] - /patientvaccines/week: - get: - tags: - - Patient Vaccines - operationId: getPatientVaccines - parameters: - - name: oneWeek - in: query - required: false - schema: - type: boolean - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PatientVaccineDTO' - security: - - bearerAuth: [] - /patientvaccines/progyear/{year}: - get: - tags: - - Patient Vaccines - operationId: getProgYear - parameters: - - name: year - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /patientvaccines/filter: - get: - tags: - - Patient Vaccines - operationId: getPatientVaccinesByDatesRanges - parameters: - - name: vaccineTypeCode - in: query - required: true - schema: - type: string - - name: vaccineCode - in: query - required: true - schema: - type: string - - name: dateFrom - in: query - required: true - schema: - type: string - format: date - - name: dateTo - in: query - required: true - schema: - type: string - format: date - - name: sex - in: query - required: true - schema: - type: string - - name: ageFrom - in: query - required: true - schema: - type: integer - format: int32 - - name: ageTo - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PatientVaccineDTO' - security: - - bearerAuth: [] - /patients/search: - get: - tags: - - Patients - operationId: searchPatient - parameters: - - name: firstName - in: query - required: false - schema: - type: string - default: "" - - name: secondName - in: query - required: false - schema: - type: string - default: "" - - name: birthDate - in: query - required: false - schema: - type: string - format: date-time - - name: address - in: query - required: false - schema: - type: string - default: "" - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PatientDTO' - security: - - bearerAuth: [] - /patients/nextcode: - get: - tags: - - Patients - operationId: getPatientNextCode - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /patients/merge: - get: - tags: - - Patients - operationId: mergePatients - parameters: - - name: mergedcode - in: query - required: true - schema: - type: integer - format: int32 - - name: code2 - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /patients/cities: - get: - tags: - - Patients - operationId: getPatientCities - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - type: string - security: - - bearerAuth: [] - /patients/all: - get: - tags: - - Patients - operationId: getPatientAll - parameters: - - name: code - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientDTO' - security: - - bearerAuth: [] - /operations/search/type: - get: - tags: - - Operations - operationId: getOperationByTypeDescription - parameters: - - name: typeDescription - in: query - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationDTO' - security: - - bearerAuth: [] - /operations/rows/search/patient: - get: - tags: - - Operations - operationId: getOperationRowsByPatient - parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationRowDTO' - security: - - bearerAuth: [] - /operations/rows/search/admission: - get: - tags: - - Operations - operationId: getOperationRowsByAdmt - parameters: - - name: admissionId - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OperationRowDTO' - security: - - bearerAuth: [] - /opds/weekly: - get: - tags: - - Opds - operationId: getOpdToDayOrWeek - parameters: - - name: oneWeek - in: query - required: false - schema: - type: boolean - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OpdDTO' - security: - - bearerAuth: [] - /opds/search: - get: - tags: - - Opds - operationId: getOpdByDates - parameters: - - name: dateFrom - in: query - required: true - schema: - type: string - - name: dateTo - in: query - required: true - schema: - type: string - - name: diseaseTypeCode - in: query - required: false - schema: - type: string - - name: diseaseCode - in: query - required: false - schema: - type: string - - name: ageFrom - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: ageTo - in: query - required: false - schema: - type: integer - format: int32 - default: 200 - - name: sex - in: query - required: false - schema: - type: string - default: A - - name: newPatient - in: query - required: false - schema: - type: string - default: A - - name: patientCode - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: page - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: size - in: query - required: false - schema: - type: integer - format: int32 - default: 80 - - name: paged - in: query - required: false - schema: - type: boolean - default: false - - name: wardCode - in: query - required: false - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageOpdDTO' - security: - - bearerAuth: [] - /opds/patient/{pcode}: - get: - tags: - - Opds - operationId: getOpdByPatient - parameters: - - name: pcode - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OpdWithOperationRowDTO' - security: - - bearerAuth: [] - /opds/last/{patientCode}: - get: - tags: - - Opds - operationId: getLastOpd - parameters: - - name: patientCode - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OpdDTO' - security: - - bearerAuth: [] - /opds/check/progyear: - get: - tags: - - Opds - operationId: isExistOpdNum - parameters: - - name: opdNum - in: query - required: true - schema: - type: integer - format: int32 - - name: year - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /opds/ProgYear/{year}: - get: - tags: - - Opds - operationId: getProgYear_1 - parameters: - - name: year - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /medstockmovementtype/{code}: - get: - tags: - - Medical Stock Movement Type - operationId: getMovementType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MovementTypeDTO' - security: - - bearerAuth: [] - delete: - tags: - - Medical Stock Movement Type - operationId: deleteMedicalDsrStockMovementType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /medstockmovementtype/check/{code}: - get: - tags: - - Medical Stock Movement Type - operationId: isCodeUsed - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /medicaltypes/check/{code}: - get: - tags: - - Medical Types - operationId: isCodeUsed_1 - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /medicalstockward/{ward_code}: - get: - tags: - - Medical Stock Ward - operationId: getMedicalsWard - parameters: - - name: ward_code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MedicalWardDTO' - security: - - bearerAuth: [] - /medicalstockward/movements/{ward_code}: - get: - tags: - - Medical Stock Ward - operationId: getMovementWard - parameters: - - name: ward_code - in: path - required: true - schema: - type: string - - name: from - in: query - required: true - schema: - type: string - format: date - - name: to - in: query - required: true - schema: - type: string - format: date - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementWardDTO' - security: - - bearerAuth: [] - /medicalstockward/movements/to/{target_ward_code}: - get: - tags: - - Medical Stock Ward - operationId: getWardMovementsToWard - parameters: - - name: target_ward_code - in: path - required: true - schema: - type: string - - name: from - in: query - required: true - schema: - type: string - format: date-time - - name: to - in: query - required: true - schema: - type: string - format: date-time - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MovementWardDTO' - security: - - bearerAuth: [] - /medicalstockward/current/{ward_code}: - get: - tags: - - Medical Stock Ward - operationId: getCurrentQuantityInWard - parameters: - - name: ward_code - in: path - required: true - schema: - type: string - - name: med_id - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /medicals/{code}: - get: - tags: - - Medicals - operationId: getMedical - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - delete: - tags: - - Medicals - operationId: deleteMedical - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /medicals/filter: - get: - tags: - - Medicals - operationId: filterMedicals - parameters: - - name: desc - in: query - required: false - schema: - type: string - - name: type - in: query - required: false - schema: - type: string - - name: critical - in: query - required: false - schema: - type: boolean - default: false - - name: name_sorted - in: query - required: false - schema: - type: boolean - default: false - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MedicalDTO' - security: - - bearerAuth: [] - /malnutritions/{id_admission}: - get: - tags: - - Malnutritions - operationId: getMalnutrition - parameters: - - name: id_admission - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MalnutritionDTO' - security: - - bearerAuth: [] - /malnutritions/last/{id_patient}: - get: - tags: - - Malnutritions - operationId: getLastMalnutrition - parameters: - - name: id_patient - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MalnutritionDTO' - security: - - bearerAuth: [] - /laboratories/materials: - get: - tags: - - Laboratories - operationId: getMaterials - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - type: string - security: - - bearerAuth: [] - /laboratories/exams: - get: - tags: - - Laboratories - operationId: getLaboratoryForPrint - parameters: - - name: examName - in: query - required: false - schema: - type: string - default: "" - - name: dateFrom - in: query - required: true - schema: - type: string - - name: dateTo - in: query - required: true - schema: - type: string - - name: patientCode - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: status - in: query - required: false - schema: - type: string - default: "" - - name: page - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: size - in: query - required: false - schema: - type: integer - format: int32 - default: 80 - - name: paged - in: query - required: false - schema: - type: boolean - default: false - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageLabWithRowsDTO' - security: - - bearerAuth: [] - /laboratories/exams/{code}: - get: - tags: - - Laboratories - operationId: getExamWithRowsById - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/LabWithRowsDTO' - security: - - bearerAuth: [] - /laboratories/examRequest/patient/{patId}: - get: - tags: - - Laboratories - operationId: getLaboratoryExamRequest_1 - parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LaboratoryDTO' - security: - - bearerAuth: [] - /laboratories/byPatientId/{patId}: - get: - tags: - - Laboratories - operationId: getLaboratory_1 - parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/LabWithRowsDTO' - security: - - bearerAuth: [] - /hospitals: - get: - tags: - - Hospitals - operationId: getHospital - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/HospitalDTO' - security: - - bearerAuth: [] - /hospitals/currencyCode: - get: - tags: - - Hospitals - operationId: getHospitalCurrencyCode - responses: - "200": - description: OK - content: - application/json: - schema: - type: string - security: - - bearerAuth: [] - /exams/description/{description}: - get: - tags: - - Exams - operationId: getExams_1 - parameters: - - name: description - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamDTO' - security: - - bearerAuth: [] - /examrows/{code}: - get: - tags: - - Exam Rows - operationId: getExamRowsByCode - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamRowDTO' - security: - - bearerAuth: [] - delete: - tags: - - Exam Rows - operationId: deleteExam_2 - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /examrows/search: - get: - tags: - - Exam Rows - operationId: getExamRowsByCodeAndDescription - parameters: - - name: code - in: query - required: true - schema: - type: integer - format: int32 - - name: description - in: query - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamRowDTO' - security: - - bearerAuth: [] - /examrows/byExamCode/{examCode}: - get: - tags: - - Exam Rows - operationId: getExamRowsByExamCode - parameters: - - name: examCode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ExamRowDTO' - security: - - bearerAuth: [] - /examinations/lastNByPatId: - get: - tags: - - Examinations - operationId: getLastNByPatID - parameters: - - name: limit - in: query - required: true - schema: - type: integer - format: int32 - - name: patId - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PagePatientExaminationDTO' - security: - - bearerAuth: [] - /examinations/lastByPatientId/{patId}: - get: - tags: - - Examinations - operationId: getLastByPatientId - parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - security: - - bearerAuth: [] - /examinations/fromLastPatientExamination/{id}: - get: - tags: - - Examinations - operationId: getFromLastPatientExamination - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - security: - - bearerAuth: [] - /examinations/defaultPatientExamination: - get: - tags: - - Examinations - operationId: getDefaultPatientExamination - parameters: - - name: patId - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PatientExaminationDTO' - security: - - bearerAuth: [] - /examinations/byPatientId/{patId}: - get: - tags: - - Examinations - operationId: getByPatientId - parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PatientExaminationDTO' - security: - - bearerAuth: [] - /diseases/{code}: - get: - tags: - - Diseases - operationId: getDiseaseByCode - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - delete: - tags: - - Diseases - operationId: deleteDisease - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - security: - - bearerAuth: [] - /diseases/opd: - get: - tags: - - Diseases - operationId: getDiseasesOpd - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/opd/{typecode}: - get: - tags: - - Diseases - operationId: getDiseasesOpdByCode - parameters: - - name: typecode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/ipd/out: - get: - tags: - - Diseases - operationId: getDiseasesIpdOut - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/ipd/out/{typecode}: - get: - tags: - - Diseases - operationId: getDiseasesIpdOutByCode - parameters: - - name: typecode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/ipd/in: - get: - tags: - - Diseases - operationId: getDiseasesIpdIn - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/ipd/in/{typecode}: - get: - tags: - - Diseases - operationId: getDiseasesIpdInByCode - parameters: - - name: typecode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/both: - get: - tags: - - Diseases - operationId: getDiseases - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/both/{typecode}: - get: - tags: - - Diseases - operationId: getDiseases_1 - parameters: - - name: typecode - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /diseases/all: - get: - tags: - - Diseases - operationId: getAllDiseases - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DiseaseDTO' - security: - - bearerAuth: [] - /discharges: - get: - tags: - - Admissions - operationId: getDischarges - parameters: - - name: dischargerange - in: query - required: true - schema: - type: array - items: - type: string - - name: page - in: query - required: false - schema: - type: integer - format: int32 - default: 0 - - name: size - in: query - required: false - schema: - type: integer - format: int32 - default: 80 - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageAdmissionDTO' - security: - - bearerAuth: [] - /bills/pending: - get: - tags: - - Bills - operationId: getPendingBills - parameters: - - name: patient_code - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - /bills/pending/affiliate: - get: - tags: - - Bills - operationId: getPendingBillsAffiliate - parameters: - - name: patient_code - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillDTO' - security: - - bearerAuth: [] - /bills/payments: - get: - tags: - - Bills - operationId: searchBillsPayments - parameters: - - name: datefrom - in: query - required: true - schema: - type: string - - name: dateto - in: query - required: true - schema: - type: string - - name: patient_code - in: query - required: false - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillPaymentsDTO' - security: - - bearerAuth: [] - /bills/payments/{bill_id}: - get: - tags: - - Bills - operationId: getPaymentsByBillId - parameters: - - name: bill_id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillPaymentsDTO' - security: - - bearerAuth: [] - /bills/items: - get: - tags: - - Bills - operationId: getDistinctItems - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillItemsDTO' - security: - - bearerAuth: [] - /bills/items/{bill_id}: - get: - tags: - - Bills - operationId: getItems - parameters: - - name: bill_id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BillItemsDTO' - security: - - bearerAuth: [] - /agetypes/{index}: - get: - tags: - - AgeTypes - operationId: getAgeTypeByIndex - parameters: - - name: index - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AgeType' - security: - - bearerAuth: [] - /agetypes/code: - get: - tags: - - AgeTypes - operationId: getAgeTypeCodeByAge - parameters: - - name: age - in: query - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - type: string - security: - - bearerAuth: [] - /admissions/patient/{patientCode}: - get: - tags: - - Admissions - operationId: getAdmissions_1 - parameters: - - name: patientCode - in: path - required: true - schema: - type: integer - format: int32 - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AdmissionDTO' - security: - - bearerAuth: [] - /admissions/getNextProgressiveIdInYear: - get: - tags: - - Admissions - operationId: getNextYProg - parameters: - - name: wardcode - in: query - required: true - schema: - type: string - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /admissions/getBedsOccupationInWard: - get: - tags: - - Admissions - operationId: getUsedWardBed - parameters: - - name: wardid - in: query - required: true - schema: - type: string - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: integer - format: int32 - security: - - bearerAuth: [] - /admissions/current: - get: - tags: - - Admissions - operationId: getCurrentAdmission - parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AdmissionDTO' - security: - - bearerAuth: [] - /admissions/admittedPatients: - get: - tags: - - Admissions - operationId: getAdmittedPatients - parameters: - - name: searchterms - in: query - required: false - schema: - type: string - default: "" - - name: admissionrange - in: query - required: false - schema: - type: array - items: - type: string - - name: dischargerange - in: query - required: false - schema: - type: array - items: - type: string - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AdmittedPatientDTO' - security: - - bearerAuth: [] - /wards/{code}: - delete: - tags: - - Wards - operationId: deleteWard - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /visit/delete/{patID}: - delete: - tags: - - Visit - operationId: deleteVisitsRelatedToPatient - parameters: - - name: patID - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /vaccinetype/{code}: - delete: - tags: - - Vaccine Type - operationId: deleteVaccineType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /vaccines/{code}: - delete: - tags: - - Vaccines - operationId: deleteVaccine - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /operations/rows/{code}: - delete: - tags: - - Operations - operationId: deleteOperationRow - parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /medicaltypes/{code}: - delete: - tags: - - Medical Types - operationId: deleteMedicalType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /diseasetypes/{code}: - delete: - tags: - - Disease Types - operationId: deleteDiseaseType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - security: - - bearerAuth: [] - /dischargetypes/{code}: - delete: - tags: - - DischargeType - operationId: deleteDischargeType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /deliverytypes/{code}: - delete: - tags: - - Delivery Type - operationId: deleteDeliveryType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /deliveryresulttypes/{code}: - delete: - tags: - - Delivery Result Type - operationId: deleteDeliveryResultType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /admissiontypes/{code}: - delete: - tags: - - AdmissionTypes - operationId: deleteAdmissionType - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] - /admissions/{id}: - delete: - tags: - - Admissions - operationId: deleteAdmissionType_1 - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 - responses: - "400": - description: Bad Request - "200": - description: OK - content: - application/json: - schema: - type: boolean - security: - - bearerAuth: [] -components: - schemas: - WardDTO: - required: - - beds - - description - - docs - - nurs - - visitDuration - type: object - properties: - code: - type: string - description: - type: string - telephone: - type: string - fax: - type: string - email: - type: string - beds: - type: integer - format: int32 - nurs: - type: integer - format: int32 - docs: - type: integer - format: int32 - visitDuration: - type: integer - format: int32 - lock: - type: integer - description: lock - format: int32 - example: 0 - pharmacy: - type: boolean - male: - type: boolean - female: - type: boolean - opd: - type: boolean - PatientDTO: - required: - - age - - bloodType - - city - - fatherName - - firstName - - motherName - - secondName - - sex - type: object - properties: - code: - type: integer - format: int32 - readOnly: true - firstName: - type: string - description: First name of the patient - example: Mario - secondName: - type: string - description: Last name of the patient - example: Rossi - name: - type: string - readOnly: true - birthDate: - type: string - description: Birth date - example: 1979-05-01 - age: - type: integer - description: Age - format: int32 - example: 40 - agetype: - type: string - description: Age type - example: "null" - sex: - type: string - description: Sex - example: M - enum: - - M - - F - address: - type: string - description: Address - example: "Via Roma, 12" - city: - type: string - description: City - example: Verona - nextKin: - type: string - readOnly: true - telephone: - type: string - description: Telephone - example: +393456789012 - note: - type: string - description: Note - example: Test insert new patient - motherName: - type: string - description: Mother's name - example: Roberta - mother: - type: string - description: "Mother's status (D=dead, A=alive)" - example: A - enum: - - D - - A - fatherName: - type: string - description: Father's name - example: Giuseppe - father: - type: string - description: "Father's status (D=dead, A=alive)" - example: D - enum: - - D - - A - bloodType: - type: string - description: "Blood type (0-/+, A-/+ , B-/+, AB-/+)" - example: A+ - enum: - - 0- - - 0+ - - A- - - A+ - - B- - - B+ - - AB- - - AB+ - hasInsurance: - type: string - description: "hasInsurance (Y=Yes, N=no)" - example: "N" - enum: - - "Y" - - "N" - parentTogether: - type: string - description: "Parent together (Y=Yes, N=no)" - example: "N" - enum: - - "Y" - - "N" - taxCode: - type: string - description: Tax code - example: RSSMRA79E01L781N - lock: - type: integer - description: lock - format: int32 - example: 0 - blobPhoto: - type: string - description: BlobPhoto - example: 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 - hashCode: - type: integer - format: int32 - readOnly: true - allergies: - type: string - description: allergies of patient - anamnesis: - type: string - description: Current anamnesis - status: - type: string - description: status - example: I - enum: - - I - - O - consensusFlag: - type: boolean - description: consensus flag - example: true - consensusServiceFlag: - type: boolean - description: consensus service flag - example: true - description: Class representing a patient - VisitDTO: - required: - - date - - patient - type: object - properties: - visitID: - type: integer - description: The visit's ID - format: int32 - patient: - $ref: '#/components/schemas/PatientDTO' - date: - type: string - description: Date of the visit - example: 2020-03-19T14:58:00 - note: - type: string - description: Note of the visit - sms: - type: boolean - description: Sms of the visit - ward: - $ref: '#/components/schemas/WardDTO' - duration: - type: integer - description: duration of the visit - format: int32 - service: - type: string - description: service done during the visit - description: Class representing a vaccine type - VaccineTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: Code of the vaccine type - example: C - description: - type: string - description: Description of the vaccine type - example: Child - description: Class representing a vaccine type - VaccineDTO: - required: - - code - - description - - vaccineType - type: object - properties: - code: - type: string - description: Code of the vaccine - example: "1" - description: - type: string - description: Description of the vaccine - example: BCG - vaccineType: - $ref: '#/components/schemas/VaccineTypeDTO' - lock: - type: integer - description: lock - format: int32 - example: 0 - description: Class representing a vaccine - UserDTO: - required: - - passwd - - userGroupName - - userName - type: object - properties: - userName: - type: string - description: the username (must be unique) - example: John Doe - userGroupName: - $ref: '#/components/schemas/UserGroupDTO' - passwd: - type: string - description: the user's password - example: 21@U2g423 - desc: - type: string - description: the user's description - example: Lab chief technician - UserGroupDTO: - required: - - code - type: object - properties: - code: - type: string - description: name of the group (must be unique) - example: labo - desc: - type: string - description: the description of the group - example: Staff members working in the laboratory - description: the user's group - SupplierDTO: - required: - - supId - - supName - type: object - properties: - supId: - type: integer - description: The supplier's ID - format: int32 - example: 111 - supName: - type: string - description: The supplier's name - example: Cogefar - supAddress: - type: string - description: The supplier's address - example: "25 Rue Ministre, Dschang" - supTaxcode: - type: string - description: The supplier's tax code - example: "5221" - supPhone: - type: string - description: The supplier's phone - example: +237654120145 - supFax: - type: string - description: The supplier's fax number - example: +237654120145 - supEmail: - type: string - description: The supplier's e-mail address - example: suplier@sample.com - supNote: - type: string - description: The supplier's notes - PricesOthersDTO: - required: - - code - - daily - - description - - ipdInclude - - opdInclude - type: object - properties: - id: - type: integer - format: int32 - code: - type: string - description: the prices code - example: PRICES001 - description: - type: string - description: the description - opdInclude: - type: boolean - ipdInclude: - type: boolean - daily: - type: boolean - discharge: - type: boolean - undefined: - type: boolean - hashCode: - type: integer - format: int32 - readOnly: true - description: Class representing a price others - PriceListDTO: - type: object - properties: - id: - type: integer - format: int32 - code: - type: string - description: the price list code - example: LISTE1 - name: - type: string - description: the name of list - example: default price list - description: - type: string - description: the price list description - example: default price list - currency: - type: string - description: the currency - example: FCFA - hashCode: - type: integer - format: int32 - readOnly: true - description: Class representing a price list - PregnantTreatmentTypeDTO: - required: - - description - type: object - properties: - code: - type: string - description: - type: string - description: the description - hashCode: - type: integer - format: int32 - readOnly: true - description: Class representing a pregnant treatment type - PermissionDTO: - type: object - properties: - name: - type: string - id: - type: integer - format: int32 - description: - type: string - userGroupIds: - type: array - items: - type: string - PatientVaccineDTO: - required: - - patient - - progr - - vaccine - - vaccineDate - type: object - properties: - code: - type: integer - format: int32 - progr: - type: integer - description: a progr. in year - format: int32 - example: 1 - vaccineDate: - type: string - description: the vaccine date - patient: - $ref: '#/components/schemas/PatientDTO' - vaccine: - $ref: '#/components/schemas/VaccineDTO' - lock: - type: integer - description: lock - format: int32 - example: 0 - hashCode: - type: integer - format: int32 - readOnly: true - PatientConsensusDTO: - required: - - patientId - type: object - properties: - consensusFlag: - type: boolean - description: consensus flag - serviceFlag: - type: boolean - description: service flag - patientId: - type: integer - description: patient id - format: int32 - description: Class representing a patient consensus - OperationTypeDTO: - required: - - description - type: object - properties: - code: - type: string - description: - type: string - OperationDTO: - required: - - description - - major - - type - type: object - properties: - code: - type: string - description: - type: string - description: the operation description - type: - $ref: '#/components/schemas/OperationTypeDTO' - major: - type: integer - description: the operation major - format: int32 - lock: - type: integer - description: lock - format: int32 - example: 0 - AdmissionDTO: - required: - - admDate - - admitted - - deleted - - type - type: object - properties: - id: - type: integer - description: admission key - format: int32 - example: 12 - admitted: - type: integer - description: if admitted or not - format: int32 - example: 0 - type: - type: string - description: type of admission - example: "N" - ward: - $ref: '#/components/schemas/WardDTO' - patient: - $ref: '#/components/schemas/PatientDTO' - admDate: - type: string - description: admission date - admType: - $ref: '#/components/schemas/AdmissionTypeDTO' - diseaseIn: - $ref: '#/components/schemas/DiseaseDTO' - diseaseOut1: - $ref: '#/components/schemas/DiseaseDTO' - diseaseOut2: - $ref: '#/components/schemas/DiseaseDTO' - diseaseOut3: - $ref: '#/components/schemas/DiseaseDTO' - operation: - $ref: '#/components/schemas/OperationDTO' - opDate: - type: string - description: operation date - opResult: - type: string - description: 'operation result value is ''P'' or ''N'' ' - example: "N" - disDate: - type: string - description: discharge date - disType: - $ref: '#/components/schemas/DischargeTypeDTO' - note: - type: string - description: free note - transUnit: - type: number - description: transfusional unit - format: float - visitDate: - type: string - description: visit date - pregTreatmentType: - $ref: '#/components/schemas/PregnantTreatmentTypeDTO' - deliveryDate: - type: string - description: delivery date - deliveryType: - $ref: '#/components/schemas/DeliveryTypeDTO' - deliveryResult: - $ref: '#/components/schemas/DeliveryResultTypeDTO' - weight: - type: number - description: weight - format: float - ctrlDate1: - type: string - format: date-time - ctrlDate2: - type: string - format: date-time - abortDate: - type: string - format: date-time - userID: - type: string - description: weight - hashCode: - type: integer - format: int32 - readOnly: true - lock: - type: integer - description: lock - format: int32 - example: 0 - deleted: - type: string - description: "flag record deleted, values are 'Y' OR 'N' " - example: "N" - fhu: - type: string - yprog: - type: integer - format: int32 - AdmissionTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: code of the admission type - example: A - description: - type: string - description: description of the admission type - example: AMBULANCE - description: admission type - BillDTO: - required: - - amount - - balance - - date - - listName - - patName - - patientTrue - - status - - update - - user - type: object - properties: - id: - type: integer - format: int32 - patient: - $ref: '#/components/schemas/PatientDTO' - listId: - type: integer - format: int32 - date: - type: string - description: Date of bill creation - example: 2020-03-19T14:58:00.000Z - update: - type: string - description: Date of bill updated - example: 2020-03-19T14:58:00.000Z - listName: - type: string - description: Price list name - example: Basic - patientTrue: - type: boolean - description: Is bill belongs to a patient? - example: true - patName: - type: string - description: patient name - example: Mario Rossi - status: - type: string - description: Bill status - example: O - amount: - type: number - description: Bill Amount - format: double - example: 1000 - balance: - type: number - description: Bill balance - format: double - example: 1500 - user: - type: string - description: user name who create the bill - example: admin - list: - type: boolean - description: Class representing a bill - DeliveryResultTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: code of the delivery result type - example: M - description: - type: string - description: description of the delivery result type - example: MORTALITÉ MATERNELLE - description: 'delivery type ' - DeliveryTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: code of the delivery type - example: "N" - description: - type: string - description: description of the delivery type - example: ACCOUCHEMENT NORMAL - description: delivery type - DischargeTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: code of the discharge type - example: SN - description: - type: string - description: description of the discharge type - example: SORTIE NORMALE - description: disChargeType - DiseaseDTO: - required: - - code - - description - - diseaseType - - ipdInInclude - - ipdOutInclude - - opdInclude - type: object - properties: - code: - type: string - description: Disease code - example: "99" - description: - type: string - description: Disease description - diseaseType: - $ref: '#/components/schemas/DiseaseTypeDTO' - opdInclude: - type: boolean - description: indicates whether the disease is an OPD disease - example: true - ipdInInclude: - type: boolean - description: indicates whether the disease is an IPD-IN disease - example: true - ipdOutInclude: - type: boolean - description: indicates whether the disease is an IPD-OUT disease - example: true - hashCode: - type: integer - format: int32 - readOnly: true - lock: - type: integer - description: lock - format: int32 - example: 0 - description: Class representing a disease - DiseaseTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: Disease type code - description: - type: string - description: Disease type description - description: Class representing a disease type - OpdDTO: - required: - - age - - newPatient - - note - - sex - - ward - type: object - properties: - code: - type: integer - description: the code of the opd - format: int32 - example: 3 - date: - type: string - description: the date of the admission - nextVisitDate: - type: string - description: the next visit date - patientCode: - type: integer - description: the admitted patient code - format: int32 - age: - type: integer - description: the patient age - format: int32 - example: 18 - sex: - type: string - description: the patient sex - example: M - patientName: - type: string - description: the patient sex - example: M - ageType: - type: string - description: Age type - example: "null" - note: - type: string - description: the admission note - example: this is out patient - prog_year: - type: integer - description: a progr. in year for each ward - format: int32 - example: 18 - disease: - $ref: '#/components/schemas/DiseaseDTO' - disease2: - $ref: '#/components/schemas/DiseaseDTO' - disease3: - $ref: '#/components/schemas/DiseaseDTO' - newPatient: - type: string - description: new(N) or reattendance(R) patient - example: "N" - referralFrom: - type: string - description: referral from another unit - example: R - referralTo: - type: string - description: referral to another unit - example: R - userID: - type: string - description: user id - lock: - type: integer - format: int32 - readOnly: true - hashCode: - type: integer - format: int32 - readOnly: true - reason: - type: string - description: reasons for entry - anamnesis: - type: string - description: history of a medical or psychiatric patient - allergies: - type: string - description: allergies of patient - therapies: - type: string - description: Current therapies - prescription: - type: string - description: prescription - ward: - $ref: '#/components/schemas/WardDTO' - OperationRowDTO: - required: - - opDate - - opResult - - operation - - prescriber - type: object - properties: - id: - type: integer - format: int32 - operation: - $ref: '#/components/schemas/OperationDTO' - prescriber: - type: string - opResult: - type: string - opDate: - type: string - format: date-time - remarks: - type: string - admission: - $ref: '#/components/schemas/AdmissionDTO' - opd: - $ref: '#/components/schemas/OpdDTO' - bill: - $ref: '#/components/schemas/BillDTO' - transUnit: - type: number - format: float - hashCode: - type: integer - format: int32 - readOnly: true - OpdWithOperationRowDTO: - type: object - properties: - opdDTO: - $ref: '#/components/schemas/OpdDTO' - operationRows: - type: array - items: - $ref: '#/components/schemas/OperationRowDTO' - MovementTypeDTO: - required: - - code - - description - - type - type: object - properties: - code: - type: string - description: Code of the movement type - example: D - description: - type: string - description: Description of the movement type - example: Damage - type: - type: string - description: Type of the movement type - example: "-" - MedicalTypeDTO: - required: - - code - - description - type: object - properties: - code: - type: string - description: Code of the medical type - example: M - description: - type: string - description: Description of the medical type - example: Medical material - MedicalDTO: - type: object - properties: - code: - type: integer - description: The id of the medical - format: int32 - example: 1 - prod_code: - type: string - description: The product code - example: PARA - type: - $ref: '#/components/schemas/MedicalTypeDTO' - description: - type: string - description: The description of the medical - example: Paracétamol - initialqty: - type: number - description: The initial quantity of the medical - format: double - example: 21 - pcsperpck: - type: integer - description: The number of pieces per packet - format: int32 - example: 100 - inqty: - type: number - description: The input quantity of the medical - format: double - example: 340 - outqty: - type: number - description: The out quantity of the medical - format: double - example: 8 - minqty: - type: number - description: The min quantity of the medical - format: double - example: 15 - lock: - type: integer - description: lock - format: int32 - example: 0 - MalnutritionDTO: - required: - - admission - - dateSupp - - height - - weight - type: object - properties: - code: - type: integer - description: The code malnutrition control - format: int32 - example: 1 - dateSupp: - type: string - description: The date of this malnutrition control - example: 1979-05-01T11:20:33 - dateConf: - type: string - description: The date of the next malnutrition control - example: 1979-05-01T11:20:33 - admission: - $ref: '#/components/schemas/AdmissionDTO' - height: - type: number - description: The height of the patient - format: float - example: 165 - weight: - type: number - description: The weight of the patient - format: float - example: 65 - lock: - type: integer - description: lock - format: int32 - example: 0 - ExamDTO: - type: object - properties: - code: - type: string - description: Exam Code - example: "01.01" - description: - type: string - description: Exam Description - example: 1.1 HB - procedure: - type: integer - description: Exam Procedure - format: int32 - example: 1 - defaultResult: - type: string - description: Exam Default Result - example: '>=12 (NORMAL)' - examtype: - $ref: '#/components/schemas/ExamTypeDTO' - lock: - type: integer - description: lock - format: int32 - example: 0 - description: Laboratory Exam - ExamTypeDTO: - type: object - properties: - code: - type: string - description: Exam Type Code - example: HB - description: - type: string - description: Exam Type Description - example: 1.Haematology - description: Exam Type - LabWithRowsDTO: - type: object - properties: - laboratoryDTO: - $ref: '#/components/schemas/LaboratoryDTO' - laboratoryRowList: - type: array - items: - type: string - LaboratoryDTO: - type: object - properties: - code: - type: integer - description: Laboratory Code - format: int32 - material: - type: string - description: Laboratory Material - example: Blood - exam: - $ref: '#/components/schemas/ExamDTO' - registrationDate: - type: string - description: Laboratory Registration Date - labDate: - type: string - description: Laboratory Exam Date - result: - type: string - description: Laboratory Result - lock: - type: integer - description: lock - format: int32 - example: 0 - note: - type: string - description: Laboratory Note - example: Note by laboratorist - patientCode: - type: integer - description: Laboratory Patient Code - format: int32 - patName: - type: string - description: Laboratory Patient Name - inOutPatient: - type: string - description: Laboratory Patient InOut - example: "0" - enum: - - I - - O - age: - type: integer - description: Laboratory Patient Age - format: int32 - sex: - type: string - description: Laboratory Patient Sex - example: M - status: - type: string - description: Laboratory status - example: DRAFT - enum: - - draft - - open - - done - - invalid - - deleted - HospitalDTO: - type: object - properties: - code: - type: string - description: Hospital Code - example: STLUKE - description: - type: string - description: Hospital Description - example: St. Luke HOSPITAL - Angal - address: - type: string - description: Hospital Address - example: Hospital Address - city: - type: string - description: Hospital City - example: Hospital City - telephone: - type: string - description: Hospital Telephone - example: +123 0123456789 - fax: - type: string - description: Hospital Fax - example: +123 0123456789 - email: - type: string - description: Hospital Email - example: hospital@isf.email.xx - currencyCod: - type: string - description: Hospital Currency Cod - example: EUR - lock: - type: integer - description: lock - format: int32 - example: 0 - PatientExaminationDTO: - required: - - patientCode - - pex_date - type: object - properties: - pex_ID: - type: integer - description: Patient Examination Id - format: int32 - example: 1 - pex_date: - type: string - description: Date of Patient Examination - example: 2020-03-19T14:58:00.000Z - patientCode: - type: integer - description: Patient Examination Code - format: int32 - pex_height: - type: integer - description: Patient Height in cm - format: int32 - pex_weight: - type: number - description: Patient Weight in Kg - format: double - pex_ap_min: - type: integer - description: Blood Pressure MIN in mmHg - format: int32 - pex_ap_max: - type: integer - description: Blood Pressure MAX in mmHg - format: int32 - pex_rr: - type: integer - description: Respiratory Rate in bpm - format: int32 - pex_temp: - type: number - description: Patient Temperature in °C - format: double - pex_sat: - type: number - description: Patient Saturation in % - format: double - pex_hr: - type: integer - description: Heart Rate in Apm - format: int32 - pex_auscultation: - type: string - description: patient ausculation - example: normal - enum: - - normal - - wheezes - - rhonchi - - crackles - - stridor - - bronchial - pex_hgt: - type: integer - description: Hemo Glucose Test - format: int32 - pex_diuresis: - type: integer - description: Daily urine Volume in ml - format: int32 - pex_diuresis_desc: - type: string - description: Diuresis description - example: physiological - enum: - - physiological - - oliguria - - anuria - - frequent - - nocturia - - stranguria - - hematuria - - pyuria - pex_note: - type: string - description: Examination Note - pex_bowel_desc: - type: string - description: Bowel Function - example: regular - enum: - - constipation - - regular - - diarrheal - - irregular - BillItemsDTO: - required: - - itemAmount - - itemDescription - - itemDisplayCode - - itemId - - itemQuantity - - priceId - type: object - properties: - id: - type: integer - format: int32 - billId: - type: integer - description: Bill id - format: int32 - priceId: - type: string - description: The price Id - example: "104" - itemDescription: - type: string - description: item description - example: Acetone 99 % 1ltr - itemAmount: - type: number - description: item amount - format: double - example: 1000 - itemQuantity: - type: integer - description: item quantity - format: int32 - example: 1 - itemDisplayCode: - type: string - description: item display code - example: Acetone - itemId: - type: string - description: item id - example: "3" - hashCode: - type: integer - format: int32 - readOnly: true - price: - type: boolean - description: Class representing a billItem - BillPaymentsDTO: - required: - - amount - - billId - - date - - user - type: object - properties: - id: - type: integer - format: int32 - billId: - type: integer - description: Bill id - format: int32 - date: - type: string - description: date of payment - format: date-time - example: 2020-03-19T14:58:00Z - amount: - type: number - description: the payment amount - format: double - example: 500 - user: - type: string - description: the current user - example: admin - hashCode: - type: integer - format: int32 - readOnly: true - description: Class representing a billPayment - FullBillDTO: - required: - - bill - - billItems - type: object - properties: - bill: - $ref: '#/components/schemas/BillDTO' - billItems: - type: array - description: list of bill items elements - items: - $ref: '#/components/schemas/BillItemsDTO' - billPayments: - type: array - description: list of bill payments elements - items: - $ref: '#/components/schemas/BillPaymentsDTO' - AgeTypeDTO: - required: - - description - - from - - to - type: object - properties: - code: - type: string - description: Age type code - description: - type: string - description: Age type description - from: - type: integer - description: The minimum value of the range - format: int32 - example: 0 - to: - type: integer - description: The maximum value of the range - format: int32 - example: 0 - description: Class representing an age type which is typically a range - UserSettingDTO: - required: - - configName - - configValue - - id - type: object - properties: - id: - type: integer - description: the id of the setting (must be unique) - format: int32 - example: 1 - configName: - type: string - description: the the name of the setting - example: dashboard - configValue: - type: string - description: the the value of the user - UserMenuItemDTO: - required: - - altLabel - - buttonLabel - - code - - myClass - - mySubmenu - - position - type: object - properties: - code: - type: string - description: code of the menu item (must be unique) - example: admtype - buttonLabel: - type: string - description: button label of the menu item - example: Admission Type - altLabel: - type: string - description: alt label of the menu item - example: Admission Type - tooltip: - type: string - description: tooltip label of the menu item - example: Admission Type - shortcut: - type: string - description: shortcut of the menu item - example: A - mySubmenu: - type: string - description: parent submenu of the menu item - example: types - myClass: - type: string - description: the main window class associated - example: org.isf.admtype.gui.AdmissionTypeBrowser - position: - type: integer - description: position of the menu item - format: int32 - example: 5 - asubMenu: - type: boolean - TherapyRowDTO: - required: - - endDate - - freqInDay - - freqInPeriod - - medicalId - - notifyInt - - patID - - qty - - smsInt - - startDate - - unitID - type: object - properties: - therapyID: - type: integer - description: The therapy's ID - format: int32 - example: 1 - patID: - $ref: '#/components/schemas/PatientDTO' - startDate: - type: string - description: The start date of therapy - format: date-time - endDate: - type: string - description: The end date of the therapy - format: date-time - medicalId: - type: integer - description: The ID of the medical concerned by the therapy - format: int32 - example: 1 - qty: - type: number - description: The quantity of medicals - format: double - example: 48 - unitID: - type: integer - description: The unit's ID - format: int32 - example: 1 - freqInDay: - type: integer - description: The frequency in day - format: int32 - example: 2 - freqInPeriod: - type: integer - description: The frequency in period - format: int32 - example: 1 - note: - type: string - description: A note for the therapy - example: Sample note - notifyInt: - type: integer - description: "the notify flag: 1 if the notification need to be activated,\ - \ 0 otherwise" - format: int32 - example: 0 - smsInt: - type: integer - description: "the sms flag: 1 if sms need to be sent to patient, 0 otherwise" - format: int32 - example: 0 - Patient: - required: - - age - - birthDate - - bloodType - - city - - deleted - - fatherName - - firstName - - motherName - - name - - secondName - - sex - type: object - properties: - createdBy: - type: string - createdDate: - type: string - format: date-time - lastModifiedBy: - type: string - lastModifiedDate: - type: string - format: date-time - active: - type: integer - format: int32 - code: - type: integer - format: int32 - firstName: - type: string - secondName: - type: string - name: - type: string - birthDate: - type: string - format: date - age: - type: integer - format: int32 - agetype: - type: string - sex: - type: string - address: - type: string - city: - type: string - nextKin: - type: string - telephone: - type: string - note: - type: string - motherName: - type: string - mother: - type: string - fatherName: - type: string - father: - type: string - bloodType: - type: string - hasInsurance: - type: string - parentTogether: - type: string - taxCode: - type: string - maritalStatus: - type: string - profession: - type: string - deleted: - type: string - anamnesis: - type: string - allergies: - type: string - lock: - type: integer - format: int32 - patientProfilePhoto: - $ref: '#/components/schemas/PatientProfilePhoto' - patientConsensus: - $ref: '#/components/schemas/PatientConsensus' - searchString: - type: string - informations: - type: string - PatientConsensus: - type: object - properties: - createdBy: - type: string - createdDate: - type: string - format: date-time - lastModifiedBy: - type: string - lastModifiedDate: - type: string - format: date-time - active: - type: integer - format: int32 - id: - type: integer - format: int32 - consensusFlag: - type: boolean - serviceFlag: - type: boolean - patient: - $ref: '#/components/schemas/Patient' - PatientProfilePhoto: - type: object - properties: - patient: - $ref: '#/components/schemas/Patient' - photo: - type: array - items: - type: string - format: byte - photoAsImage: - type: object - properties: - accelerationPriority: - type: number - format: float - source: - type: object - graphics: - type: object - properties: - color: - type: object - properties: - red: - type: integer - format: int32 - green: - type: integer - format: int32 - blue: - type: integer - format: int32 - alpha: - type: integer - format: int32 - colorSpace: - type: object - properties: - type: - type: integer - format: int32 - numComponents: - type: integer - format: int32 - cs_sRGB: - type: boolean - rgb: - type: integer - format: int32 - transparency: - type: integer - format: int32 - font: - type: object - properties: - name: - type: string - style: - type: integer - format: int32 - size: - type: integer - format: int32 - attributes: - type: object - additionalProperties: - type: object - family: - type: string - fontName: - type: string - transform: - type: object - properties: - scaleX: - type: number - format: double - shearY: - type: number - format: double - shearX: - type: number - format: double - scaleY: - type: number - format: double - translateX: - type: number - format: double - translateY: - type: number - format: double - type: - type: integer - format: int32 - identity: - type: boolean - toRotation: - type: number - format: double - writeOnly: true - toQuadrantRotation: - type: integer - format: int32 - writeOnly: true - determinant: - type: number - format: double - bold: - type: boolean - italic: - type: boolean - numGlyphs: - type: integer - format: int32 - missingGlyphCode: - type: integer - format: int32 - italicAngle: - type: number - format: float - transformed: - type: boolean - psname: - type: string - size2D: - type: number - format: float - plain: - type: boolean - availableAttributes: - type: array - items: - type: object - fontMetrics: - type: object - properties: - font: - type: object - properties: - name: - type: string - style: - type: integer - format: int32 - size: - type: integer - format: int32 - attributes: - type: object - additionalProperties: - type: object - family: - type: string - fontName: - type: string - transform: - type: object - properties: - scaleX: - type: number - format: double - shearY: - type: number - format: double - shearX: - type: number - format: double - scaleY: - type: number - format: double - translateX: - type: number - format: double - translateY: - type: number - format: double - type: - type: integer - format: int32 - identity: - type: boolean - toRotation: - type: number - format: double - writeOnly: true - toQuadrantRotation: - type: integer - format: int32 - writeOnly: true - determinant: - type: number - format: double - bold: - type: boolean - italic: - type: boolean - numGlyphs: - type: integer - format: int32 - missingGlyphCode: - type: integer - format: int32 - italicAngle: - type: number - format: float - transformed: - type: boolean - psname: - type: string - size2D: - type: number - format: float - plain: - type: boolean - availableAttributes: - type: array - items: - type: object - ascent: - type: integer - format: int32 - descent: - type: integer - format: int32 - leading: - type: integer - format: int32 - height: - type: integer - format: int32 - maxDescent: - type: integer - format: int32 - widths: - type: array - items: - type: integer - format: int32 - fontRenderContext: - type: object - properties: - transform: - type: object - properties: - scaleX: - type: number - format: double - shearY: - type: number - format: double - shearX: - type: number - format: double - scaleY: - type: number - format: double - translateX: - type: number - format: double - translateY: - type: number - format: double - type: - type: integer - format: int32 - identity: - type: boolean - toRotation: - type: number - format: double - writeOnly: true - toQuadrantRotation: - type: integer - format: int32 - writeOnly: true - determinant: - type: number - format: double - antiAliasingHint: - type: object - fractionalMetricsHint: - type: object - transformed: - type: boolean - antiAliased: - type: boolean - transformType: - type: integer - format: int32 - maxAscent: - type: integer - format: int32 - maxDecent: - type: integer - format: int32 - deprecated: true - maxAdvance: - type: integer - format: int32 - clipBounds: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - width: - type: number - format: double - height: - type: number - format: double - empty: - type: boolean - location: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - size: - type: object - properties: - width: - type: number - format: double - height: - type: number - format: double - bounds2D: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - rect: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - writeOnly: true - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - xormode: - type: object - properties: - red: - type: integer - format: int32 - green: - type: integer - format: int32 - blue: - type: integer - format: int32 - alpha: - type: integer - format: int32 - colorSpace: - type: object - properties: - type: - type: integer - format: int32 - numComponents: - type: integer - format: int32 - cs_sRGB: - type: boolean - rgb: - type: integer - format: int32 - transparency: - type: integer - format: int32 - writeOnly: true - clip: - type: object - properties: - bounds: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - width: - type: number - format: double - height: - type: number - format: double - empty: - type: boolean - location: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - size: - type: object - properties: - width: - type: number - format: double - height: - type: number - format: double - bounds2D: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - rect: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - writeOnly: true - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - bounds2D: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - clipRect: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - width: - type: number - format: double - height: - type: number - format: double - empty: - type: boolean - location: - type: object - properties: - x: - type: number - format: double - "y": - type: number - format: double - size: - type: object - properties: - width: - type: number - format: double - height: - type: number - format: double - bounds2D: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - rect: - type: object - properties: - empty: - type: boolean - height: - type: number - format: double - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - width: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - x: - type: number - format: double - "y": - type: number - format: double - writeOnly: true - maxX: - type: number - format: double - maxY: - type: number - format: double - centerX: - type: number - format: double - centerY: - type: number - format: double - minX: - type: number - format: double - minY: - type: number - format: double - deprecated: true - TherapyRow: - required: - - endDate - - freqInDay - - freqInPeriod - - medicalId - - notifyInt - - patient - - qty - - smsInt - - startDate - - unitID - type: object - properties: - createdBy: - type: string - createdDate: - type: string - format: date-time - lastModifiedBy: - type: string - lastModifiedDate: - type: string - format: date-time - active: - type: integer - format: int32 - therapyID: - type: integer - format: int32 - patient: - $ref: '#/components/schemas/Patient' - startDate: - type: string - format: date-time - endDate: - type: string - format: date-time - medicalId: - type: integer - format: int32 - qty: - type: number - format: double - unitID: - type: integer - format: int32 - freqInDay: - type: integer - format: int32 - freqInPeriod: - type: integer - format: int32 - note: - type: string - notifyInt: - type: integer - format: int32 - smsInt: - type: integer - format: int32 - medical: - type: integer - format: int32 - sms: - type: boolean - notify: - type: boolean - TherapyDTO: - type: object - properties: - therapyID: - type: integer - description: The therapy's ID - format: int32 - example: 1 - patID: - type: integer - description: The patient's ID - format: int32 - example: 1 - dates: - type: array - description: The dates of the therapy - example: - - 2022-01-01T10:00:00 - - 2022-01-02T15:30:00 - items: - type: string - description: The dates of the therapy - format: date-time - medical: - $ref: '#/components/schemas/MedicalDTO' - qty: - type: number - description: The quantity of the medical - format: double - example: 48 - units: - type: string - description: The units - freqInDay: - type: integer - description: The frequency in day - format: int32 - example: 2 - note: - type: string - description: A note for the therapy - example: Sample note - notify: - type: boolean - description: "the notify flag: true if the notification need to be activated,\ - \ false otherwise" - example: false - sms: - type: boolean - description: "the sms flag: true if sms need to be sent to patient, false\ - \ otherwise" - example: false - LotDTO: - required: - - code - - dueDate - - preparationDate - type: object - properties: - code: - type: string - description: The lot's code - example: LT001 - preparationDate: - type: string - description: The preparation date - example: 2020-06-24 - dueDate: - type: string - description: The due date - example: 2021-06-24 - cost: - type: number - description: The lot's code - example: 750 - description: The lot - MovementDTO: - required: - - date - - medical - - quantity - - refNo - - type - type: object - properties: - code: - type: integer - description: The movement code - format: int32 - example: 1 - medical: - $ref: '#/components/schemas/MedicalDTO' - type: - $ref: '#/components/schemas/MovementTypeDTO' - ward: - $ref: '#/components/schemas/WardDTO' - lot: - $ref: '#/components/schemas/LotDTO' - date: - type: string - description: The movement date - example: 2020-06-24 - quantity: - type: integer - description: The movement's medical quantity - format: int32 - example: 50 - supplier: - $ref: '#/components/schemas/SupplierDTO' - refNo: - type: string - description: The movement reference - example: MVN152445 - SmsDTO: - required: - - module - - smsDate - - smsDateSched - - smsNumber - - smsText - - smsUser - type: object - properties: - smsId: - type: integer - description: SMS Id - format: int32 - example: 1 - smsDate: - type: string - description: SMS Date - format: date-time - smsDateSched: - type: string - description: SMS scheduled date - example: 2020-07-28T00:00:00 - smsNumber: - type: string - description: SMS target phone number - example: +237671302313 - smsText: - type: string - description: SMS content text - example: Hi Mario. - smsDateSent: - type: string - description: SMS sent date - example: 2020-07-28T00:00:00 - smsUser: - type: string - description: SMS user - example: Rosi - module: - type: string - description: SMS module name - example: OPD - moduleID: - type: string - description: SMS module Id - MovementWardDTO: - required: - - date - - description - - quantity - - units - - ward - type: object - properties: - code: - type: integer - description: The movement ward's code - format: int32 - example: 1 - ward: - $ref: '#/components/schemas/WardDTO' - date: - type: string - description: The movement ward's date - format: date - example: 2020-06-07 - patient: - $ref: '#/components/schemas/PatientDTO' - age: - type: integer - description: The patient's age in case the movement is associated to a patient - format: int32 - example: 21 - weight: - type: number - description: The patient's weight in case the movement is associated to - a patient - format: float - example: 75 - description: - type: string - description: The description of the movement - example: stock transfer from pharmacy to laboratory - medical: - $ref: '#/components/schemas/MedicalDTO' - quantity: - type: number - description: The quantity of the medical concerned by the movement - format: double - example: 145 - units: - type: string - description: The measure's unit of the medical concerned by the movement - example: pct - wardTo: - $ref: '#/components/schemas/WardDTO' - wardFrom: - $ref: '#/components/schemas/WardDTO' - ExamRowDTO: - type: object - properties: - code: - type: integer - description: Exam Row Code - format: int32 - example: 999 - description: - type: string - description: Exam Row Code - example: NEGATIVE - exam: - $ref: '#/components/schemas/ExamDTO' - LoginRequest: - required: - - password - - username - type: object - properties: - username: - type: string - description: username - example: admin - password: - type: string - description: password of user - example: admin - LoginResponse: - type: object - properties: - token: - type: string - description: token - type: - type: string - description: type of Token - example: Bearer - username: - type: string - description: user name - example: admin - description: Class representing a Login response - LitePermissionDTO: - type: object - properties: - name: - type: string - UserProfileDTO: - type: object - properties: - userName: - type: string - permissions: - type: array - items: - type: string - PriceDTO: - required: - - description - - group - - item - - list - - price - type: object - properties: - id: - type: integer - format: int32 - list: - $ref: '#/components/schemas/PriceList' - group: - type: string - description: the group - item: - type: string - description: the item name - description: - type: string - description: the description - price: - type: number - description: price - format: double - example: 1500 - editable: - type: boolean - readOnly: true - hashCode: - type: integer - format: int32 - readOnly: true - description: Class representing a prices - PriceList: - required: - - code - - currency - - description - - name - type: object - properties: - createdBy: - type: string - createdDate: - type: string - format: date-time - lastModifiedBy: - type: string - lastModifiedDate: - type: string - format: date-time - active: - type: integer - format: int32 - id: - type: integer - format: int32 - code: - type: string - name: - type: string - description: - type: string - currency: - type: string - description: the price list - PageInfoDTO: - type: object - properties: - size: - type: integer - format: int32 - page: - type: integer - format: int32 - nbOfElements: - type: integer - format: int32 - totalPages: - type: integer - format: int64 - totalNbOfElements: - type: integer - format: int64 - hasPreviousPage: - type: boolean - hasNextPage: - type: boolean - PagePatientDTO: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/PatientDTO' - pageInfo: - $ref: '#/components/schemas/PageInfoDTO' - PageOpdDTO: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/OpdDTO' - pageInfo: - $ref: '#/components/schemas/PageInfoDTO' - MedicalWardDTO: - type: object - properties: - id: - $ref: '#/components/schemas/MedicalWardIdDTO' - in_quantity: - type: number - description: The in-quantity - format: float - example: 150 - out_quantity: - type: number - description: The out-quantity - format: float - example: 89 - MedicalWardIdDTO: - required: - - medical - - ward - type: object - properties: - ward: - $ref: '#/components/schemas/WardDTO' - medical: - $ref: '#/components/schemas/MedicalDTO' - description: The medical ward's id - example: 1 - PageLabWithRowsDTO: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/LabWithRowsDTO' - pageInfo: - $ref: '#/components/schemas/PageInfoDTO' - PagePatientExaminationDTO: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/PatientExaminationDTO' - pageInfo: - $ref: '#/components/schemas/PageInfoDTO' - PageAdmissionDTO: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/AdmissionDTO' - pageInfo: - $ref: '#/components/schemas/PageInfoDTO' - AgeType: - required: - - description - - from - - to - type: object - properties: - createdBy: - type: string - createdDate: - type: string - format: date-time - lastModifiedBy: - type: string - lastModifiedDate: - type: string - format: date-time - active: - type: integer - format: int32 - code: - type: string - description: - type: string - from: - type: integer - format: int32 - to: - type: integer - format: int32 - AdmittedPatientDTO: - type: object - properties: - patient: - $ref: '#/components/schemas/PatientDTO' - admission: - $ref: '#/components/schemas/AdmissionDTO' - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT +openapi: 3.0.1 +info: + title: OH 2.0 Api Documentation + description: OH 2.0 Api Documentation + contact: + name: ApiInfo.DEFAULT_CONTACT + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0 + version: "1.0" +servers: + - url: http://localhost:8080 +security: + - bearerAuth: [] +paths: + /wards: + get: + tags: + - Wards + operationId: getWards + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/WardDTO" + security: + - bearerAuth: [] + put: + tags: + - Wards + operationId: updateWard + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WardDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/WardDTO" + security: + - bearerAuth: [] + post: + tags: + - Wards + operationId: newWard + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WardDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/WardDTO" + security: + - bearerAuth: [] + /visit/{visitID}: + put: + tags: + - Visit + operationId: updateVisit + parameters: + - name: visitID + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VisitDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VisitDTO" + security: + - bearerAuth: [] + /vaccinetype: + get: + tags: + - Vaccine Type + operationId: getVaccineType + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/VaccineTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Vaccine Type + operationId: updateVaccineType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Vaccine Type + operationId: newVaccineType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineTypeDTO" + security: + - bearerAuth: [] + /vaccines: + get: + tags: + - Vaccines + operationId: getVaccines + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/VaccineDTO" + security: + - bearerAuth: [] + put: + tags: + - Vaccines + operationId: updateVaccine + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineDTO" + security: + - bearerAuth: [] + post: + tags: + - Vaccines + operationId: newVaccine + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VaccineDTO" + security: + - bearerAuth: [] + /users: + get: + tags: + - Users + operationId: getUser + parameters: + - name: group_id + in: query + required: false + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/UserDTO" + security: + - bearerAuth: [] + put: + tags: + - Users + operationId: updateUser + parameters: + - name: password + in: query + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + post: + tags: + - Users + operationId: newUser + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /users/settings/{id}: + get: + tags: + - Users + operationId: getUserSettingById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + security: + - bearerAuth: [] + put: + tags: + - Users + operationId: updateUserSettings + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + security: + - bearerAuth: [] + delete: + tags: + - Users + operationId: deleteUserSetting + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /users/groups: + get: + tags: + - Users + operationId: getUserGroup + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/UserGroupDTO" + security: + - bearerAuth: [] + put: + tags: + - Users + operationId: updateUserGroup + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserGroupDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + post: + tags: + - Users + operationId: newUserGroup + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserGroupDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /suppliers: + get: + tags: + - Suppliers + operationId: getSuppliers + parameters: + - name: exclude_deleted + in: query + required: false + schema: + type: boolean + default: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/SupplierDTO" + security: + - bearerAuth: [] + put: + tags: + - Suppliers + operationId: updateSupplier + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SupplierDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/SupplierDTO" + security: + - bearerAuth: [] + post: + tags: + - Suppliers + operationId: saveSupplier + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SupplierDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/SupplierDTO" + security: + - bearerAuth: [] + /pricesothers/{id}: + put: + tags: + - Others Price + operationId: updatePricesOthers + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PricesOthersDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PricesOthersDTO" + security: + - bearerAuth: [] + delete: + tags: + - Others Price + operationId: deletePricesOthers + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /pricelists/{id}: + put: + tags: + - Price Lists + operationId: updatePriceLists + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PriceListDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PriceListDTO" + security: + - bearerAuth: [] + delete: + tags: + - Price Lists + operationId: deletePriceList + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /pregnanttreatmenttypes/{code}: + put: + tags: + - Pregnant Treatment Types + operationId: updatePregnantTreatmentTypes + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + security: + - bearerAuth: [] + delete: + tags: + - Pregnant Treatment Types + operationId: deletePregnantTreatmentType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /permissions/{id}: + get: + tags: + - Permissions + operationId: retrievePermissionById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + put: + tags: + - Permissions + operationId: updatePermission + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + delete: + tags: + - Permissions + operationId: deletePermission + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /patientvaccines/{code}: + put: + tags: + - Patient Vaccines + operationId: updatePatientVaccinet + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientVaccineDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientVaccineDTO" + security: + - bearerAuth: [] + delete: + tags: + - Patient Vaccines + operationId: deletePatientVaccine + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /patients/{code}: + get: + tags: + - Patients + operationId: getPatient + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + security: + - bearerAuth: [] + put: + tags: + - Patients + operationId: updatePatient + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + security: + - bearerAuth: [] + delete: + tags: + - Patients + operationId: deletePatient + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /patientConsensus/{patientId}: + get: + tags: + - Patient Consensus + operationId: getPatientConsensus + parameters: + - name: patientId + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientConsensusDTO" + security: + - bearerAuth: [] + put: + tags: + - Patient Consensus + operationId: updatePatientConsensus + parameters: + - name: patientId + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientConsensusDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientConsensusDTO" + security: + - bearerAuth: [] + /operationtypes/{code}: + put: + tags: + - Operations Types + operationId: updateOperationTypes + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationTypeDTO" + security: + - bearerAuth: [] + delete: + tags: + - Operations Types + operationId: deleteOperationType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /operations/{code}: + get: + tags: + - Operations + operationId: getOperationByCode + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationDTO" + security: + - bearerAuth: [] + put: + tags: + - Operations + operationId: updateOperation + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationDTO" + security: + - bearerAuth: [] + delete: + tags: + - Operations + operationId: deleteOperation + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /operations/rows: + put: + tags: + - Operations + operationId: updateOperationRow + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + post: + tags: + - Operations + operationId: newOperationRow + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationRowDTO" + security: + - bearerAuth: [] + /opds/{code}: + put: + tags: + - Opds + operationId: updateOpd + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + security: + - bearerAuth: [] + delete: + tags: + - Opds + operationId: deleteOpd + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /opds/rows/{code}: + put: + tags: + - Opds + operationId: updateOpdWithOperationRow + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpdWithOperationRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OpdWithOperationRowDTO" + security: + - bearerAuth: [] + /medstockmovementtype: + get: + tags: + - Medical Stock Movement Type + operationId: getMedicalDsrStockMovementType + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Medical Stock Movement Type + operationId: updateMedicalDsrStockMovementType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MovementTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MovementTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Medical Stock Movement Type + operationId: newMedicalDsrStockMovementType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MovementTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MovementTypeDTO" + security: + - bearerAuth: [] + /medicaltypes: + get: + tags: + - Medical Types + operationId: getMedicalTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MedicalTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Medical Types + operationId: updateMedicalType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Medical Types + operationId: createMedicalType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalTypeDTO" + security: + - bearerAuth: [] + /medicals: + get: + tags: + - Medicals + operationId: getMedicals + parameters: + - name: sort_by + in: query + required: false + schema: + type: string + enum: + - NONE + - CODE + - NAME + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + put: + tags: + - Medicals + operationId: updateMedical + parameters: + - name: ignore_similar + in: query + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + post: + tags: + - Medicals + operationId: newMedical + parameters: + - name: ignore_similar + in: query + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + /malnutritions: + put: + tags: + - Malnutritions + operationId: updateMalnutrition + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MalnutritionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MalnutritionDTO" + security: + - bearerAuth: [] + post: + tags: + - Malnutritions + operationId: newMalnutrition + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MalnutritionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MalnutritionDTO" + security: + - bearerAuth: [] + delete: + tags: + - Malnutritions + operationId: deleteMalnutrition + parameters: + - name: code + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /laboratories/{code}: + get: + tags: + - Laboratories + operationId: getExamById + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/LaboratoryDTO" + security: + - bearerAuth: [] + put: + tags: + - Laboratories + operationId: updateLaboratory + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LabWithRowsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + delete: + tags: + - Laboratories + operationId: deleteExam + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /laboratories/examRequest/{code}: + put: + tags: + - Laboratories + operationId: updateExamRequest + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + - name: status + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + delete: + tags: + - Laboratories + operationId: deleteExamRequest + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /hospitals/{code}: + put: + tags: + - Hospitals + operationId: updateHospital + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HospitalDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/HospitalDTO" + security: + - bearerAuth: [] + /examtypes/{code}: + put: + tags: + - Exam Types + operationId: updateExamType + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ExamTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ExamTypeDTO" + security: + - bearerAuth: [] + delete: + tags: + - Exam Types + operationId: deleteExamType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /exams/{code}: + put: + tags: + - Exams + operationId: updateExams + parameters: + - name: code + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ExamDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ExamDTO" + security: + - bearerAuth: [] + delete: + tags: + - Exams + operationId: deleteExam_1 + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /examinations/{id}: + get: + tags: + - Examinations + operationId: getByID + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + security: + - bearerAuth: [] + put: + tags: + - Examinations + operationId: updateExamination + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /diseasetypes: + get: + tags: + - Disease Types + operationId: getAllDiseaseTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Disease Types + operationId: updateDiseaseType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Disease Types + operationId: newDiseaseType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseTypeDTO" + security: + - bearerAuth: [] + /diseases: + put: + tags: + - Diseases + operationId: updateDisease + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + post: + tags: + - Diseases + operationId: newDisease + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /dischargetypes: + get: + tags: + - DischargeType + operationId: getDischargeTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DischargeTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - DischargeType + operationId: updateDischargeTypet + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DischargeTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DischargeTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - DischargeType + operationId: newDischargeType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DischargeTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DischargeTypeDTO" + security: + - bearerAuth: [] + /deliverytypes: + get: + tags: + - Delivery Type + operationId: getDeliveryTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DeliveryTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Delivery Type + operationId: updateDeliveryTypes + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Delivery Type + operationId: newDeliveryType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryTypeDTO" + security: + - bearerAuth: [] + /deliveryresulttypes: + get: + tags: + - Delivery Result Type + operationId: getDeliveryResultTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - Delivery Result Type + operationId: updateDeliveryResultTypes + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Delivery Result Type + operationId: newDeliveryResultType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + security: + - bearerAuth: [] + /bills/{id}: + get: + tags: + - Bills + operationId: getBill + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + put: + tags: + - Bills + operationId: updateBill + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FullBillDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/FullBillDTO" + security: + - bearerAuth: [] + delete: + tags: + - Bills + operationId: deleteBill + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /agetypes: + get: + tags: + - AgeTypes + operationId: getAllAgeTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/AgeTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - AgeTypes + operationId: updateAgeType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AgeTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AgeTypeDTO" + security: + - bearerAuth: [] + /admissiontypes: + get: + tags: + - AdmissionTypes + operationId: getAdmissionTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/AdmissionTypeDTO" + security: + - bearerAuth: [] + put: + tags: + - AdmissionTypes + operationId: updateAdmissionTypes + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - AdmissionTypes + operationId: newAdmissionType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionTypeDTO" + security: + - bearerAuth: [] + /admissions: + get: + tags: + - Admissions + operationId: getAdmissions + parameters: + - name: admissionrange + in: query + required: true + schema: + type: array + items: + type: string + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 80 + - name: paged + in: query + required: false + schema: + type: boolean + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PageAdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + put: + tags: + - Admissions + operationId: updateAdmissions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + post: + tags: + - Admissions + operationId: newAdmissions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + /visits: + post: + tags: + - Visit + operationId: newVisits + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/VisitDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /visit: + post: + tags: + - Visit + operationId: newVisit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VisitDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/VisitDTO" + security: + - bearerAuth: [] + /users/settings: + get: + tags: + - Users + operationId: getUserSettings + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/UserSettingDTO" + security: + - bearerAuth: [] + post: + tags: + - Users + operationId: newUserSettings + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + security: + - bearerAuth: [] + /therapies: + post: + tags: + - Therapies + operationId: newTherapy + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TherapyRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TherapyRowDTO" + security: + - bearerAuth: [] + /therapies/replace: + post: + tags: + - Therapies + operationId: replaceTherapies + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/TherapyRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TherapyRow" + security: + - bearerAuth: [] + /therapies/meds-out-of-stock: + post: + tags: + - Therapies + operationId: getMedicalsOutOfStock + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/TherapyDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + /therapies/from-rows: + post: + tags: + - Therapies + operationId: getTherapies + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/TherapyRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/TherapyDTO" + security: + - bearerAuth: [] + /therapies/from-row: + post: + tags: + - Therapies + operationId: getTherapy + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TherapyRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TherapyDTO" + security: + - bearerAuth: [] + /stockmovements/discharge: + post: + tags: + - Stock Movements + operationId: newMultipleDischargingMovements + parameters: + - name: ref + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /stockmovements/charge: + post: + tags: + - Stock Movements + operationId: newMultipleChargingMovements + parameters: + - name: ref + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /sms: + get: + tags: + - SMS + operationId: getAll + parameters: + - name: dateFrom + in: query + required: true + schema: + type: string + - name: dateTo + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/SmsDTO" + security: + - bearerAuth: [] + post: + tags: + - SMS + operationId: saveSms + parameters: + - name: split + in: query + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SmsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /sms/delete: + post: + tags: + - SMS + operationId: deleteSms + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/SmsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /pricesothers: + get: + tags: + - Others Price + operationId: getPricesOthers + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PricesOthersDTO" + security: + - bearerAuth: [] + post: + tags: + - Others Price + operationId: newPricesOthers + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PricesOthersDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PricesOthersDTO" + security: + - bearerAuth: [] + /pricelists: + get: + tags: + - Price Lists + operationId: getPriceLists + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PriceListDTO" + security: + - bearerAuth: [] + post: + tags: + - Price Lists + operationId: newPriceList + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PriceListDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PriceListDTO" + security: + - bearerAuth: [] + /pregnanttreatmenttypes: + get: + tags: + - Pregnant Treatment Types + operationId: getPregnantTreatmentTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Pregnant Treatment Types + operationId: newPregnantTreatmentType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + security: + - bearerAuth: [] + /permissions: + get: + tags: + - Permissions + operationId: retrieveAllPermissions + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + post: + tags: + - Permissions + operationId: insertPermission + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + /patientvaccines: + post: + tags: + - Patient Vaccines + operationId: newPatientVaccine + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientVaccineDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientVaccineDTO" + security: + - bearerAuth: [] + /patients: + get: + tags: + - Patients + operationId: getPatients + parameters: + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 80 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PagePatientDTO" + security: + - bearerAuth: [] + post: + tags: + - Patients + operationId: newPatient + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + security: + - bearerAuth: [] + /operationtypes: + get: + tags: + - Operations Types + operationId: getOperationTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Operations Types + operationId: newOperationType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationTypeDTO" + security: + - bearerAuth: [] + /operations: + get: + tags: + - Operations + operationId: getOperations + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationDTO" + security: + - bearerAuth: [] + post: + tags: + - Operations + operationId: newOperation + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OperationDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OperationDTO" + security: + - bearerAuth: [] + /operations/rows/search/opd: + post: + tags: + - Operations + operationId: getOperationRowsByOpd + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationRowDTO" + security: + - bearerAuth: [] + /opds: + post: + tags: + - Opds + operationId: newOpd + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + security: + - bearerAuth: [] + /opds/rows: + post: + tags: + - Opds + operationId: newOpdWithOperationRow + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpdWithOperationRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OpdWithOperationRowDTO" + security: + - bearerAuth: [] + /medicalstockward/movements: + post: + tags: + - Medical Stock Ward + operationId: newMovementWard + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MovementWardDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /laboratories: + get: + tags: + - Laboratories + operationId: getLaboratory + parameters: + - name: oneWeek + in: query + required: true + schema: + type: boolean + - name: page + in: query + required: true + schema: + type: integer + format: int32 + - name: size + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PageLabWithRowsDTO" + security: + - bearerAuth: [] + post: + tags: + - Laboratories + operationId: newLaboratory + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LabWithRowsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /laboratories/insertList: + post: + tags: + - Laboratories + operationId: newLaboratory2 + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LabWithRowsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /laboratories/examRequest: + get: + tags: + - Laboratories + operationId: getLaboratoryExamRequest + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LaboratoryDTO" + security: + - bearerAuth: [] + post: + tags: + - Laboratories + operationId: newExamRequest + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LaboratoryDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /examtypes: + get: + tags: + - Exam Types + operationId: getExamTypes + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamTypeDTO" + security: + - bearerAuth: [] + post: + tags: + - Exam Types + operationId: newExamType + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ExamTypeDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ExamTypeDTO" + security: + - bearerAuth: [] + /exams: + get: + tags: + - Exams + operationId: getExams + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamDTO" + security: + - bearerAuth: [] + post: + tags: + - Exams + operationId: newExam + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ExamDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ExamDTO" + security: + - bearerAuth: [] + /examrows: + get: + tags: + - Exam Rows + operationId: getExamRows + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamRowDTO" + security: + - bearerAuth: [] + post: + tags: + - Exam Rows + operationId: newExamRow + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ExamRowDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ExamRowDTO" + security: + - bearerAuth: [] + /examinations: + post: + tags: + - Examinations + operationId: newPatientExamination + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /bills: + get: + tags: + - Bills + operationId: searchBills_1 + parameters: + - name: datefrom + in: query + required: true + schema: + type: string + - name: dateto + in: query + required: true + schema: + type: string + - name: patient_code + in: query + required: false + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + post: + tags: + - Bills + operationId: newBill + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FullBillDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/FullBillDTO" + security: + - bearerAuth: [] + /bills/search/by/payments: + post: + tags: + - Bills + operationId: searchBillsByPayments + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillPaymentsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + /bills/search/by/item: + post: + tags: + - Bills + operationId: searchBills + parameters: + - name: datefrom + in: query + required: true + schema: + type: string + - name: dateto + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BillItemsDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + /auth/logout: + post: + tags: + - Login + description: Logout the current user. + operationId: logout + responses: + "200": + description: OK + /auth/login: + post: + tags: + - Login + operationId: authenticateUser + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LoginRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/LoginResponse" + security: + - bearerAuth: [] + /admissions/discharge: + post: + tags: + - Admissions + operationId: dischargePatient + parameters: + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + "400": + description: Bad Request + security: + - bearerAuth: [] + /wardsNoMaternity: + get: + tags: + - Wards + operationId: getWardsNoMaternity + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/WardDTO" + security: + - bearerAuth: [] + /wards/occupation/{code}: + get: + tags: + - Wards + operationId: getCurrentOccupation + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + /wards/check/{code}: + get: + tags: + - Wards + operationId: checkWardCode + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /wards/check/maternity/{createIfNotExist}: + get: + tags: + - Wards + operationId: checkWardMaternityCode + parameters: + - name: createIfNotExist + in: path + required: true + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /visit/patient/{patID}: + get: + tags: + - Visit + operationId: getVisit + parameters: + - name: patID + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/VisitDTO" + security: + - bearerAuth: [] + /vaccinetype/check/{code}: + get: + tags: + - Vaccine Type + operationId: checkVaccineTypeCode + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /vaccines/type-code/{vaccineTypeCode}: + get: + tags: + - Vaccines + operationId: getVaccinesByVaccineTypeCode + parameters: + - name: vaccineTypeCode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/VaccineDTO" + security: + - bearerAuth: [] + /vaccines/check/{code}: + get: + tags: + - Vaccines + operationId: checkVaccineCode + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /users/{username}: + get: + tags: + - Users + operationId: getUserByName + parameters: + - name: username + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserDTO" + security: + - bearerAuth: [] + delete: + tags: + - Users + operationId: deleteUser + parameters: + - name: username + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /users/{userName}/settings/{configName}: + get: + tags: + - Users + operationId: getUserSettingByUser + parameters: + - name: userName + in: path + required: true + schema: + type: string + - name: configName + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserSettingDTO" + security: + - bearerAuth: [] + /users/permissions: + get: + tags: + - Users + operationId: retrievePermissionsByCurrentLoggedInUser + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LitePermissionDTO" + security: + - bearerAuth: [] + /users/permissions/username/{username}: + get: + tags: + - Users + operationId: retrievePermissionsByUsername + parameters: + - name: username + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LitePermissionDTO" + security: + - bearerAuth: [] + /users/me: + get: + tags: + - Users + operationId: retrieveProfileByCurrentLoggedInUser + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UserProfileDTO" + security: + - bearerAuth: [] + /therapies/{code_patient}: + get: + tags: + - Therapies + operationId: getTherapyRows + parameters: + - name: code_patient + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/TherapyRowDTO" + security: + - bearerAuth: [] + delete: + tags: + - Therapies + operationId: deleteAllTherapies + parameters: + - name: code_patient + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /suppliers/{id}: + get: + tags: + - Suppliers + operationId: getSuppliers_1 + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/SupplierDTO" + security: + - bearerAuth: [] + /stockmovements: + get: + tags: + - Stock Movements + operationId: getMovements + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + security: + - bearerAuth: [] + /stockmovements/{ref}: + get: + tags: + - Stock Movements + operationId: getMovements_1 + parameters: + - name: ref + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + security: + - bearerAuth: [] + /stockmovements/lot/{med_code}: + get: + tags: + - Stock Movements + operationId: getLotByMedical + parameters: + - name: med_code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LotDTO" + security: + - bearerAuth: [] + /stockmovements/filter/v2: + get: + tags: + - Stock Movements + operationId: getMovements_2 + parameters: + - name: med_code + in: query + required: false + schema: + type: integer + format: int32 + - name: med_type + in: query + required: false + schema: + type: string + - name: ward_id + in: query + required: false + schema: + type: string + - name: mov_type + in: query + required: false + schema: + type: string + - name: mov_from + in: query + required: false + schema: + type: string + format: date-time + - name: mov_to + in: query + required: false + schema: + type: string + format: date-time + - name: lot_prep_from + in: query + required: false + schema: + type: string + format: date-time + - name: lot_prep_to + in: query + required: false + schema: + type: string + format: date-time + - name: lot_due_from + in: query + required: false + schema: + type: string + format: date-time + - name: lot_due_to + in: query + required: false + schema: + type: string + format: date-time + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + security: + - bearerAuth: [] + /stockmovements/filter/v1: + get: + tags: + - Stock Movements + operationId: getMovements_3 + parameters: + - name: ward_id + in: query + required: true + schema: + type: string + - name: from + in: query + required: true + schema: + type: string + format: date-time + - name: to + in: query + required: true + schema: + type: string + format: date-time + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementDTO" + security: + - bearerAuth: [] + /stockmovements/critical/check: + get: + tags: + - Stock Movements + operationId: alertCriticalQuantity + parameters: + - name: med_code + in: query + required: true + schema: + type: integer + format: int32 + - name: qty + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /reports/exams-list: + get: + tags: + - Reports + operationId: printExamsListPdf + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + type: string + format: byte + security: + - bearerAuth: [] + /reports/diseases-list: + get: + tags: + - Reports + operationId: printDiseasesListPdf + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + type: string + format: byte + security: + - bearerAuth: [] + /pricelists/prices: + get: + tags: + - Price Lists + operationId: getPrices + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PriceDTO" + security: + - bearerAuth: [] + /pricelists/duplicate/{id}: + get: + tags: + - Price Lists + operationId: copyList + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /pricelists/duplicate/byfactor/{id}: + get: + tags: + - Price Lists + operationId: copyByFactorAndStep + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + - name: factor + in: query + required: true + schema: + type: number + format: double + - name: step + in: query + required: true + schema: + type: number + format: double + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /permissions/userGroupCode/{userGroupCode}: + get: + tags: + - Permissions + operationId: retrievePermissionsByUserGroupcode + parameters: + - name: userGroupCode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + /permissions/name/{name}: + get: + tags: + - Permissions + operationId: retrievePermissionByName + parameters: + - name: name + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PermissionDTO" + security: + - bearerAuth: [] + /patientvaccines/week: + get: + tags: + - Patient Vaccines + operationId: getPatientVaccines + parameters: + - name: oneWeek + in: query + required: false + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PatientVaccineDTO" + security: + - bearerAuth: [] + /patientvaccines/progyear/{year}: + get: + tags: + - Patient Vaccines + operationId: getProgYear + parameters: + - name: year + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + /patientvaccines/filter: + get: + tags: + - Patient Vaccines + operationId: getPatientVaccinesByDatesRanges + parameters: + - name: vaccineTypeCode + in: query + required: true + schema: + type: string + - name: vaccineCode + in: query + required: true + schema: + type: string + - name: dateFrom + in: query + required: true + schema: + type: string + format: date + - name: dateTo + in: query + required: true + schema: + type: string + format: date + - name: sex + in: query + required: true + schema: + type: string + - name: ageFrom + in: query + required: true + schema: + type: integer + format: int32 + - name: ageTo + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PatientVaccineDTO" + security: + - bearerAuth: [] + /patients/search: + get: + tags: + - Patients + operationId: searchPatient + parameters: + - name: firstName + in: query + required: false + schema: + type: string + default: "" + - name: secondName + in: query + required: false + schema: + type: string + default: "" + - name: birthDate + in: query + required: false + schema: + type: string + format: date-time + - name: address + in: query + required: false + schema: + type: string + default: "" + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PatientDTO" + security: + - bearerAuth: [] + /patients/nextcode: + get: + tags: + - Patients + operationId: getPatientNextCode + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + /patients/merge: + get: + tags: + - Patients + operationId: mergePatients + parameters: + - name: mergedcode + in: query + required: true + schema: + type: integer + format: int32 + - name: code2 + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /patients/cities: + get: + tags: + - Patients + operationId: getPatientCities + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + type: string + security: + - bearerAuth: [] + /patients/all: + get: + tags: + - Patients + operationId: getPatientAll + parameters: + - name: code + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientDTO" + security: + - bearerAuth: [] + /operations/search/type: + get: + tags: + - Operations + operationId: getOperationByTypeDescription + parameters: + - name: typeDescription + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationDTO" + security: + - bearerAuth: [] + /operations/rows/search/patient: + get: + tags: + - Operations + operationId: getOperationRowsByPatient + parameters: + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationRowDTO" + security: + - bearerAuth: [] + /operations/rows/search/admission: + get: + tags: + - Operations + operationId: getOperationRowsByAdmt + parameters: + - name: admissionId + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OperationRowDTO" + security: + - bearerAuth: [] + /opds/weekly: + get: + tags: + - Opds + operationId: getOpdToDayOrWeek + parameters: + - name: oneWeek + in: query + required: false + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OpdDTO" + security: + - bearerAuth: [] + /opds/search: + get: + tags: + - Opds + operationId: getOpdByDates + parameters: + - name: dateFrom + in: query + required: true + schema: + type: string + - name: dateTo + in: query + required: true + schema: + type: string + - name: diseaseTypeCode + in: query + required: false + schema: + type: string + - name: diseaseCode + in: query + required: false + schema: + type: string + - name: ageFrom + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: ageTo + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + - name: sex + in: query + required: false + schema: + type: string + default: A + - name: newPatient + in: query + required: false + schema: + type: string + default: A + - name: patientCode + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 80 + - name: paged + in: query + required: false + schema: + type: boolean + default: false + - name: wardCode + in: query + required: false + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PageOpdDTO" + security: + - bearerAuth: [] + /opds/patient/{pcode}: + get: + tags: + - Opds + operationId: getOpdByPatient + parameters: + - name: pcode + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/OpdWithOperationRowDTO" + security: + - bearerAuth: [] + /opds/last/{patientCode}: + get: + tags: + - Opds + operationId: getLastOpd + parameters: + - name: patientCode + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/OpdDTO" + security: + - bearerAuth: [] + /opds/check/progyear: + get: + tags: + - Opds + operationId: isExistOpdNum + parameters: + - name: opdNum + in: query + required: true + schema: + type: integer + format: int32 + - name: year + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /opds/ProgYear/{year}: + get: + tags: + - Opds + operationId: getProgYear_1 + parameters: + - name: year + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + /medstockmovementtype/{code}: + get: + tags: + - Medical Stock Movement Type + operationId: getMovementType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MovementTypeDTO" + security: + - bearerAuth: [] + delete: + tags: + - Medical Stock Movement Type + operationId: deleteMedicalDsrStockMovementType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /medstockmovementtype/check/{code}: + get: + tags: + - Medical Stock Movement Type + operationId: isCodeUsed + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /medicaltypes/check/{code}: + get: + tags: + - Medical Types + operationId: isCodeUsed_1 + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /medicalstockward/{ward_code}: + get: + tags: + - Medical Stock Ward + operationId: getMedicalsWard + parameters: + - name: ward_code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MedicalWardDTO" + security: + - bearerAuth: [] + /medicalstockward/movements/{ward_code}: + get: + tags: + - Medical Stock Ward + operationId: getMovementWard + parameters: + - name: ward_code + in: path + required: true + schema: + type: string + - name: from + in: query + required: true + schema: + type: string + format: date + - name: to + in: query + required: true + schema: + type: string + format: date + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementWardDTO" + security: + - bearerAuth: [] + /medicalstockward/movements/to/{target_ward_code}: + get: + tags: + - Medical Stock Ward + operationId: getWardMovementsToWard + parameters: + - name: target_ward_code + in: path + required: true + schema: + type: string + - name: from + in: query + required: true + schema: + type: string + format: date-time + - name: to + in: query + required: true + schema: + type: string + format: date-time + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MovementWardDTO" + security: + - bearerAuth: [] + /medicalstockward/current/{ward_code}: + get: + tags: + - Medical Stock Ward + operationId: getCurrentQuantityInWard + parameters: + - name: ward_code + in: path + required: true + schema: + type: string + - name: med_id + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + security: + - bearerAuth: [] + /medicals/{code}: + get: + tags: + - Medicals + operationId: getMedical + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + delete: + tags: + - Medicals + operationId: deleteMedical + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /medicals/filter: + get: + tags: + - Medicals + operationId: filterMedicals + parameters: + - name: desc + in: query + required: false + schema: + type: string + - name: type + in: query + required: false + schema: + type: string + - name: critical + in: query + required: false + schema: + type: boolean + default: false + - name: name_sorted + in: query + required: false + schema: + type: boolean + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MedicalDTO" + security: + - bearerAuth: [] + /malnutritions/{id_admission}: + get: + tags: + - Malnutritions + operationId: getMalnutrition + parameters: + - name: id_admission + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/MalnutritionDTO" + security: + - bearerAuth: [] + /malnutritions/last/{id_patient}: + get: + tags: + - Malnutritions + operationId: getLastMalnutrition + parameters: + - name: id_patient + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/MalnutritionDTO" + security: + - bearerAuth: [] + /laboratories/materials: + get: + tags: + - Laboratories + operationId: getMaterials + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + type: string + security: + - bearerAuth: [] + /laboratories/exams: + get: + tags: + - Laboratories + operationId: getLaboratoryForPrint + parameters: + - name: examName + in: query + required: false + schema: + type: string + default: "" + - name: dateFrom + in: query + required: true + schema: + type: string + - name: dateTo + in: query + required: true + schema: + type: string + - name: patientCode + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: status + in: query + required: false + schema: + type: string + default: "" + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 80 + - name: paged + in: query + required: false + schema: + type: boolean + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PageLabWithRowsDTO" + security: + - bearerAuth: [] + /laboratories/exams/{code}: + get: + tags: + - Laboratories + operationId: getExamWithRowsById + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/LabWithRowsDTO" + security: + - bearerAuth: [] + /laboratories/examRequest/patient/{patId}: + get: + tags: + - Laboratories + operationId: getLaboratoryExamRequest_1 + parameters: + - name: patId + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LaboratoryDTO" + security: + - bearerAuth: [] + /laboratories/byPatientId/{patId}: + get: + tags: + - Laboratories + operationId: getLaboratory_1 + parameters: + - name: patId + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/LabWithRowsDTO" + security: + - bearerAuth: [] + /hospitals: + get: + tags: + - Hospitals + operationId: getHospital + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/HospitalDTO" + security: + - bearerAuth: [] + /hospitals/currencyCode: + get: + tags: + - Hospitals + operationId: getHospitalCurrencyCode + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + security: + - bearerAuth: [] + /exams/description/{description}: + get: + tags: + - Exams + operationId: getExams_1 + parameters: + - name: description + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamDTO" + security: + - bearerAuth: [] + /examrows/{code}: + get: + tags: + - Exam Rows + operationId: getExamRowsByCode + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamRowDTO" + security: + - bearerAuth: [] + delete: + tags: + - Exam Rows + operationId: deleteExam_2 + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /examrows/search: + get: + tags: + - Exam Rows + operationId: getExamRowsByCodeAndDescription + parameters: + - name: code + in: query + required: true + schema: + type: integer + format: int32 + - name: description + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamRowDTO" + security: + - bearerAuth: [] + /examrows/byExamCode/{examCode}: + get: + tags: + - Exam Rows + operationId: getExamRowsByExamCode + parameters: + - name: examCode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ExamRowDTO" + security: + - bearerAuth: [] + /examinations/lastNByPatId: + get: + tags: + - Examinations + operationId: getLastNByPatID + parameters: + - name: limit + in: query + required: true + schema: + type: integer + format: int32 + - name: patId + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PagePatientExaminationDTO" + security: + - bearerAuth: [] + /examinations/lastByPatientId/{patId}: + get: + tags: + - Examinations + operationId: getLastByPatientId + parameters: + - name: patId + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + security: + - bearerAuth: [] + /examinations/fromLastPatientExamination/{id}: + get: + tags: + - Examinations + operationId: getFromLastPatientExamination + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + security: + - bearerAuth: [] + /examinations/defaultPatientExamination: + get: + tags: + - Examinations + operationId: getDefaultPatientExamination + parameters: + - name: patId + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PatientExaminationDTO" + security: + - bearerAuth: [] + /examinations/byPatientId/{patId}: + get: + tags: + - Examinations + operationId: getByPatientId + parameters: + - name: patId + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/PatientExaminationDTO" + security: + - bearerAuth: [] + /diseases/{code}: + get: + tags: + - Diseases + operationId: getDiseaseByCode + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + delete: + tags: + - Diseases + operationId: deleteDisease + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + security: + - bearerAuth: [] + /diseases/opd: + get: + tags: + - Diseases + operationId: getDiseasesOpd + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/opd/{typecode}: + get: + tags: + - Diseases + operationId: getDiseasesOpdByCode + parameters: + - name: typecode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/ipd/out: + get: + tags: + - Diseases + operationId: getDiseasesIpdOut + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/ipd/out/{typecode}: + get: + tags: + - Diseases + operationId: getDiseasesIpdOutByCode + parameters: + - name: typecode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/ipd/in: + get: + tags: + - Diseases + operationId: getDiseasesIpdIn + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/ipd/in/{typecode}: + get: + tags: + - Diseases + operationId: getDiseasesIpdInByCode + parameters: + - name: typecode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/both: + get: + tags: + - Diseases + operationId: getDiseases + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/both/{typecode}: + get: + tags: + - Diseases + operationId: getDiseases_1 + parameters: + - name: typecode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /diseases/all: + get: + tags: + - Diseases + operationId: getAllDiseases + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/DiseaseDTO" + security: + - bearerAuth: [] + /discharges: + get: + tags: + - Admissions + operationId: getDischarges + parameters: + - name: dischargerange + in: query + required: true + schema: + type: array + items: + type: string + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 80 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PageAdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + /bills/pending: + get: + tags: + - Bills + operationId: getPendingBills + parameters: + - name: patient_code + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + /bills/pending/affiliate: + get: + tags: + - Bills + operationId: getPendingBillsAffiliate + parameters: + - name: patient_code + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillDTO" + security: + - bearerAuth: [] + /bills/payments: + get: + tags: + - Bills + operationId: searchBillsPayments + parameters: + - name: datefrom + in: query + required: true + schema: + type: string + - name: dateto + in: query + required: true + schema: + type: string + - name: patient_code + in: query + required: false + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillPaymentsDTO" + security: + - bearerAuth: [] + /bills/payments/{bill_id}: + get: + tags: + - Bills + operationId: getPaymentsByBillId + parameters: + - name: bill_id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillPaymentsDTO" + security: + - bearerAuth: [] + /bills/items: + get: + tags: + - Bills + operationId: getDistinctItems + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillItemsDTO" + security: + - bearerAuth: [] + /bills/items/{bill_id}: + get: + tags: + - Bills + operationId: getItems + parameters: + - name: bill_id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/BillItemsDTO" + security: + - bearerAuth: [] + /agetypes/{index}: + get: + tags: + - AgeTypes + operationId: getAgeTypeByIndex + parameters: + - name: index + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AgeType" + security: + - bearerAuth: [] + /agetypes/code: + get: + tags: + - AgeTypes + operationId: getAgeTypeCodeByAge + parameters: + - name: age + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: string + security: + - bearerAuth: [] + /admissions/patient/{patientCode}: + get: + tags: + - Admissions + operationId: getAdmissions_1 + parameters: + - name: patientCode + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/AdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + /admissions/getNextProgressiveIdInYear: + get: + tags: + - Admissions + operationId: getNextYProg + parameters: + - name: wardcode + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + "400": + description: Bad Request + security: + - bearerAuth: [] + /admissions/getBedsOccupationInWard: + get: + tags: + - Admissions + operationId: getUsedWardBed + parameters: + - name: wardid + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: integer + format: int32 + "400": + description: Bad Request + security: + - bearerAuth: [] + /admissions/current: + get: + tags: + - Admissions + operationId: getCurrentAdmission + parameters: + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AdmissionDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + /admissions/admittedPatients: + get: + tags: + - Admissions + operationId: getAdmittedPatients + parameters: + - name: searchterms + in: query + required: false + schema: + type: string + default: "" + - name: admissionrange + in: query + required: false + schema: + type: array + items: + type: string + - name: dischargerange + in: query + required: false + schema: + type: array + items: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/AdmittedPatientDTO" + "400": + description: Bad Request + security: + - bearerAuth: [] + /wards/{code}: + delete: + tags: + - Wards + operationId: deleteWard + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /visit/delete/{patID}: + delete: + tags: + - Visit + operationId: deleteVisitsRelatedToPatient + parameters: + - name: patID + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /vaccinetype/{code}: + delete: + tags: + - Vaccine Type + operationId: deleteVaccineType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /vaccines/{code}: + delete: + tags: + - Vaccines + operationId: deleteVaccine + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /users/groups/{group_code}: + delete: + tags: + - Users + operationId: deleteGroup + parameters: + - name: group_code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /operations/rows/{code}: + delete: + tags: + - Operations + operationId: deleteOperationRow + parameters: + - name: code + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /medicaltypes/{code}: + delete: + tags: + - Medical Types + operationId: deleteMedicalType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /diseasetypes/{code}: + delete: + tags: + - Disease Types + operationId: deleteDiseaseType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + security: + - bearerAuth: [] + /dischargetypes/{code}: + delete: + tags: + - DischargeType + operationId: deleteDischargeType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /deliverytypes/{code}: + delete: + tags: + - Delivery Type + operationId: deleteDeliveryType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /deliveryresulttypes/{code}: + delete: + tags: + - Delivery Result Type + operationId: deleteDeliveryResultType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /admissiontypes/{code}: + delete: + tags: + - AdmissionTypes + operationId: deleteAdmissionType + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + security: + - bearerAuth: [] + /admissions/{id}: + delete: + tags: + - Admissions + operationId: deleteAdmissionType_1 + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + type: boolean + "400": + description: Bad Request + security: + - bearerAuth: [] +components: + schemas: + WardDTO: + required: + - beds + - description + - docs + - nurs + - visitDuration + type: object + properties: + code: + maxLength: 3 + type: string + description: The ward code + description: + maxLength: 50 + type: string + description: The name of the ward + telephone: + maxLength: 50 + type: string + description: The phone number of the ward + fax: + maxLength: 50 + type: string + description: The fax number of the ward + email: + maxLength: 50 + type: string + description: The email of the ward + beds: + type: integer + format: int32 + nurs: + type: integer + format: int32 + docs: + type: integer + format: int32 + visitDuration: + type: integer + format: int32 + lock: + type: integer + description: lock + format: int32 + example: 0 + opd: + type: boolean + female: + type: boolean + male: + type: boolean + pharmacy: + type: boolean + PatientDTO: + required: + - age + - bloodType + - city + - fatherName + - firstName + - motherName + - secondName + - sex + type: object + properties: + code: + type: integer + format: int32 + readOnly: true + firstName: + maxLength: 50 + type: string + description: First name of the patient + example: Mario + secondName: + maxLength: 50 + type: string + description: Last name of the patient + example: Rossi + name: + type: string + readOnly: true + birthDate: + type: string + description: Birth date + example: "1979-05-01" + age: + type: integer + description: Age + format: int32 + example: 40 + agetype: + type: string + description: Age type + example: "null" + sex: + type: string + description: Sex + example: M + enum: + - M + - F + address: + maxLength: 50 + type: string + description: Address + example: Via Roma, 12 + city: + maxLength: 50 + type: string + description: City + example: Verona + nextKin: + type: string + readOnly: true + telephone: + maxLength: 50 + type: string + description: Telephone + example: "+393456789012" + note: + maxLength: 65535 + type: string + description: Note + example: Test insert new patient + motherName: + maxLength: 50 + type: string + description: Mother's name + example: Roberta + mother: + type: string + description: Mother's status (D=dead, A=alive) + example: A + enum: + - D + - A + fatherName: + maxLength: 50 + type: string + description: Father's name + example: Giuseppe + father: + type: string + description: Father's status (D=dead, A=alive) + example: D + enum: + - D + - A + bloodType: + type: string + description: Blood type (0-/+, A-/+ , B-/+, AB-/+) + example: A+ + enum: + - 0- + - 0+ + - A- + - A+ + - B- + - B+ + - AB- + - AB+ + hasInsurance: + type: string + description: HasInsurance (Y=Yes, N=no) + example: "N" + enum: + - "Y" + - "N" + parentTogether: + type: string + description: Parent together (Y=Yes, N=no) + example: "N" + enum: + - "Y" + - "N" + taxCode: + maxLength: 30 + type: string + description: Tax code + example: RSSMRA79E01L781N + lock: + type: integer + description: Lock + format: int32 + example: 0 + blobPhoto: + type: array + description: BlobPhoto + items: + type: string + description: BlobPhoto + format: byte + hashCode: + type: integer + format: int32 + readOnly: true + allergies: + maxLength: 255 + type: string + description: Allergies of patient + anamnesis: + maxLength: 255 + type: string + description: Current anamnesis + status: + type: string + description: Status + example: I + enum: + - I + - O + consensusFlag: + type: boolean + description: Consensus flag + example: true + consensusServiceFlag: + type: boolean + description: Consensus service flag + example: true + description: Class representing a patient + VisitDTO: + required: + - date + - patient + type: object + properties: + visitID: + type: integer + description: The visit's ID + format: int32 + patient: + $ref: "#/components/schemas/PatientDTO" + date: + type: string + description: Date of the visit + example: "2020-03-19T14:58:00" + note: + maxLength: 65535 + type: string + description: Note of the visit + sms: + type: boolean + description: Sms of the visit + ward: + $ref: "#/components/schemas/WardDTO" + duration: + type: integer + description: Duration of the visit + format: int32 + service: + maxLength: 45 + type: string + description: Service done during the visit + description: Class representing a vaccine type + VaccineTypeDTO: + required: + - code + - description + type: object + properties: + code: + maxLength: 1 + type: string + description: Code of the vaccine type + example: C + description: + maxLength: 50 + type: string + description: Description of the vaccine type + example: Child + description: Class representing a vaccine type + VaccineDTO: + required: + - code + - description + - vaccineType + type: object + properties: + code: + maxLength: 10 + type: string + description: Code of the vaccine + example: "1" + description: + maxLength: 50 + type: string + description: Description of the vaccine + example: BCG + vaccineType: + $ref: "#/components/schemas/VaccineTypeDTO" + lock: + type: integer + description: Lock + format: int32 + example: 0 + description: Class representing a vaccine + UserDTO: + required: + - passwd + - userGroupName + - userName + type: object + properties: + userName: + maxLength: 50 + type: string + description: The username (must be unique) + example: John Doe + userGroupName: + $ref: "#/components/schemas/UserGroupDTO" + passwd: + maxLength: 50 + type: string + description: The user's password + example: 21@U2g423 + desc: + maxLength: 128 + type: string + description: The user's description + example: Lab chief technician + UserGroupDTO: + required: + - code + type: object + properties: + code: + maxLength: 50 + type: string + description: Name of the group (must be unique) + example: labo + desc: + maxLength: 128 + type: string + description: The description of the group + example: Staff members working in the laboratory + description: The user's group + UserSettingDTO: + required: + - configName + - configValue + - id + - user + type: object + properties: + id: + type: integer + description: The id of the setting (must be unique) + format: int32 + example: 1 + configName: + maxLength: 50 + type: string + description: The name of the setting + example: dashboard + user: + type: string + description: The name of the user + example: admin + configValue: + maxLength: 65535 + type: string + description: The value of the user + SupplierDTO: + required: + - supId + - supName + type: object + properties: + supId: + type: integer + description: The supplier's ID + format: int32 + example: 111 + supName: + maxLength: 100 + type: string + description: The supplier's name + example: Cogefar + supAddress: + maxLength: 150 + type: string + description: The supplier's address + example: 25 Rue Ministre, Dschang + supTaxcode: + maxLength: 50 + type: string + description: The supplier's tax code + example: "5221" + supPhone: + maxLength: 20 + type: string + description: The supplier's phone + example: "+237654120145" + supFax: + maxLength: 20 + type: string + description: The supplier's fax number + example: "+237654120145" + supEmail: + maxLength: 100 + type: string + description: The supplier's e-mail address + example: suplier@sample.com + supNote: + maxLength: 200 + type: string + description: The supplier's notes + PricesOthersDTO: + required: + - code + - daily + - description + - ipdInclude + - opdInclude + type: object + properties: + id: + type: integer + format: int32 + code: + maxLength: 10 + type: string + description: The prices code + example: PRICES001 + description: + maxLength: 100 + type: string + description: The description + opdInclude: + type: boolean + ipdInclude: + type: boolean + daily: + type: boolean + discharge: + type: boolean + undefined: + type: boolean + hashCode: + type: integer + format: int32 + readOnly: true + description: Class representing a price others + PriceListDTO: + type: object + properties: + id: + type: integer + format: int32 + code: + maxLength: 7 + type: string + description: The price list code + example: LISTE1 + name: + maxLength: 50 + type: string + description: The name of the price list + example: default price list + description: + maxLength: 100 + type: string + description: The price list description + example: default price list + currency: + maxLength: 10 + type: string + description: The currency + example: FCFA + hashCode: + type: integer + format: int32 + readOnly: true + description: Class representing a price list + PregnantTreatmentTypeDTO: + required: + - code + - description + type: object + properties: + code: + maxLength: 10 + type: string + description: The code + description: + maxLength: 50 + type: string + description: The description + hashCode: + type: integer + format: int32 + readOnly: true + description: Class representing a pregnant treatment type + PermissionDTO: + required: + - description + - id + - userGroupIds + type: object + properties: + name: + type: string + id: + type: integer + description: The permission id + format: int32 + description: + maxLength: 255 + type: string + description: The permission description + userGroupIds: + type: array + description: The user group id + items: + type: string + description: The user group id + PatientVaccineDTO: + required: + - patient + - progr + - vaccine + - vaccineDate + type: object + properties: + code: + type: integer + format: int32 + progr: + type: integer + description: A progr. in year + format: int32 + example: 1 + vaccineDate: + type: string + description: The vaccine date + patient: + $ref: "#/components/schemas/PatientDTO" + vaccine: + $ref: "#/components/schemas/VaccineDTO" + lock: + type: integer + description: Lock + format: int32 + example: 0 + hashCode: + type: integer + format: int32 + readOnly: true + PatientConsensusDTO: + required: + - patientId + type: object + properties: + consensusFlag: + type: boolean + description: Consensus flag + serviceFlag: + type: boolean + description: Service flag + patientId: + type: integer + description: Patient id + format: int32 + description: Class representing a patient consensus + OperationTypeDTO: + required: + - code + - description + type: object + properties: + code: + maxLength: 2 + type: string + description: The operation code + description: + maxLength: 50 + type: string + description: The operation type + OperationDTO: + required: + - code + - description + - major + - type + type: object + properties: + code: + maxLength: 10 + type: string + description: The code of operation + description: + maxLength: 50 + type: string + description: The operation description + type: + $ref: "#/components/schemas/OperationTypeDTO" + major: + type: integer + description: The operation major + format: int32 + lock: + type: integer + description: Lock + format: int32 + example: 0 + AdmissionDTO: + required: + - admDate + - admitted + - deleted + - type + type: object + properties: + id: + type: integer + description: Admission key + format: int32 + example: 12 + admitted: + type: integer + description: If admitted or not + format: int32 + example: 0 + type: + type: string + description: Type of admission + example: "N" + ward: + $ref: "#/components/schemas/WardDTO" + patient: + $ref: "#/components/schemas/PatientDTO" + admDate: + type: string + description: Admission date + admType: + $ref: "#/components/schemas/AdmissionTypeDTO" + diseaseIn: + $ref: "#/components/schemas/DiseaseDTO" + diseaseOut1: + $ref: "#/components/schemas/DiseaseDTO" + diseaseOut2: + $ref: "#/components/schemas/DiseaseDTO" + diseaseOut3: + $ref: "#/components/schemas/DiseaseDTO" + operation: + $ref: "#/components/schemas/OperationDTO" + opDate: + type: string + description: Operation date + opResult: + type: string + description: "Operation result value is 'P' or 'N' " + example: "N" + disDate: + type: string + description: Discharge date + disType: + $ref: "#/components/schemas/DischargeTypeDTO" + note: + maxLength: 65535 + type: string + description: Free note + transUnit: + type: number + description: Transfusional unit + format: float + visitDate: + type: string + description: Visit date + pregTreatmentType: + $ref: "#/components/schemas/PregnantTreatmentTypeDTO" + deliveryDate: + type: string + description: Delivery date + deliveryType: + $ref: "#/components/schemas/DeliveryTypeDTO" + deliveryResult: + $ref: "#/components/schemas/DeliveryResultTypeDTO" + weight: + type: number + description: Weight + format: float + ctrlDate1: + type: string + format: date-time + ctrlDate2: + type: string + format: date-time + abortDate: + type: string + format: date-time + userID: + type: string + description: User id + hashCode: + type: integer + format: int32 + readOnly: true + lock: + type: integer + description: Lock + format: int32 + example: 0 + deleted: + type: string + description: "Flag record deleted, values are 'Y' OR 'N' " + example: "N" + yprog: + type: integer + format: int32 + fhu: + type: string + description: The admission + AdmissionTypeDTO: + required: + - code + - description + type: object + properties: + code: + type: string + description: Code of the admission type + example: A + description: + maxLength: 50 + type: string + description: Description of the admission type + example: AMBULANCE + description: Admission type + BillDTO: + required: + - amount + - balance + - date + - listName + - patName + - patientTrue + - status + - update + - user + type: object + properties: + id: + type: integer + format: int32 + patient: + $ref: "#/components/schemas/PatientDTO" + listId: + type: integer + format: int32 + date: + type: string + description: Date of bill creation + example: "2020-03-19T14:58:00.000Z" + update: + type: string + description: Date of bill updated + example: "2020-03-19T14:58:00.000Z" + listName: + maxLength: 50 + type: string + description: Price list name + example: Basic + patientTrue: + type: boolean + description: Is bill belongs to a patient? + example: true + patName: + maxLength: 100 + type: string + description: Patient name + example: Mario Rossi + status: + type: string + description: Bill status + example: O + amount: + type: number + description: Bill Amount + format: double + example: 1000 + balance: + type: number + description: Bill balance + format: double + example: 1500 + user: + type: string + description: user name who create the bill + example: admin + list: + type: boolean + description: Class representing a bill + DeliveryResultTypeDTO: + required: + - code + - description + type: object + properties: + code: + type: string + description: Code of the delivery result type + example: M + description: + maxLength: 50 + type: string + description: Description of the delivery result type + example: MORTALITÉ MATERNELLE + description: Delivery result type + DeliveryTypeDTO: + required: + - code + - description + type: object + properties: + code: + type: string + description: Code of the delivery type + example: "N" + description: + maxLength: 50 + type: string + description: Description of the delivery type + example: ACCOUCHEMENT NORMAL + description: Delivery type + DischargeTypeDTO: + required: + - code + - description + type: object + properties: + code: + type: string + description: Code of the discharge type + example: SN + description: + maxLength: 50 + type: string + description: Description of the discharge type + example: SORTIE NORMALE + description: DisChargeType + DiseaseDTO: + required: + - code + - description + - diseaseType + - ipdInInclude + - ipdOutInclude + - opdInclude + type: object + properties: + code: + maxLength: 10 + type: string + description: Disease code + example: "99" + description: + maxLength: 50 + type: string + description: Disease description + diseaseType: + $ref: "#/components/schemas/DiseaseTypeDTO" + opdInclude: + type: boolean + description: Indicates whether the disease is an OPD disease + example: true + ipdInInclude: + type: boolean + description: Indicates whether the disease is an IPD-IN disease + example: true + ipdOutInclude: + type: boolean + description: Indicates whether the disease is an IPD-OUT disease + example: true + hashCode: + type: integer + format: int32 + readOnly: true + lock: + type: integer + description: Lock + format: int32 + example: 0 + description: Class representing a disease + DiseaseTypeDTO: + required: + - code + - description + type: object + properties: + code: + maxLength: 2 + type: string + description: Disease type code + description: + maxLength: 110 + type: string + description: Disease type description + description: Class representing a disease type + OpdDTO: + required: + - age + - newPatient + - note + - sex + - ward + type: object + properties: + code: + type: integer + description: The code of the opd + format: int32 + example: 3 + date: + type: string + description: The date of the admission + nextVisitDate: + type: string + description: The next visit date + patientCode: + type: integer + description: The admitted patient code + format: int32 + age: + type: integer + description: The patient age + format: int32 + example: 18 + sex: + type: string + description: The patient sex + example: M + patientName: + type: string + description: The patient sex + example: M + ageType: + type: string + description: Age type + example: "null" + note: + maxLength: 65535 + type: string + description: The admission note + example: this is out patient + prog_year: + type: integer + description: A progr. in year for each ward + format: int32 + example: 18 + disease: + $ref: "#/components/schemas/DiseaseDTO" + disease2: + $ref: "#/components/schemas/DiseaseDTO" + disease3: + $ref: "#/components/schemas/DiseaseDTO" + newPatient: + type: string + description: New(N) or Reattendance(R) patient + example: "N" + referralFrom: + type: string + description: Referral from another unit + example: R + referralTo: + type: string + description: Referral to another unit + example: R + userID: + type: string + description: User id + lock: + type: integer + format: int32 + readOnly: true + hashCode: + type: integer + format: int32 + readOnly: true + reason: + type: string + description: Reasons for entry + anamnesis: + type: string + description: History of a medical or psychiatric patient + allergies: + type: string + description: Allergies of patient + therapies: + type: string + description: Current therapies + prescription: + maxLength: 255 + type: string + description: Prescription + ward: + $ref: "#/components/schemas/WardDTO" + description: The opd + OperationRowDTO: + required: + - opDate + - opResult + - operation + - prescriber + type: object + properties: + id: + type: integer + format: int32 + operation: + $ref: "#/components/schemas/OperationDTO" + prescriber: + maxLength: 150 + type: string + description: The presciber of the operation + opResult: + maxLength: 250 + type: string + description: The result of the operation + opDate: + type: string + description: Operation registration date + remarks: + maxLength: 250 + type: string + description: The remark of the operation + admission: + $ref: "#/components/schemas/AdmissionDTO" + opd: + $ref: "#/components/schemas/OpdDTO" + bill: + $ref: "#/components/schemas/BillDTO" + transUnit: + type: number + description: The transunit + format: float + hashCode: + type: integer + format: int32 + readOnly: true + OpdWithOperationRowDTO: + type: object + properties: + opdDTO: + $ref: "#/components/schemas/OpdDTO" + operationRows: + type: array + items: + $ref: "#/components/schemas/OperationRowDTO" + MovementTypeDTO: + required: + - code + - description + - type + type: object + properties: + code: + maxLength: 10 + type: string + description: Code of the movement type + example: D + description: + maxLength: 50 + type: string + description: Description of the movement type + example: Damage + type: + type: string + description: Type of the movement type + example: "-" + MedicalTypeDTO: + required: + - code + - description + type: object + properties: + code: + maxLength: 1 + type: string + description: Code of the medical type + example: M + description: + maxLength: 30 + type: string + description: Description of the medical type + example: Medical material + MedicalDTO: + type: object + properties: + code: + maxLength: 5 + type: integer + description: The id of the medical + format: int32 + example: 1 + prod_code: + type: string + description: The product code + example: PARA + type: + $ref: "#/components/schemas/MedicalTypeDTO" + description: + maxLength: 100 + type: string + description: The description of the medical + example: Paracétamol + initialqty: + type: number + description: The initial quantity of the medical + format: double + example: 21 + pcsperpck: + type: integer + description: The number of pieces per packet + format: int32 + example: 100 + inqty: + type: number + description: The input quantity of the medical + format: double + example: 340 + outqty: + type: number + description: The out quantity of the medical + format: double + example: 8 + minqty: + type: number + description: The min quantity of the medical + format: double + example: 15 + lock: + type: integer + description: Lock + format: int32 + example: 0 + MalnutritionDTO: + required: + - admission + - dateSupp + - height + - weight + type: object + properties: + code: + type: integer + description: The code malnutrition control + format: int32 + example: 1 + dateSupp: + type: string + description: The date of this malnutrition control + example: "1979-05-01T11:20:33" + dateConf: + type: string + description: The date of the next malnutrition control + example: "1979-05-01T11:20:33" + admission: + $ref: "#/components/schemas/AdmissionDTO" + height: + type: number + description: The height of the patient + format: float + example: 165 + weight: + type: number + description: The weight of the patient + format: float + example: 65 + lock: + type: integer + description: Lock + format: int32 + example: 0 + ExamDTO: + type: object + properties: + code: + maxLength: 10 + type: string + description: Exam Code + example: "01.01" + description: + maxLength: 100 + type: string + description: Exam Description + example: 1.1 HB + procedure: + type: integer + description: Exam Procedure + format: int32 + example: 1 + defaultResult: + maxLength: 50 + type: string + description: Exam Default Result + example: ">=12 (NORMAL)" + examtype: + $ref: "#/components/schemas/ExamTypeDTO" + lock: + type: integer + description: Lock + format: int32 + example: 0 + description: Laboratory Exam + ExamTypeDTO: + type: object + properties: + code: + type: string + description: Exam Type Code + example: HB + description: + maxLength: 50 + type: string + description: Exam Type Description + example: 1.Haematology + description: Exam Type + LabWithRowsDTO: + type: object + properties: + laboratoryDTO: + $ref: "#/components/schemas/LaboratoryDTO" + laboratoryRowList: + type: array + items: + type: string + LaboratoryDTO: + type: object + properties: + code: + type: integer + description: Laboratory Code + format: int32 + material: + type: string + description: Laboratory Material + example: Blood + exam: + $ref: "#/components/schemas/ExamDTO" + registrationDate: + type: string + description: Laboratory Registration Date + labDate: + type: string + description: Laboratory Exam Date + result: + type: string + description: Laboratory Result + lock: + type: integer + description: Lock + format: int32 + example: 0 + note: + maxLength: 255 + type: string + description: Laboratory Note + example: Note by laboratorist + patientCode: + type: integer + description: Laboratory Patient Code + format: int32 + patName: + type: string + description: Laboratory Patient Name + inOutPatient: + type: string + description: Laboratory Patient InOut + example: "0" + enum: + - I + - O + age: + type: integer + description: Laboratory Patient Age + format: int32 + sex: + type: string + description: Laboratory Patient Sex + example: M + status: + type: string + description: Laboratory status + example: DRAFT + enum: + - draft + - open + - done + - invalid + - deleted + HospitalDTO: + type: object + properties: + code: + maxLength: 10 + type: string + description: Hospital Code + example: STLUKE + description: + maxLength: 255 + type: string + description: Hospital Description + example: St. Luke HOSPITAL - Angal + address: + maxLength: 255 + type: string + description: Hospital Address + example: Hospital Address + city: + maxLength: 255 + type: string + description: Hospital City + example: Hospital City + telephone: + maxLength: 50 + type: string + description: Hospital Telephone + example: +123 0123456789 + fax: + maxLength: 50 + type: string + description: Hospital Fax + example: +123 0123456789 + email: + maxLength: 50 + type: string + description: Hospital Email + example: hospital@isf.email.xx + currencyCod: + maxLength: 3 + type: string + description: Hospital Currency Cod + example: EUR + lock: + type: integer + description: Lock + format: int32 + example: 0 + PatientExaminationDTO: + required: + - patientCode + - pex_date + type: object + properties: + pex_ID: + type: integer + description: Patient Examination Id + format: int32 + example: 1 + pex_date: + type: string + description: Date of Patient Examination + example: "2020-03-19T14:58:00.000Z" + patientCode: + type: integer + description: Patient Examination Code + format: int32 + pex_height: + type: integer + description: Patient Height in cm + format: int32 + pex_weight: + type: number + description: Patient Weight in Kg + format: double + pex_ap_min: + type: integer + description: Blood Pressure MIN in mmHg + format: int32 + pex_ap_max: + type: integer + description: Blood Pressure MAX in mmHg + format: int32 + pex_rr: + type: integer + description: Respiratory Rate in bpm + format: int32 + pex_temp: + type: number + description: Patient Temperature in °C + format: double + pex_sat: + type: number + description: Patient Saturation in % + format: double + pex_hr: + type: integer + description: Heart Rate in Apm + format: int32 + pex_auscultation: + type: string + description: Patient ausculation + example: normal + enum: + - normal + - wheezes + - rhonchi + - crackles + - stridor + - bronchial + pex_hgt: + type: integer + description: Hemo Glucose Test + format: int32 + pex_diuresis: + type: integer + description: Daily urine Volume in ml + format: int32 + pex_diuresis_desc: + type: string + description: Diuresis description + example: physiological + enum: + - physiological + - oliguria + - anuria + - frequent + - nocturia + - stranguria + - hematuria + - pyuria + pex_note: + maxLength: 2000 + type: string + description: Examination Note + pex_bowel_desc: + type: string + description: Bowel Function + example: regular + enum: + - constipation + - regular + - diarrheal + - irregular + BillItemsDTO: + required: + - itemAmount + - itemDescription + - itemDisplayCode + - itemId + - itemQuantity + - priceId + type: object + properties: + id: + type: integer + format: int32 + billId: + type: integer + description: Bill id + format: int32 + priceId: + type: string + description: The price Id + example: "104" + itemDescription: + type: string + description: Item description + example: Acetone 99 % 1ltr + itemAmount: + type: number + description: Item amount + format: double + example: 1000 + itemQuantity: + type: integer + description: Item quantity + format: int32 + example: 1 + itemDisplayCode: + type: string + description: Item display code + example: Acetone + itemId: + type: string + description: Item id + example: "3" + hashCode: + type: integer + format: int32 + readOnly: true + price: + type: boolean + description: Class representing a billItem + BillPaymentsDTO: + required: + - amount + - billId + - date + - user + type: object + properties: + id: + type: integer + format: int32 + billId: + type: integer + description: Bill id + format: int32 + date: + type: string + description: Date of payment + format: date-time + example: "2020-03-19T14:58:00Z" + amount: + type: number + description: The payment amount + format: double + example: 500 + user: + type: string + description: The current user + example: admin + hashCode: + type: integer + format: int32 + readOnly: true + description: Class representing a billPayment + FullBillDTO: + required: + - bill + - billItems + type: object + properties: + bill: + $ref: "#/components/schemas/BillDTO" + billItems: + type: array + description: List of bill items elements + items: + $ref: "#/components/schemas/BillItemsDTO" + billPayments: + type: array + description: List of bill payments elements + items: + $ref: "#/components/schemas/BillPaymentsDTO" + AgeTypeDTO: + required: + - description + - from + - to + type: object + properties: + code: + type: string + description: Age type code + description: + maxLength: 100 + type: string + description: Age type description + from: + type: integer + description: The minimum value of the range + format: int32 + example: 0 + to: + type: integer + description: The maximum value of the range + format: int32 + example: 0 + description: Class representing an age type which is typically a range + TherapyRowDTO: + required: + - endDate + - freqInDay + - freqInPeriod + - medicalId + - notifyInt + - patID + - qty + - smsInt + - startDate + - unitID + type: object + properties: + therapyID: + type: integer + description: The therapy's ID + format: int32 + example: 1 + patID: + $ref: "#/components/schemas/PatientDTO" + startDate: + type: string + description: The start date of therapy + format: date-time + endDate: + type: string + description: The end date of the therapy + format: date-time + medicalId: + type: integer + description: The ID of the medical concerned by the therapy + format: int32 + example: 1 + qty: + type: number + description: The quantity of medicals + format: double + example: 48 + unitID: + type: integer + description: The unit's ID + format: int32 + example: 1 + freqInDay: + type: integer + description: The frequency in day + format: int32 + example: 2 + freqInPeriod: + type: integer + description: The frequency in period + format: int32 + example: 1 + note: + maxLength: 65535 + type: string + description: A note for the therapy + example: Sample note + notifyInt: + type: integer + description: >- + the notify flag: 1 if the notification need to be activated, 0 + otherwise + format: int32 + example: 0 + smsInt: + type: integer + description: "The sms flag: 1 if sms need to be sent to patient, 0 otherwise" + format: int32 + example: 0 + Patient: + required: + - age + - birthDate + - bloodType + - city + - deleted + - fatherName + - firstName + - motherName + - name + - secondName + - sex + type: object + properties: + createdBy: + type: string + createdDate: + type: string + format: date-time + lastModifiedBy: + type: string + lastModifiedDate: + type: string + format: date-time + active: + type: integer + format: int32 + code: + type: integer + format: int32 + firstName: + type: string + secondName: + type: string + name: + type: string + birthDate: + type: string + format: date + age: + type: integer + format: int32 + agetype: + type: string + sex: + type: string + address: + type: string + city: + type: string + nextKin: + type: string + telephone: + type: string + note: + type: string + motherName: + type: string + mother: + type: string + fatherName: + type: string + father: + type: string + bloodType: + type: string + hasInsurance: + type: string + parentTogether: + type: string + taxCode: + type: string + maritalStatus: + type: string + profession: + type: string + deleted: + type: string + anamnesis: + type: string + allergies: + type: string + lock: + type: integer + format: int32 + patientProfilePhoto: + $ref: "#/components/schemas/PatientProfilePhoto" + patientConsensus: + $ref: "#/components/schemas/PatientConsensus" + searchString: + type: string + informations: + type: string + PatientConsensus: + type: object + properties: + createdBy: + type: string + createdDate: + type: string + format: date-time + lastModifiedBy: + type: string + lastModifiedDate: + type: string + format: date-time + active: + type: integer + format: int32 + id: + type: integer + format: int32 + consensusFlag: + type: boolean + serviceFlag: + type: boolean + patient: + $ref: "#/components/schemas/Patient" + PatientProfilePhoto: + type: object + properties: + patient: + $ref: "#/components/schemas/Patient" + photo: + type: array + items: + type: string + format: byte + photoAsImage: + type: object + properties: + accelerationPriority: + type: number + format: float + source: + type: object + graphics: + type: object + properties: + color: + type: object + properties: + red: + type: integer + format: int32 + green: + type: integer + format: int32 + blue: + type: integer + format: int32 + alpha: + type: integer + format: int32 + colorSpace: + type: object + properties: + type: + type: integer + format: int32 + numComponents: + type: integer + format: int32 + cs_sRGB: + type: boolean + rgb: + type: integer + format: int32 + transparency: + type: integer + format: int32 + xormode: + type: object + properties: + red: + type: integer + format: int32 + green: + type: integer + format: int32 + blue: + type: integer + format: int32 + alpha: + type: integer + format: int32 + colorSpace: + type: object + properties: + type: + type: integer + format: int32 + numComponents: + type: integer + format: int32 + cs_sRGB: + type: boolean + rgb: + type: integer + format: int32 + transparency: + type: integer + format: int32 + writeOnly: true + font: + type: object + properties: + name: + type: string + style: + type: integer + format: int32 + size: + type: integer + format: int32 + attributes: + type: object + additionalProperties: + type: object + transform: + type: object + properties: + scaleX: + type: number + format: double + shearY: + type: number + format: double + shearX: + type: number + format: double + scaleY: + type: number + format: double + translateX: + type: number + format: double + translateY: + type: number + format: double + type: + type: integer + format: int32 + identity: + type: boolean + determinant: + type: number + format: double + toRotation: + type: number + format: double + writeOnly: true + toQuadrantRotation: + type: integer + format: int32 + writeOnly: true + psname: + type: string + fontName: + type: string + size2D: + type: number + format: float + plain: + type: boolean + bold: + type: boolean + italic: + type: boolean + transformed: + type: boolean + numGlyphs: + type: integer + format: int32 + missingGlyphCode: + type: integer + format: int32 + availableAttributes: + type: array + items: + type: object + italicAngle: + type: number + format: float + family: + type: string + fontMetrics: + type: object + properties: + font: + type: object + properties: + name: + type: string + style: + type: integer + format: int32 + size: + type: integer + format: int32 + attributes: + type: object + additionalProperties: + type: object + transform: + type: object + properties: + scaleX: + type: number + format: double + shearY: + type: number + format: double + shearX: + type: number + format: double + scaleY: + type: number + format: double + translateX: + type: number + format: double + translateY: + type: number + format: double + type: + type: integer + format: int32 + identity: + type: boolean + determinant: + type: number + format: double + toRotation: + type: number + format: double + writeOnly: true + toQuadrantRotation: + type: integer + format: int32 + writeOnly: true + psname: + type: string + fontName: + type: string + size2D: + type: number + format: float + plain: + type: boolean + bold: + type: boolean + italic: + type: boolean + transformed: + type: boolean + numGlyphs: + type: integer + format: int32 + missingGlyphCode: + type: integer + format: int32 + availableAttributes: + type: array + items: + type: object + italicAngle: + type: number + format: float + family: + type: string + ascent: + type: integer + format: int32 + descent: + type: integer + format: int32 + leading: + type: integer + format: int32 + fontRenderContext: + type: object + properties: + transform: + type: object + properties: + scaleX: + type: number + format: double + shearY: + type: number + format: double + shearX: + type: number + format: double + scaleY: + type: number + format: double + translateX: + type: number + format: double + translateY: + type: number + format: double + type: + type: integer + format: int32 + identity: + type: boolean + determinant: + type: number + format: double + toRotation: + type: number + format: double + writeOnly: true + toQuadrantRotation: + type: integer + format: int32 + writeOnly: true + transformed: + type: boolean + antiAliasingHint: + type: object + fractionalMetricsHint: + type: object + antiAliased: + type: boolean + transformType: + type: integer + format: int32 + maxAscent: + type: integer + format: int32 + maxDescent: + type: integer + format: int32 + maxDecent: + type: integer + format: int32 + deprecated: true + maxAdvance: + type: integer + format: int32 + widths: + type: array + items: + type: integer + format: int32 + height: + type: integer + format: int32 + clipBounds: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + width: + type: number + format: double + height: + type: number + format: double + empty: + type: boolean + location: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + size: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + bounds2D: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + rect: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + writeOnly: true + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + clip: + type: object + properties: + bounds: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + width: + type: number + format: double + height: + type: number + format: double + empty: + type: boolean + location: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + size: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + bounds2D: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + rect: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + writeOnly: true + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + bounds2D: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + clipRect: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + width: + type: number + format: double + height: + type: number + format: double + empty: + type: boolean + location: + type: object + properties: + x: + type: number + format: double + "y": + type: number + format: double + size: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + bounds2D: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + rect: + type: object + properties: + empty: + type: boolean + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + height: + type: number + format: double + width: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + x: + type: number + format: double + "y": + type: number + format: double + writeOnly: true + maxX: + type: number + format: double + maxY: + type: number + format: double + centerX: + type: number + format: double + centerY: + type: number + format: double + minX: + type: number + format: double + minY: + type: number + format: double + deprecated: true + TherapyRow: + required: + - endDate + - freqInDay + - freqInPeriod + - medicalId + - notifyInt + - patient + - qty + - smsInt + - startDate + - unitID + type: object + properties: + createdBy: + type: string + createdDate: + type: string + format: date-time + lastModifiedBy: + type: string + lastModifiedDate: + type: string + format: date-time + active: + type: integer + format: int32 + therapyID: + type: integer + format: int32 + patient: + $ref: "#/components/schemas/Patient" + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + medicalId: + type: integer + format: int32 + qty: + type: number + format: double + unitID: + type: integer + format: int32 + freqInDay: + type: integer + format: int32 + freqInPeriod: + type: integer + format: int32 + note: + type: string + notifyInt: + type: integer + format: int32 + smsInt: + type: integer + format: int32 + medical: + type: integer + format: int32 + notify: + type: boolean + sms: + type: boolean + TherapyDTO: + type: object + properties: + therapyID: + type: integer + description: The therapy's ID + format: int32 + example: 1 + patID: + type: integer + description: The patient's ID + format: int32 + example: 1 + dates: + type: array + description: The dates of the therapy + example: + - "2022-01-01T10:00:00" + - "2022-01-02T15:30:00" + items: + type: string + description: The dates of the therapy + format: date-time + medical: + $ref: "#/components/schemas/MedicalDTO" + qty: + type: number + description: The quantity of the medical + format: double + example: 48 + units: + type: string + description: The units + freqInDay: + type: integer + description: The frequency in day + format: int32 + example: 2 + note: + maxLength: 65535 + type: string + description: A note for the therapy + example: Sample note + notify: + type: boolean + description: >- + The notify flag: true if the notification need to be activated, + false otherwise + example: false + sms: + type: boolean + description: >- + The sms flag: true if sms need to be sent to patient, false + otherwise + example: false + LotDTO: + required: + - code + - dueDate + - preparationDate + type: object + properties: + code: + maxLength: 50 + type: string + description: The lot's code + example: LT001 + preparationDate: + type: string + description: The preparation date + example: "2020-06-24" + dueDate: + type: string + description: The due date + example: "2021-06-24" + cost: + type: number + description: The lot's code + example: 750 + description: The lot + MovementDTO: + required: + - date + - medical + - quantity + - refNo + - type + type: object + properties: + code: + type: integer + description: The movement code + format: int32 + example: 1 + medical: + $ref: "#/components/schemas/MedicalDTO" + type: + $ref: "#/components/schemas/MovementTypeDTO" + ward: + $ref: "#/components/schemas/WardDTO" + lot: + $ref: "#/components/schemas/LotDTO" + date: + type: string + description: The movement date + example: "2020-06-24" + quantity: + type: integer + description: The movement's medical quantity + format: int32 + example: 50 + supplier: + $ref: "#/components/schemas/SupplierDTO" + refNo: + type: string + description: The movement reference + example: MVN152445 + SmsDTO: + required: + - module + - smsDate + - smsDateSched + - smsNumber + - smsText + - smsUser + type: object + properties: + smsId: + type: integer + description: SMS Id + format: int32 + example: 1 + smsDate: + type: string + description: SMS Date + format: date-time + smsDateSched: + type: string + description: SMS scheduled date + example: "2020-07-28T00:00:00" + smsNumber: + maxLength: 45 + type: string + description: SMS target phone number + example: "+237671302313" + smsText: + maxLength: 160 + type: string + description: SMS content text + example: Hi Mario. + smsDateSent: + type: string + description: SMS sent date + example: "2020-07-28T00:00:00" + smsUser: + maxLength: 50 + type: string + description: SMS user + example: Rosi + module: + maxLength: 45 + type: string + description: SMS module name + example: OPD + moduleID: + maxLength: 45 + type: string + description: SMS module Id + MovementWardDTO: + required: + - date + - description + - quantity + - units + - ward + type: object + properties: + code: + type: integer + description: The movement ward's code + format: int32 + example: 1 + ward: + $ref: "#/components/schemas/WardDTO" + date: + type: string + description: The movement ward's date + format: date + example: "2020-06-07" + patient: + $ref: "#/components/schemas/PatientDTO" + age: + type: integer + description: The patient's age in case the movement is associated to a patient + format: int32 + example: 21 + weight: + type: number + description: The patient's weight in case the movement is associated to a patient + format: float + example: 75 + description: + type: string + description: The description of the movement + example: stock transfer from pharmacy to laboratory + medical: + $ref: "#/components/schemas/MedicalDTO" + quantity: + type: number + description: The quantity of the medical concerned by the movement + format: double + example: 145 + units: + type: string + description: The measure's unit of the medical concerned by the movement + example: pct + wardTo: + $ref: "#/components/schemas/WardDTO" + wardFrom: + $ref: "#/components/schemas/WardDTO" + ExamRowDTO: + type: object + properties: + code: + type: integer + description: Exam Row Code + format: int32 + example: 999 + description: + type: string + description: Exam Row Code + example: NEGATIVE + exam: + $ref: "#/components/schemas/ExamDTO" + LoginRequest: + required: + - password + - username + type: object + properties: + username: + type: string + description: User Name + example: admin + password: + type: string + description: Password of user + example: admin + LoginResponse: + type: object + properties: + token: + type: string + description: Token + type: + type: string + description: Type of Token + example: Bearer + username: + type: string + description: User name + example: admin + description: Class representing a Login response + LitePermissionDTO: + type: object + properties: + name: + type: string + UserProfileDTO: + type: object + properties: + userName: + type: string + permissions: + type: array + items: + type: string + userGroup: + $ref: "#/components/schemas/UserGroupDTO" + PriceDTO: + required: + - description + - group + - item + - list + - price + type: object + properties: + id: + type: integer + format: int32 + list: + $ref: "#/components/schemas/PriceList" + group: + type: string + description: The group + item: + maxLength: 10 + type: string + description: The item name + description: + maxLength: 100 + type: string + description: The description + price: + type: number + description: Price + format: double + example: 1500 + editable: + type: boolean + readOnly: true + hashCode: + type: integer + format: int32 + readOnly: true + description: Class representing a prices + PriceList: + required: + - code + - currency + - description + - name + type: object + properties: + createdBy: + type: string + createdDate: + type: string + format: date-time + lastModifiedBy: + type: string + lastModifiedDate: + type: string + format: date-time + active: + type: integer + format: int32 + id: + type: integer + format: int32 + code: + type: string + name: + type: string + description: + type: string + currency: + type: string + description: The price list + PageInfoDTO: + type: object + properties: + size: + type: integer + format: int32 + page: + type: integer + format: int32 + nbOfElements: + type: integer + format: int32 + totalPages: + type: integer + format: int64 + totalNbOfElements: + type: integer + format: int64 + hasPreviousPage: + type: boolean + hasNextPage: + type: boolean + PagePatientDTO: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/PatientDTO" + pageInfo: + $ref: "#/components/schemas/PageInfoDTO" + PageOpdDTO: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/OpdDTO" + pageInfo: + $ref: "#/components/schemas/PageInfoDTO" + MedicalWardDTO: + type: object + properties: + id: + $ref: "#/components/schemas/MedicalWardIdDTO" + in_quantity: + type: number + description: The in-quantity + format: float + example: 150 + out_quantity: + type: number + description: The out-quantity + format: float + example: 89 + MedicalWardIdDTO: + required: + - medical + - ward + type: object + properties: + ward: + $ref: "#/components/schemas/WardDTO" + medical: + $ref: "#/components/schemas/MedicalDTO" + description: The medical ward's id + example: 1 + PageLabWithRowsDTO: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/LabWithRowsDTO" + pageInfo: + $ref: "#/components/schemas/PageInfoDTO" + PagePatientExaminationDTO: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/PatientExaminationDTO" + pageInfo: + $ref: "#/components/schemas/PageInfoDTO" + PageAdmissionDTO: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/AdmissionDTO" + pageInfo: + $ref: "#/components/schemas/PageInfoDTO" + AgeType: + required: + - description + - from + - to + type: object + properties: + createdBy: + type: string + createdDate: + type: string + format: date-time + lastModifiedBy: + type: string + lastModifiedDate: + type: string + format: date-time + active: + type: integer + format: int32 + code: + type: string + description: + type: string + from: + type: integer + format: int32 + to: + type: integer + format: int32 + AdmittedPatientDTO: + type: object + properties: + patient: + $ref: "#/components/schemas/PatientDTO" + admission: + $ref: "#/components/schemas/AdmissionDTO" + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT diff --git a/src/components/accessories/appHeader/AppHeader.tsx b/src/components/accessories/appHeader/AppHeader.tsx index 392d43f2f..be88f6698 100644 --- a/src/components/accessories/appHeader/AppHeader.tsx +++ b/src/components/accessories/appHeader/AppHeader.tsx @@ -1,189 +1,192 @@ -import { Tooltip, Typography } from "@material-ui/core"; -import Breadcrumbs from "@material-ui/core/Breadcrumbs"; -import HomeIcon from "@material-ui/icons/Home"; -import LangSwitcher from "../langSwitcher/LangSwitcher"; -import NavigateBefore from "@material-ui/icons/NavigateBefore"; -import classNames from "classnames"; -import React, { FunctionComponent, useEffect, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useNavigate } from "react-router"; -import { Link } from "react-router-dom"; -import logo from "../../../assets/logo-color.svg"; -import "./styles.scss"; -import { IDispatchProps, IStateProps, TProps } from "./types"; -import ExitToAppIcon from "@material-ui/icons/ExitToApp"; -import { IState } from "../../../types"; -import { connect, useDispatch, useSelector } from "react-redux"; -import { setLogoutThunk } from "../../../state/main/actions"; -import ConfirmationDialog from "../confirmationDialog/ConfirmationDialog"; -import warningIcon from "../../../assets/warning-icon.png"; -import OHFeedback from "../feedback/OHFeedback"; -import { useShowHelp } from "../../../libraries/hooks/useShowHelp"; -import { PATHS } from "../../../consts"; -import { usePermission } from "../../../libraries/permissionUtils/usePermission"; -import { getHospital } from "../../../state/hospital/actions"; -import { HospitalDTO } from "../../../generated"; - -const AppHeader: FunctionComponent = ({ - breadcrumbMap, - setLogoutThunk, -}) => { - const keys = Object.keys(breadcrumbMap); - const trailEdgeKey = keys.pop(); - const dispatch = useDispatch(); - const { t } = useTranslation(); - const [isOpen, setIsOpen] = useState(false); - const username = useSelector( - (state: IState) => state.main.authentication.data?.username - ); - useEffect(() => { - dispatch(getHospital()); - }, [dispatch, getHospital]); - - const hospital = useSelector( - (state) => state.hospital.getHospital.data - ) as HospitalDTO; - const openMenu = (isOpen: boolean) => { - isOpen - ? document.body.classList.add("disable-scroll") - : document.body.classList.remove("disable-scroll"); - setIsOpen(isOpen); - }; - const [openLogoutConfirmation, setOpenLogoutConfirmation] = useState(false); - const showHelp = useShowHelp(); - const handleLogout = () => { - setOpenLogoutConfirmation(false); - setLogoutThunk(); - }; - const navigate = useNavigate(); - - const canAccessPatient = usePermission("patient.access"); - const canAccessVisit = usePermission("visit.access"); - const canAccessLaboratory = usePermission("laboratory.access"); - - return ( -
-
-
{}
-
-
- - {t("dashboard.welcomename")} -   - {username} - - - setOpenLogoutConfirmation(true)} - /> - -
- {showHelp && ( -
- -
- )} -
-
-
-
-
-
- - Open Hospital - -
-
navigate(breadcrumbMap[keys.pop() || "/"])} - className={classNames("appHeader__navigate_before", { - hidden: trailEdgeKey === "Dashboard", - })} - > - -
-
-
- {hospital?.description ?? t("common.hospitalname")} -
- -
- -
- {keys.map((key, index) => ( - - {key} - - ))} - {trailEdgeKey} -
-
-
openMenu(!isOpen)} - > -
-
-
-
-
-
-
-
navigate(PATHS.dashboard)} - > - {t("nav.dashboard")} -
- {canAccessPatient && ( -
navigate(PATHS.patients)} - > - {t("nav.patients")} -
- )} - {canAccessVisit && ( -
navigate(PATHS.visits)} - > - {t("nav.visits")} -
- )} - {canAccessLaboratory && ( -
navigate(PATHS.laboratory)} - > - {t("nav.laboratory")} -
- )} -
-
-
-
- setOpenLogoutConfirmation(false)} - /> -
- ); -}; - -const mapStateToProps = (state: IState): IStateProps => ({ - status: state.main.logout.status || "IDLE", -}); - -const mapDispatchToProps: IDispatchProps = { - setLogoutThunk, -}; - -export default connect(mapStateToProps, mapDispatchToProps)(AppHeader); +import { Tooltip, Typography } from "@material-ui/core"; +import Breadcrumbs from "@material-ui/core/Breadcrumbs"; +import HomeIcon from "@material-ui/icons/Home"; +import LangSwitcher from "../langSwitcher/LangSwitcher"; +import NavigateBefore from "@material-ui/icons/NavigateBefore"; +import classNames from "classnames"; +import React, { FunctionComponent, useEffect, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { useNavigate } from "react-router"; +import { Link } from "react-router-dom"; +import logo from "../../../assets/logo-color.svg"; +import "./styles.scss"; +import { IDispatchProps, IStateProps, TProps } from "./types"; +import ExitToAppIcon from "@material-ui/icons/ExitToApp"; +import { IState } from "../../../types"; +import { connect, useDispatch, useSelector } from "react-redux"; +import { setLogoutThunk } from "../../../state/main/actions"; +import ConfirmationDialog from "../confirmationDialog/ConfirmationDialog"; +import warningIcon from "../../../assets/warning-icon.png"; +import OHFeedback from "../feedback/OHFeedback"; +import { useShowHelp } from "../../../libraries/hooks/useShowHelp"; +import { PATHS } from "../../../consts"; +import { usePermission } from "../../../libraries/permissionUtils/usePermission"; +import { getHospital } from "../../../state/hospital/actions"; +import { HospitalDTO } from "../../../generated"; + +const AppHeader: FunctionComponent = ({ + breadcrumbMap, + setLogoutThunk, +}) => { + const keys = Object.keys(breadcrumbMap); + const trailEdgeKey = keys.pop(); + const dispatch = useDispatch(); + const { t } = useTranslation(); + const [isOpen, setIsOpen] = useState(false); + const username = useSelector( + (state: IState) => state.main.authentication.data?.username + ); + useEffect(() => { + dispatch(getHospital()); + }, [dispatch, getHospital]); + + const hospital = useSelector( + (state) => state.hospital.getHospital.data + ) as HospitalDTO; + const openMenu = (isOpen: boolean) => { + isOpen + ? document.body.classList.add("disable-scroll") + : document.body.classList.remove("disable-scroll"); + setIsOpen(isOpen); + }; + const [openLogoutConfirmation, setOpenLogoutConfirmation] = useState(false); + const showHelp = useShowHelp(); + const handleLogout = () => { + setOpenLogoutConfirmation(false); + setLogoutThunk(); + }; + const navigate = useNavigate(); + + const canAccessPatient = usePermission("patient.access"); + const canAccessVisit = usePermission("visit.access"); + const canAccessLaboratory = usePermission("laboratory.access"); + const canAccessDashboard = usePermission("dashboard.access"); + + return ( +
+
+
{}
+
+
+ + {t("dashboard.welcomename")} +   + {username} + + + setOpenLogoutConfirmation(true)} + /> + +
+ {showHelp && ( +
+ +
+ )} +
+
+
+
+
+
+ + Open Hospital + +
+
navigate(breadcrumbMap[keys.pop() || "/"])} + className={classNames("appHeader__navigate_before", { + hidden: trailEdgeKey === "Dashboard", + })} + > + +
+
+
+ {hospital?.description ?? t("common.hospitalname")} +
+ +
+ +
+ {keys.map((key, index) => ( + + {key} + + ))} + {trailEdgeKey} +
+
+
openMenu(!isOpen)} + > +
+
+
+
+
+
+
+ {canAccessDashboard && ( +
navigate(PATHS.dashboard)} + > + {t("nav.dashboard")} +
+ )} + {canAccessPatient && ( +
navigate(PATHS.patients)} + > + {t("nav.patients")} +
+ )} + {canAccessVisit && ( +
navigate(PATHS.visits)} + > + {t("nav.visits")} +
+ )} + {canAccessLaboratory && ( +
navigate(PATHS.laboratory)} + > + {t("nav.laboratory")} +
+ )} +
+
+
+
+ setOpenLogoutConfirmation(false)} + /> +
+ ); +}; + +const mapStateToProps = (state: IState): IStateProps => ({ + status: state.main.logout.status || "IDLE", +}); + +const mapDispatchToProps: IDispatchProps = { + setLogoutThunk, +}; + +export default connect(mapStateToProps, mapDispatchToProps)(AppHeader); diff --git a/src/components/activities/loginActivity/LoginActivity.tsx b/src/components/activities/loginActivity/LoginActivity.tsx index 2a1c90f6f..43c221b91 100644 --- a/src/components/activities/loginActivity/LoginActivity.tsx +++ b/src/components/activities/loginActivity/LoginActivity.tsx @@ -1,161 +1,161 @@ -import { FC, useEffect } from "react"; -import { InputAdornment } from "@material-ui/core"; -import { Link as RouterLink } from "react-router-dom"; -import Link from "@material-ui/core/Link"; -import { RemoveRedEye } from "@material-ui/icons"; -import classNames from "classnames"; -import { useFormik } from "formik"; -import get from "lodash.get"; -import has from "lodash.has"; -import { default as React, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useDispatch, useSelector } from "react-redux"; -import { object, string } from "yup"; -import logo from "../../../assets/logo-color.svg"; -import { HospitalDTO } from "../../../generated"; -import { useAuthentication } from "../../../libraries/authUtils/useAuthentication"; -import { setAuthenticationThunk } from "../../../state/main/actions"; -import { IState } from "../../../types"; -import Button from "../../accessories/button/Button"; -import Footer from "../../accessories/footer/Footer"; -import TextField from "../../accessories/textField/TextField"; -import "./styles.scss"; -import { IValues } from "./types"; -import { getHospital } from "../../../state/hospital/actions"; - -const LoginActivity: FC = () => { - useAuthentication(); - const { t } = useTranslation(); - const dispatch = useDispatch(); - - const initialValues: IValues = { - username: "", - password: "", - }; - - const validationSchema = object({ - username: string().required(t("login.insertavalidusername")), - password: string().required(t("login.insertthepassword")), - }); - - const formik = useFormik({ - initialValues, - validationSchema, - onSubmit: (values: IValues) => { - dispatch(setAuthenticationThunk(values.username, values.password)); - }, - }); - - const [state, setState] = useState({ isPasswordVisible: false }); - - const isValid = (fieldName: string): boolean => { - return has(formik.touched, fieldName) && has(formik.errors, fieldName); - }; - - const getErrorText = (fieldName: string): string => { - return has(formik.touched, fieldName) ? get(formik.errors, fieldName) : ""; - }; - const errorMessage = useSelector((state) => { - const error = state.main.authentication.error; - return error?.status == 401 - ? t("errors.incorrectcredentials") - : error?.message ?? t("errors.somethingwrong"); - }); - - const status = useSelector( - (state) => state.main.authentication.status || "IDLE" - ); - - useEffect(() => { - dispatch(getHospital()); - }, [dispatch]); - - const hospital = useSelector( - (state) => state.hospital.getHospital.data - ) as HospitalDTO; - - return ( -
-
- Open Hospital -
- {hospital?.description ?? t("login.signin")} -
-
-
-
- -
-
- -
- setState({ - isPasswordVisible: !state.isPasswordVisible, - }) - } - > - -
- - ), - }} - /> -
-
- {errorMessage} -
-
- -
-
-
- - - {t("login.forgotpassword")} - - -
-   -
-
-
-
- ); -}; - -export default LoginActivity; +import { FC, useEffect } from "react"; +import { InputAdornment } from "@material-ui/core"; +import { Link as RouterLink } from "react-router-dom"; +import Link from "@material-ui/core/Link"; +import { RemoveRedEye } from "@material-ui/icons"; +import classNames from "classnames"; +import { useFormik } from "formik"; +import get from "lodash.get"; +import has from "lodash.has"; +import { default as React, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { useDispatch, useSelector } from "react-redux"; +import { object, string } from "yup"; +import logo from "../../../assets/logo-color.svg"; +import { HospitalDTO } from "../../../generated"; +import { useAuthentication } from "../../../libraries/authUtils/useAuthentication"; +import { setAuthenticationThunk } from "../../../state/main/actions"; +import { IState } from "../../../types"; +import Button from "../../accessories/button/Button"; +import Footer from "../../accessories/footer/Footer"; +import TextField from "../../accessories/textField/TextField"; +import "./styles.scss"; +import { IValues } from "./types"; +import { getHospital } from "../../../state/hospital/actions"; + +const LoginActivity: FC = () => { + useAuthentication(); + const { t } = useTranslation(); + const dispatch = useDispatch(); + + const initialValues: IValues = { + username: "", + password: "", + }; + + const validationSchema = object({ + username: string().required(t("login.insertavalidusername")), + password: string().required(t("login.insertthepassword")), + }); + + const formik = useFormik({ + initialValues, + validationSchema, + onSubmit: (values: IValues) => { + dispatch(setAuthenticationThunk(values.username, values.password)); + }, + }); + + const [state, setState] = useState({ isPasswordVisible: false }); + + const isValid = (fieldName: string): boolean => { + return has(formik.touched, fieldName) && has(formik.errors, fieldName); + }; + + const getErrorText = (fieldName: string): string => { + return has(formik.touched, fieldName) ? get(formik.errors, fieldName) : ""; + }; + const errorMessage = useSelector((state) => { + const error = state.main.authentication.error; + return error?.status === 401 + ? t("errors.incorrectcredentials") + : error?.message ?? t("errors.somethingwrong"); + }); + + const status = useSelector( + (state) => state.main.authentication.status || "IDLE" + ); + + useEffect(() => { + dispatch(getHospital()); + }, [dispatch]); + + const hospital = useSelector( + (state) => state.hospital.getHospital.data + ) as HospitalDTO; + + return ( +
+
+ Open Hospital +
+ {hospital?.description ?? t("login.signin")} +
+
+
+
+ +
+
+ +
+ setState({ + isPasswordVisible: !state.isPasswordVisible, + }) + } + > + +
+ + ), + }} + /> +
+
+ {errorMessage} +
+
+ +
+
+
+ + + {t("login.forgotpassword")} + + +
+   +
+
+
+
+ ); +}; + +export default LoginActivity; diff --git a/src/components/activities/loginActivity/RedirectAfterLogin.tsx b/src/components/activities/loginActivity/RedirectAfterLogin.tsx index 2182ebecd..7a8d4cd25 100644 --- a/src/components/activities/loginActivity/RedirectAfterLogin.tsx +++ b/src/components/activities/loginActivity/RedirectAfterLogin.tsx @@ -1,28 +1,34 @@ -import React, { useMemo } from "react"; -import { useSelector } from "react-redux"; -import { Navigate, useLocation } from "react-router"; -import { useLandingPageRoute } from "../../../libraries/hooks/useLandingPageRoute"; -import { TAPIResponseStatus } from "../../../state/types"; -import { IState } from "../../../types"; -import { IRedirectAfterLogin } from "./types"; - -export const RedirectAfterLogin: React.FC = ({ - children, -}) => { - const location = useLocation(); - const landingPageRoute = useLandingPageRoute(); - const to = useMemo( - () => location.state?.from || landingPageRoute, - [landingPageRoute, location] - ); - - const status = useSelector( - (state) => state.main.authentication.status || "IDLE" - ); - - if (status === "SUCCESS") { - return ; - } - - return <>{children}; -}; +import React, { useMemo } from "react"; +import { useSelector } from "react-redux"; +import { Navigate, useLocation } from "react-router"; +import { useLandingPageRoute } from "../../../libraries/hooks/useLandingPageRoute"; +import { TAPIResponseStatus } from "../../../state/types"; +import { IState } from "../../../types"; +import { IRedirectAfterLogin } from "./types"; + +export const RedirectAfterLogin: React.FC = ({ + children, +}) => { + const location = useLocation(); + const landingPageRoute = useLandingPageRoute(); + const to = useMemo( + () => location.state?.from || landingPageRoute, + [landingPageRoute, location] + ); + + const state = useSelector((state) => state); + + const status = useMemo( + () => + ["SUCCESS", "FAIL"].includes(state.main.settings.status!) + ? state.main.authentication.status! + : state.main.settings.status!, + [state.main.settings.status, state.main.authentication.status] + ); + + if (status === "SUCCESS") { + return ; + } + + return <>{children}; +}; diff --git a/src/customization/landingPage.ts b/src/customization/landingPage.ts index 819e3c897..e9b117e39 100644 --- a/src/customization/landingPage.ts +++ b/src/customization/landingPage.ts @@ -1,29 +1,29 @@ -import { TPermission } from "../types"; - -export type TLandingPagePriority = { - permission: TPermission; - route: string; -}; - -export const defaultRoute = "/patients"; - -// Landing page will be the first route matching permission, -// you can change priority rules by moving elements in this list -export const landingPagePriority: TLandingPagePriority[] = [ - { - permission: "dashboard.access", - route: "/dashboard", - }, - { - permission: "patient.access", - route: "/patients", - }, - { - permission: "laboratory.access", - route: "/laboratory", - }, - { - permission: "visit.access", - route: "/visits", - }, -]; +import { TPermission } from "../types"; + +export type TLandingPagePriority = { + permission: TPermission; + route: string; +}; + +export const defaultRoute = "/patients"; + +// Landing page will be the first route matching permission, +// you can change priority rules by moving elements in this list +export const landingPagePriority: TLandingPagePriority[] = [ + { + permission: "dashboard.access", + route: "/dashboard", + }, + { + permission: "patient.access", + route: "/patients", + }, + { + permission: "laboratory.access", + route: "/laboratory", + }, + { + permission: "visit.access", + route: "/visits", + }, +]; diff --git a/src/generated/.openapi-generator/FILES b/src/generated/.openapi-generator/FILES index b428b01d6..b93023abf 100644 --- a/src/generated/.openapi-generator/FILES +++ b/src/generated/.openapi-generator/FILES @@ -1,131 +1,129 @@ -.gitignore -apis\AdmissionTypesApi.ts -apis\AdmissionsApi.ts -apis\AgeTypesApi.ts -apis\BillsApi.ts -apis\DeliveryResultTypeApi.ts -apis\DeliveryTypeApi.ts -apis\DischargeTypeApi.ts -apis\DiseaseTypesApi.ts -apis\DiseasesApi.ts -apis\ExamRowsApi.ts -apis\ExamTypesApi.ts -apis\ExaminationsApi.ts -apis\ExamsApi.ts -apis\HospitalsApi.ts -apis\LaboratoriesApi.ts -apis\LoginApi.ts -apis\MalnutritionsApi.ts -apis\MedicalStockMovementTypeApi.ts -apis\MedicalStockWardApi.ts -apis\MedicalTypesApi.ts -apis\MedicalsApi.ts -apis\OpdsApi.ts -apis\OperationsApi.ts -apis\OperationsTypesApi.ts -apis\OthersPriceApi.ts -apis\PatientConsensusApi.ts -apis\PatientVaccinesApi.ts -apis\PatientsApi.ts -apis\PermissionsApi.ts -apis\PregnantTreatmentTypesApi.ts -apis\PriceListsApi.ts -apis\ReportsApi.ts -apis\SMSApi.ts -apis\StockMovementsApi.ts -apis\SuppliersApi.ts -apis\TherapiesApi.ts -apis\UserSettingsApi.ts -apis\UsersApi.ts -apis\VaccineTypeApi.ts -apis\VaccinesApi.ts -apis\VisitApi.ts -apis\WardsApi.ts -apis\index.ts -index.ts -models\AdmissionDTO.ts -models\AdmissionTypeDTO.ts -models\AdmittedPatientDTO.ts -models\AgeType.ts -models\AgeTypeDTO.ts -models\BillDTO.ts -models\BillItemsDTO.ts -models\BillPaymentsDTO.ts -models\DeliveryResultTypeDTO.ts -models\DeliveryTypeDTO.ts -models\DischargeTypeDTO.ts -models\DiseaseDTO.ts -models\DiseaseTypeDTO.ts -models\ExamDTO.ts -models\ExamRowDTO.ts -models\ExamTypeDTO.ts -models\FullBillDTO.ts -models\HospitalDTO.ts -models\LabWithRowsDTO.ts -models\LaboratoryDTO.ts -models\LitePermissionDTO.ts -models\LoginRequest.ts -models\LoginResponse.ts -models\LotDTO.ts -models\MalnutritionDTO.ts -models\MedicalDTO.ts -models\MedicalTypeDTO.ts -models\MedicalWardDTO.ts -models\MedicalWardIdDTO.ts -models\MovementDTO.ts -models\MovementTypeDTO.ts -models\MovementWardDTO.ts -models\OpdDTO.ts -models\OpdWithOperationRowDTO.ts -models\OperationDTO.ts -models\OperationRowDTO.ts -models\OperationTypeDTO.ts -models\PageAdmissionDTO.ts -models\PageInfoDTO.ts -models\PageLabWithRowsDTO.ts -models\PageOpdDTO.ts -models\PagePatientDTO.ts -models\PagePatientExaminationDTO.ts -models\Patient.ts -models\PatientConsensus.ts -models\PatientConsensusDTO.ts -models\PatientDTO.ts -models\PatientExaminationDTO.ts -models\PatientProfilePhoto.ts -models\PatientProfilePhotoPhotoAsImage.ts -models\PatientProfilePhotoPhotoAsImageGraphics.ts -models\PatientProfilePhotoPhotoAsImageGraphicsClip.ts -models\PatientProfilePhotoPhotoAsImageGraphicsClipBounds.ts -models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts -models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsLocation.ts -models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsSize.ts -models\PatientProfilePhotoPhotoAsImageGraphicsColor.ts -models\PatientProfilePhotoPhotoAsImageGraphicsColorColorSpace.ts -models\PatientProfilePhotoPhotoAsImageGraphicsFont.ts -models\PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts -models\PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts -models\PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts -models\PatientVaccineDTO.ts -models\PermissionDTO.ts -models\PregnantTreatmentTypeDTO.ts -models\PriceDTO.ts -models\PriceList.ts -models\PriceListDTO.ts -models\PricesOthersDTO.ts -models\SmsDTO.ts -models\SupplierDTO.ts -models\TherapyDTO.ts -models\TherapyRow.ts -models\TherapyRowDTO.ts -models\UserDTO.ts -models\UserGroupDTO.ts -models\UserMenuItemDTO.ts -models\UserProfileDTO.ts -models\UserSettingDTO.ts -models\VaccineDTO.ts -models\VaccineTypeDTO.ts -models\VisitDTO.ts -models\WardDTO.ts -models\index.ts -runtime.ts -tsconfig.json +.gitignore +apis\AdmissionTypesApi.ts +apis\AdmissionsApi.ts +apis\AgeTypesApi.ts +apis\BillsApi.ts +apis\DeliveryResultTypeApi.ts +apis\DeliveryTypeApi.ts +apis\DischargeTypeApi.ts +apis\DiseaseTypesApi.ts +apis\DiseasesApi.ts +apis\ExamRowsApi.ts +apis\ExamTypesApi.ts +apis\ExaminationsApi.ts +apis\ExamsApi.ts +apis\HospitalsApi.ts +apis\LaboratoriesApi.ts +apis\LoginApi.ts +apis\MalnutritionsApi.ts +apis\MedicalStockMovementTypeApi.ts +apis\MedicalStockWardApi.ts +apis\MedicalTypesApi.ts +apis\MedicalsApi.ts +apis\OpdsApi.ts +apis\OperationsApi.ts +apis\OperationsTypesApi.ts +apis\OthersPriceApi.ts +apis\PatientConsensusApi.ts +apis\PatientVaccinesApi.ts +apis\PatientsApi.ts +apis\PermissionsApi.ts +apis\PregnantTreatmentTypesApi.ts +apis\PriceListsApi.ts +apis\ReportsApi.ts +apis\SMSApi.ts +apis\StockMovementsApi.ts +apis\SuppliersApi.ts +apis\TherapiesApi.ts +apis\UsersApi.ts +apis\VaccineTypeApi.ts +apis\VaccinesApi.ts +apis\VisitApi.ts +apis\WardsApi.ts +apis\index.ts +index.ts +models\AdmissionDTO.ts +models\AdmissionTypeDTO.ts +models\AdmittedPatientDTO.ts +models\AgeType.ts +models\AgeTypeDTO.ts +models\BillDTO.ts +models\BillItemsDTO.ts +models\BillPaymentsDTO.ts +models\DeliveryResultTypeDTO.ts +models\DeliveryTypeDTO.ts +models\DischargeTypeDTO.ts +models\DiseaseDTO.ts +models\DiseaseTypeDTO.ts +models\ExamDTO.ts +models\ExamRowDTO.ts +models\ExamTypeDTO.ts +models\FullBillDTO.ts +models\HospitalDTO.ts +models\LabWithRowsDTO.ts +models\LaboratoryDTO.ts +models\LitePermissionDTO.ts +models\LoginRequest.ts +models\LoginResponse.ts +models\LotDTO.ts +models\MalnutritionDTO.ts +models\MedicalDTO.ts +models\MedicalTypeDTO.ts +models\MedicalWardDTO.ts +models\MedicalWardIdDTO.ts +models\MovementDTO.ts +models\MovementTypeDTO.ts +models\MovementWardDTO.ts +models\OpdDTO.ts +models\OpdWithOperationRowDTO.ts +models\OperationDTO.ts +models\OperationRowDTO.ts +models\OperationTypeDTO.ts +models\PageAdmissionDTO.ts +models\PageInfoDTO.ts +models\PageLabWithRowsDTO.ts +models\PageOpdDTO.ts +models\PagePatientDTO.ts +models\PagePatientExaminationDTO.ts +models\Patient.ts +models\PatientConsensus.ts +models\PatientConsensusDTO.ts +models\PatientDTO.ts +models\PatientExaminationDTO.ts +models\PatientProfilePhoto.ts +models\PatientProfilePhotoPhotoAsImage.ts +models\PatientProfilePhotoPhotoAsImageGraphics.ts +models\PatientProfilePhotoPhotoAsImageGraphicsClip.ts +models\PatientProfilePhotoPhotoAsImageGraphicsClipBounds.ts +models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts +models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsLocation.ts +models\PatientProfilePhotoPhotoAsImageGraphicsClipBoundsSize.ts +models\PatientProfilePhotoPhotoAsImageGraphicsColor.ts +models\PatientProfilePhotoPhotoAsImageGraphicsColorColorSpace.ts +models\PatientProfilePhotoPhotoAsImageGraphicsFont.ts +models\PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts +models\PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts +models\PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts +models\PatientVaccineDTO.ts +models\PermissionDTO.ts +models\PregnantTreatmentTypeDTO.ts +models\PriceDTO.ts +models\PriceList.ts +models\PriceListDTO.ts +models\PricesOthersDTO.ts +models\SmsDTO.ts +models\SupplierDTO.ts +models\TherapyDTO.ts +models\TherapyRow.ts +models\TherapyRowDTO.ts +models\UserDTO.ts +models\UserGroupDTO.ts +models\UserProfileDTO.ts +models\UserSettingDTO.ts +models\VaccineDTO.ts +models\VaccineTypeDTO.ts +models\VisitDTO.ts +models\WardDTO.ts +models\index.ts +runtime.ts +tsconfig.json diff --git a/src/generated/apis/UsersApi.ts b/src/generated/apis/UsersApi.ts index a53043a6c..cf2c58f9c 100644 --- a/src/generated/apis/UsersApi.ts +++ b/src/generated/apis/UsersApi.ts @@ -17,8 +17,8 @@ import { LitePermissionDTO, UserDTO, UserGroupDTO, - UserMenuItemDTO, UserProfileDTO, + UserSettingDTO, } from '../models'; export interface DeleteGroupRequest { @@ -29,12 +29,8 @@ export interface DeleteUserRequest { username: string; } -export interface GetGroupMenuRequest { - groupCode: string; -} - -export interface GetMenuRequest { - username: string; +export interface DeleteUserSettingRequest { + id: number; } export interface GetUserRequest { @@ -45,6 +41,15 @@ export interface GetUserByNameRequest { username: string; } +export interface GetUserSettingByIdRequest { + id: number; +} + +export interface GetUserSettingByUserRequest { + userName: string; + configName: string; +} + export interface NewUserRequest { userDTO: UserDTO; } @@ -53,13 +58,12 @@ export interface NewUserGroupRequest { userGroupDTO: UserGroupDTO; } -export interface RetrievePermissionsByUsernameRequest { - username: string; +export interface NewUserSettingsRequest { + userSettingDTO: UserSettingDTO; } -export interface SetGroupMenuRequest { - groupCode: string; - userMenuItemDTO: Array; +export interface RetrievePermissionsByUsernameRequest { + username: string; } export interface UpdateUserRequest { @@ -71,6 +75,11 @@ export interface UpdateUserGroupRequest { userGroupDTO: UserGroupDTO; } +export interface UpdateUserSettingsRequest { + id: number; + userSettingDTO: UserSettingDTO; +} + /** * no description */ @@ -114,36 +123,18 @@ export class UsersApi extends BaseAPI { /** */ - getGroupMenu({ groupCode }: GetGroupMenuRequest): Observable> - getGroupMenu({ groupCode }: GetGroupMenuRequest, opts?: OperationOpts): Observable>> - getGroupMenu({ groupCode }: GetGroupMenuRequest, opts?: OperationOpts): Observable | RawAjaxResponse>> { - throwIfNullOrUndefined(groupCode, 'groupCode', 'getGroupMenu'); - - const headers: HttpHeaders = { - ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), - }; - - return this.request>({ - url: '/users/group-menus/{group_code}'.replace('{group_code}', encodeURI(groupCode)), - method: 'GET', - headers, - }, opts?.responseOpts); - }; - - /** - */ - getMenu({ username }: GetMenuRequest): Observable> - getMenu({ username }: GetMenuRequest, opts?: OperationOpts): Observable>> - getMenu({ username }: GetMenuRequest, opts?: OperationOpts): Observable | RawAjaxResponse>> { - throwIfNullOrUndefined(username, 'username', 'getMenu'); + deleteUserSetting({ id }: DeleteUserSettingRequest): Observable + deleteUserSetting({ id }: DeleteUserSettingRequest, opts?: OperationOpts): Observable> + deleteUserSetting({ id }: DeleteUserSettingRequest, opts?: OperationOpts): Observable> { + throwIfNullOrUndefined(id, 'id', 'deleteUserSetting'); const headers: HttpHeaders = { ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), }; - return this.request>({ - url: '/users/menus/{username}'.replace('{username}', encodeURI(username)), - method: 'GET', + return this.request({ + url: '/users/settings/{id}'.replace('{id}', encodeURI(id)), + method: 'DELETE', headers, }, opts?.responseOpts); }; @@ -204,6 +195,59 @@ export class UsersApi extends BaseAPI { }, opts?.responseOpts); }; + /** + */ + getUserSettingById({ id }: GetUserSettingByIdRequest): Observable + getUserSettingById({ id }: GetUserSettingByIdRequest, opts?: OperationOpts): Observable> + getUserSettingById({ id }: GetUserSettingByIdRequest, opts?: OperationOpts): Observable> { + throwIfNullOrUndefined(id, 'id', 'getUserSettingById'); + + const headers: HttpHeaders = { + ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), + }; + + return this.request({ + url: '/users/settings/{id}'.replace('{id}', encodeURI(id)), + method: 'GET', + headers, + }, opts?.responseOpts); + }; + + /** + */ + getUserSettingByUser({ userName, configName }: GetUserSettingByUserRequest): Observable + getUserSettingByUser({ userName, configName }: GetUserSettingByUserRequest, opts?: OperationOpts): Observable> + getUserSettingByUser({ userName, configName }: GetUserSettingByUserRequest, opts?: OperationOpts): Observable> { + throwIfNullOrUndefined(userName, 'userName', 'getUserSettingByUser'); + throwIfNullOrUndefined(configName, 'configName', 'getUserSettingByUser'); + + const headers: HttpHeaders = { + ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), + }; + + return this.request({ + url: '/users/{userName}/settings/{configName}'.replace('{userName}', encodeURI(userName)).replace('{configName}', encodeURI(configName)), + method: 'GET', + headers, + }, opts?.responseOpts); + }; + + /** + */ + getUserSettings(): Observable> + getUserSettings(opts?: OperationOpts): Observable>> + getUserSettings(opts?: OperationOpts): Observable | RawAjaxResponse>> { + const headers: HttpHeaders = { + ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), + }; + + return this.request>({ + url: '/users/settings', + method: 'GET', + headers, + }, opts?.responseOpts); + }; + /** */ newUser({ userDTO }: NewUserRequest): Observable @@ -244,6 +288,26 @@ export class UsersApi extends BaseAPI { }, opts?.responseOpts); }; + /** + */ + newUserSettings({ userSettingDTO }: NewUserSettingsRequest): Observable + newUserSettings({ userSettingDTO }: NewUserSettingsRequest, opts?: OperationOpts): Observable> + newUserSettings({ userSettingDTO }: NewUserSettingsRequest, opts?: OperationOpts): Observable> { + throwIfNullOrUndefined(userSettingDTO, 'userSettingDTO', 'newUserSettings'); + + const headers: HttpHeaders = { + 'Content-Type': 'application/json', + ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), + }; + + return this.request({ + url: '/users/settings', + method: 'POST', + headers, + body: userSettingDTO, + }, opts?.responseOpts); + }; + /** */ retrievePermissionsByCurrentLoggedInUser(): Observable> @@ -294,27 +358,6 @@ export class UsersApi extends BaseAPI { }, opts?.responseOpts); }; - /** - */ - setGroupMenu({ groupCode, userMenuItemDTO }: SetGroupMenuRequest): Observable - setGroupMenu({ groupCode, userMenuItemDTO }: SetGroupMenuRequest, opts?: OperationOpts): Observable> - setGroupMenu({ groupCode, userMenuItemDTO }: SetGroupMenuRequest, opts?: OperationOpts): Observable> { - throwIfNullOrUndefined(groupCode, 'groupCode', 'setGroupMenu'); - throwIfNullOrUndefined(userMenuItemDTO, 'userMenuItemDTO', 'setGroupMenu'); - - const headers: HttpHeaders = { - 'Content-Type': 'application/json', - ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), - }; - - return this.request({ - url: '/users/groups/{group_code}'.replace('{group_code}', encodeURI(groupCode)), - method: 'POST', - headers, - body: userMenuItemDTO, - }, opts?.responseOpts); - }; - /** */ updateUser({ userDTO, password }: UpdateUserRequest): Observable @@ -360,4 +403,25 @@ export class UsersApi extends BaseAPI { }, opts?.responseOpts); }; + /** + */ + updateUserSettings({ id, userSettingDTO }: UpdateUserSettingsRequest): Observable + updateUserSettings({ id, userSettingDTO }: UpdateUserSettingsRequest, opts?: OperationOpts): Observable> + updateUserSettings({ id, userSettingDTO }: UpdateUserSettingsRequest, opts?: OperationOpts): Observable> { + throwIfNullOrUndefined(id, 'id', 'updateUserSettings'); + throwIfNullOrUndefined(userSettingDTO, 'userSettingDTO', 'updateUserSettings'); + + const headers: HttpHeaders = { + 'Content-Type': 'application/json', + ...(this.configuration.username != null && this.configuration.password != null ? { Authorization: `Basic ${btoa(this.configuration.username + ':' + this.configuration.password)}` } : undefined), + }; + + return this.request({ + url: '/users/settings/{id}'.replace('{id}', encodeURI(id)), + method: 'PUT', + headers, + body: userSettingDTO, + }, opts?.responseOpts); + }; + } diff --git a/src/generated/apis/index.ts b/src/generated/apis/index.ts index 975424daf..26b19218d 100644 --- a/src/generated/apis/index.ts +++ b/src/generated/apis/index.ts @@ -34,7 +34,6 @@ export * from './SMSApi'; export * from './StockMovementsApi'; export * from './SuppliersApi'; export * from './TherapiesApi'; -export * from './UserSettingsApi'; export * from './UsersApi'; export * from './VaccineTypeApi'; export * from './VaccinesApi'; diff --git a/src/generated/models/AdmissionDTO.ts b/src/generated/models/AdmissionDTO.ts index 78f6d6d75..75a692703 100644 --- a/src/generated/models/AdmissionDTO.ts +++ b/src/generated/models/AdmissionDTO.ts @@ -24,24 +24,25 @@ import { } from './'; /** + * The admission * @export * @interface AdmissionDTO */ export interface AdmissionDTO { /** - * admission key + * Admission key * @type {number} * @memberof AdmissionDTO */ id?: number; /** - * if admitted or not + * If admitted or not * @type {number} * @memberof AdmissionDTO */ admitted: number; /** - * type of admission + * Type of admission * @type {string} * @memberof AdmissionDTO */ @@ -57,7 +58,7 @@ export interface AdmissionDTO { */ patient?: PatientDTO; /** - * admission date + * Admission date * @type {string} * @memberof AdmissionDTO */ @@ -93,19 +94,19 @@ export interface AdmissionDTO { */ operation?: OperationDTO; /** - * operation date + * Operation date * @type {string} * @memberof AdmissionDTO */ opDate?: string; /** - * operation result value is \'P\' or \'N\' + * Operation result value is \'P\' or \'N\' * @type {string} * @memberof AdmissionDTO */ opResult?: string; /** - * discharge date + * Discharge date * @type {string} * @memberof AdmissionDTO */ @@ -116,19 +117,19 @@ export interface AdmissionDTO { */ disType?: DischargeTypeDTO; /** - * free note + * Free note * @type {string} * @memberof AdmissionDTO */ note?: string; /** - * transfusional unit + * Transfusional unit * @type {number} * @memberof AdmissionDTO */ transUnit?: number; /** - * visit date + * Visit date * @type {string} * @memberof AdmissionDTO */ @@ -139,7 +140,7 @@ export interface AdmissionDTO { */ pregTreatmentType?: PregnantTreatmentTypeDTO; /** - * delivery date + * Delivery date * @type {string} * @memberof AdmissionDTO */ @@ -155,7 +156,7 @@ export interface AdmissionDTO { */ deliveryResult?: DeliveryResultTypeDTO; /** - * weight + * Weight * @type {number} * @memberof AdmissionDTO */ @@ -176,7 +177,7 @@ export interface AdmissionDTO { */ abortDate?: string; /** - * weight + * User id * @type {string} * @memberof AdmissionDTO */ @@ -187,25 +188,25 @@ export interface AdmissionDTO { */ readonly hashCode?: number; /** - * lock + * Lock * @type {number} * @memberof AdmissionDTO */ lock?: number; /** - * flag record deleted, values are \'Y\' OR \'N\' + * Flag record deleted, values are \'Y\' OR \'N\' * @type {string} * @memberof AdmissionDTO */ deleted: string; /** - * @type {string} + * @type {number} * @memberof AdmissionDTO */ - fhu?: string; + yprog?: number; /** - * @type {number} + * @type {string} * @memberof AdmissionDTO */ - yprog?: number; + fhu?: string; } diff --git a/src/generated/models/AdmissionTypeDTO.ts b/src/generated/models/AdmissionTypeDTO.ts index 56bbf61f3..7a01e1058 100644 --- a/src/generated/models/AdmissionTypeDTO.ts +++ b/src/generated/models/AdmissionTypeDTO.ts @@ -12,19 +12,19 @@ */ /** - * admission type + * Admission type * @export * @interface AdmissionTypeDTO */ export interface AdmissionTypeDTO { /** - * code of the admission type + * Code of the admission type * @type {string} * @memberof AdmissionTypeDTO */ code: string; /** - * description of the admission type + * Description of the admission type * @type {string} * @memberof AdmissionTypeDTO */ diff --git a/src/generated/models/BillDTO.ts b/src/generated/models/BillDTO.ts index 4bb1c5bad..29515ba97 100644 --- a/src/generated/models/BillDTO.ts +++ b/src/generated/models/BillDTO.ts @@ -61,7 +61,7 @@ export interface BillDTO { */ patientTrue: boolean; /** - * patient name + * Patient name * @type {string} * @memberof BillDTO */ diff --git a/src/generated/models/BillItemsDTO.ts b/src/generated/models/BillItemsDTO.ts index 4bfaab7a2..507327000 100644 --- a/src/generated/models/BillItemsDTO.ts +++ b/src/generated/models/BillItemsDTO.ts @@ -35,31 +35,31 @@ export interface BillItemsDTO { */ priceId: string; /** - * item description + * Item description * @type {string} * @memberof BillItemsDTO */ itemDescription: string; /** - * item amount + * Item amount * @type {number} * @memberof BillItemsDTO */ itemAmount: number; /** - * item quantity + * Item quantity * @type {number} * @memberof BillItemsDTO */ itemQuantity: number; /** - * item display code + * Item display code * @type {string} * @memberof BillItemsDTO */ itemDisplayCode: string; /** - * item id + * Item id * @type {string} * @memberof BillItemsDTO */ diff --git a/src/generated/models/BillPaymentsDTO.ts b/src/generated/models/BillPaymentsDTO.ts index b3f509017..5395f4d03 100644 --- a/src/generated/models/BillPaymentsDTO.ts +++ b/src/generated/models/BillPaymentsDTO.ts @@ -29,19 +29,19 @@ export interface BillPaymentsDTO { */ billId: number; /** - * date of payment + * Date of payment * @type {string} * @memberof BillPaymentsDTO */ date: string; /** - * the payment amount + * The payment amount * @type {number} * @memberof BillPaymentsDTO */ amount: number; /** - * the current user + * The current user * @type {string} * @memberof BillPaymentsDTO */ diff --git a/src/generated/models/DeliveryResultTypeDTO.ts b/src/generated/models/DeliveryResultTypeDTO.ts index a14b69d8b..ad7034e21 100644 --- a/src/generated/models/DeliveryResultTypeDTO.ts +++ b/src/generated/models/DeliveryResultTypeDTO.ts @@ -12,19 +12,19 @@ */ /** - * delivery type + * Delivery result type * @export * @interface DeliveryResultTypeDTO */ export interface DeliveryResultTypeDTO { /** - * code of the delivery result type + * Code of the delivery result type * @type {string} * @memberof DeliveryResultTypeDTO */ code: string; /** - * description of the delivery result type + * Description of the delivery result type * @type {string} * @memberof DeliveryResultTypeDTO */ diff --git a/src/generated/models/DeliveryTypeDTO.ts b/src/generated/models/DeliveryTypeDTO.ts index a77b2c192..3f2c800db 100644 --- a/src/generated/models/DeliveryTypeDTO.ts +++ b/src/generated/models/DeliveryTypeDTO.ts @@ -12,19 +12,19 @@ */ /** - * delivery type + * Delivery type * @export * @interface DeliveryTypeDTO */ export interface DeliveryTypeDTO { /** - * code of the delivery type + * Code of the delivery type * @type {string} * @memberof DeliveryTypeDTO */ code: string; /** - * description of the delivery type + * Description of the delivery type * @type {string} * @memberof DeliveryTypeDTO */ diff --git a/src/generated/models/DischargeTypeDTO.ts b/src/generated/models/DischargeTypeDTO.ts index fc3ab4f53..b63e56c00 100644 --- a/src/generated/models/DischargeTypeDTO.ts +++ b/src/generated/models/DischargeTypeDTO.ts @@ -12,19 +12,19 @@ */ /** - * disChargeType + * DisChargeType * @export * @interface DischargeTypeDTO */ export interface DischargeTypeDTO { /** - * code of the discharge type + * Code of the discharge type * @type {string} * @memberof DischargeTypeDTO */ code: string; /** - * description of the discharge type + * Description of the discharge type * @type {string} * @memberof DischargeTypeDTO */ diff --git a/src/generated/models/DiseaseDTO.ts b/src/generated/models/DiseaseDTO.ts index e9c72c922..309915457 100644 --- a/src/generated/models/DiseaseDTO.ts +++ b/src/generated/models/DiseaseDTO.ts @@ -39,19 +39,19 @@ export interface DiseaseDTO { */ diseaseType: DiseaseTypeDTO; /** - * indicates whether the disease is an OPD disease + * Indicates whether the disease is an OPD disease * @type {boolean} * @memberof DiseaseDTO */ opdInclude: boolean; /** - * indicates whether the disease is an IPD-IN disease + * Indicates whether the disease is an IPD-IN disease * @type {boolean} * @memberof DiseaseDTO */ ipdInInclude: boolean; /** - * indicates whether the disease is an IPD-OUT disease + * Indicates whether the disease is an IPD-OUT disease * @type {boolean} * @memberof DiseaseDTO */ @@ -62,7 +62,7 @@ export interface DiseaseDTO { */ readonly hashCode?: number; /** - * lock + * Lock * @type {number} * @memberof DiseaseDTO */ diff --git a/src/generated/models/ExamDTO.ts b/src/generated/models/ExamDTO.ts index 5c6a7d27d..f76956223 100644 --- a/src/generated/models/ExamDTO.ts +++ b/src/generated/models/ExamDTO.ts @@ -51,7 +51,7 @@ export interface ExamDTO { */ examtype?: ExamTypeDTO; /** - * lock + * Lock * @type {number} * @memberof ExamDTO */ diff --git a/src/generated/models/FullBillDTO.ts b/src/generated/models/FullBillDTO.ts index 4a4d62754..1a3a7d59f 100644 --- a/src/generated/models/FullBillDTO.ts +++ b/src/generated/models/FullBillDTO.ts @@ -28,13 +28,13 @@ export interface FullBillDTO { */ bill: BillDTO; /** - * list of bill items elements + * List of bill items elements * @type {Array} * @memberof FullBillDTO */ billItems: Array; /** - * list of bill payments elements + * List of bill payments elements * @type {Array} * @memberof FullBillDTO */ diff --git a/src/generated/models/HospitalDTO.ts b/src/generated/models/HospitalDTO.ts index f64ddc3d3..834f83a46 100644 --- a/src/generated/models/HospitalDTO.ts +++ b/src/generated/models/HospitalDTO.ts @@ -65,7 +65,7 @@ export interface HospitalDTO { */ currencyCod?: string; /** - * lock + * Lock * @type {number} * @memberof HospitalDTO */ diff --git a/src/generated/models/LaboratoryDTO.ts b/src/generated/models/LaboratoryDTO.ts index 2f1822b37..a53f0a00e 100644 --- a/src/generated/models/LaboratoryDTO.ts +++ b/src/generated/models/LaboratoryDTO.ts @@ -56,7 +56,7 @@ export interface LaboratoryDTO { */ result?: string; /** - * lock + * Lock * @type {number} * @memberof LaboratoryDTO */ diff --git a/src/generated/models/LoginRequest.ts b/src/generated/models/LoginRequest.ts index 86665b570..0a68bcfdb 100644 --- a/src/generated/models/LoginRequest.ts +++ b/src/generated/models/LoginRequest.ts @@ -17,13 +17,13 @@ */ export interface LoginRequest { /** - * username + * User Name * @type {string} * @memberof LoginRequest */ username: string; /** - * password of user + * Password of user * @type {string} * @memberof LoginRequest */ diff --git a/src/generated/models/LoginResponse.ts b/src/generated/models/LoginResponse.ts index ceb79575a..3baef1778 100644 --- a/src/generated/models/LoginResponse.ts +++ b/src/generated/models/LoginResponse.ts @@ -18,19 +18,19 @@ */ export interface LoginResponse { /** - * token + * Token * @type {string} * @memberof LoginResponse */ token?: string; /** - * type of Token + * Type of Token * @type {string} * @memberof LoginResponse */ type?: string; /** - * user name + * User name * @type {string} * @memberof LoginResponse */ diff --git a/src/generated/models/MalnutritionDTO.ts b/src/generated/models/MalnutritionDTO.ts index d485b0560..120a42525 100644 --- a/src/generated/models/MalnutritionDTO.ts +++ b/src/generated/models/MalnutritionDTO.ts @@ -56,7 +56,7 @@ export interface MalnutritionDTO { */ weight: number; /** - * lock + * Lock * @type {number} * @memberof MalnutritionDTO */ diff --git a/src/generated/models/MedicalDTO.ts b/src/generated/models/MedicalDTO.ts index 9305cf572..fbed3052c 100644 --- a/src/generated/models/MedicalDTO.ts +++ b/src/generated/models/MedicalDTO.ts @@ -74,7 +74,7 @@ export interface MedicalDTO { */ minqty?: number; /** - * lock + * Lock * @type {number} * @memberof MedicalDTO */ diff --git a/src/generated/models/OpdDTO.ts b/src/generated/models/OpdDTO.ts index 6efe26b60..a324f7c50 100644 --- a/src/generated/models/OpdDTO.ts +++ b/src/generated/models/OpdDTO.ts @@ -17,48 +17,49 @@ import { } from './'; /** + * The opd * @export * @interface OpdDTO */ export interface OpdDTO { /** - * the code of the opd + * The code of the opd * @type {number} * @memberof OpdDTO */ code?: number; /** - * the date of the admission + * The date of the admission * @type {string} * @memberof OpdDTO */ date?: string; /** - * the next visit date + * The next visit date * @type {string} * @memberof OpdDTO */ nextVisitDate?: string; /** - * the admitted patient code + * The admitted patient code * @type {number} * @memberof OpdDTO */ patientCode?: number; /** - * the patient age + * The patient age * @type {number} * @memberof OpdDTO */ age: number; /** - * the patient sex + * The patient sex * @type {string} * @memberof OpdDTO */ sex: string; /** - * the patient sex + * The patient sex * @type {string} * @memberof OpdDTO */ @@ -70,13 +71,13 @@ export interface OpdDTO { */ ageType?: string; /** - * the admission note + * The admission note * @type {string} * @memberof OpdDTO */ note: string; /** - * a progr. in year for each ward + * A progr. in year for each ward * @type {number} * @memberof OpdDTO */ @@ -97,25 +98,25 @@ export interface OpdDTO { */ disease3?: DiseaseDTO; /** - * new(N) or reattendance(R) patient + * New(N) or Reattendance(R) patient * @type {string} * @memberof OpdDTO */ newPatient: string; /** - * referral from another unit + * Referral from another unit * @type {string} * @memberof OpdDTO */ referralFrom?: string; /** - * referral to another unit + * Referral to another unit * @type {string} * @memberof OpdDTO */ referralTo?: string; /** - * user id + * User id * @type {string} * @memberof OpdDTO */ @@ -131,19 +132,19 @@ export interface OpdDTO { */ readonly hashCode?: number; /** - * reasons for entry + * Reasons for entry * @type {string} * @memberof OpdDTO */ reason?: string; /** - * history of a medical or psychiatric patient + * History of a medical or psychiatric patient * @type {string} * @memberof OpdDTO */ anamnesis?: string; /** - * allergies of patient + * Allergies of patient * @type {string} * @memberof OpdDTO */ @@ -155,7 +156,7 @@ export interface OpdDTO { */ therapies?: string; /** - * prescription + * Prescription * @type {string} * @memberof OpdDTO */ diff --git a/src/generated/models/OpdWithOperationRowDTO.ts b/src/generated/models/OpdWithOperationRowDTO.ts index 56dd75f04..7840a5713 100644 --- a/src/generated/models/OpdWithOperationRowDTO.ts +++ b/src/generated/models/OpdWithOperationRowDTO.ts @@ -4,28 +4,31 @@ * OH 2.0 Api Documentation * * The version of the OpenAPI document: 1.0 - * + * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ -import { OpdDTO, OperationRowDTO } from "./"; +import { + OpdDTO, + OperationRowDTO, +} from './'; /** * @export * @interface OpdWithOperationRowDTO */ export interface OpdWithOperationRowDTO { - /** - * @type {OpdDTO} - * @memberof OpdWithOperationRowDTO - */ - opdDTO?: OpdDTO; - /** - * @type {Array} - * @memberof OpdWithOperationRowDTO - */ - operationRows?: Array; + /** + * @type {OpdDTO} + * @memberof OpdWithOperationRowDTO + */ + opdDTO?: OpdDTO; + /** + * @type {Array} + * @memberof OpdWithOperationRowDTO + */ + operationRows?: Array; } diff --git a/src/generated/models/OperationDTO.ts b/src/generated/models/OperationDTO.ts index 92dbfa06b..61931b330 100644 --- a/src/generated/models/OperationDTO.ts +++ b/src/generated/models/OperationDTO.ts @@ -21,12 +21,13 @@ import { */ export interface OperationDTO { /** + * The code of operation * @type {string} * @memberof OperationDTO */ - code?: string; + code: string; /** - * the operation description + * The operation description * @type {string} * @memberof OperationDTO */ @@ -37,13 +38,13 @@ export interface OperationDTO { */ type: OperationTypeDTO; /** - * the operation major + * The operation major * @type {number} * @memberof OperationDTO */ major: number; /** - * lock + * Lock * @type {number} * @memberof OperationDTO */ diff --git a/src/generated/models/OperationRowDTO.ts b/src/generated/models/OperationRowDTO.ts index 32b39f6bb..fb7832fab 100644 --- a/src/generated/models/OperationRowDTO.ts +++ b/src/generated/models/OperationRowDTO.ts @@ -34,21 +34,25 @@ export interface OperationRowDTO { */ operation: OperationDTO; /** + * The presciber of the operation * @type {string} * @memberof OperationRowDTO */ prescriber: string; /** + * The result of the operation * @type {string} * @memberof OperationRowDTO */ opResult: string; /** + * Operation registration date * @type {string} * @memberof OperationRowDTO */ opDate: string; /** + * The remark of the operation * @type {string} * @memberof OperationRowDTO */ @@ -69,6 +73,7 @@ export interface OperationRowDTO { */ bill?: BillDTO; /** + * The transunit * @type {number} * @memberof OperationRowDTO */ diff --git a/src/generated/models/OperationTypeDTO.ts b/src/generated/models/OperationTypeDTO.ts index db6c5a3cb..64e962036 100644 --- a/src/generated/models/OperationTypeDTO.ts +++ b/src/generated/models/OperationTypeDTO.ts @@ -17,11 +17,13 @@ */ export interface OperationTypeDTO { /** + * The operation code * @type {string} * @memberof OperationTypeDTO */ - code?: string; + code: string; /** + * The operation type * @type {string} * @memberof OperationTypeDTO */ diff --git a/src/generated/models/PatientConsensusDTO.ts b/src/generated/models/PatientConsensusDTO.ts index d3ff07b56..d6a43642f 100644 --- a/src/generated/models/PatientConsensusDTO.ts +++ b/src/generated/models/PatientConsensusDTO.ts @@ -18,19 +18,19 @@ */ export interface PatientConsensusDTO { /** - * consensus flag + * Consensus flag * @type {boolean} * @memberof PatientConsensusDTO */ consensusFlag?: boolean; /** - * service flag + * Service flag * @type {boolean} * @memberof PatientConsensusDTO */ serviceFlag?: boolean; /** - * patient id + * Patient id * @type {number} * @memberof PatientConsensusDTO */ diff --git a/src/generated/models/PatientDTO.ts b/src/generated/models/PatientDTO.ts index cc29b31c7..be5cb9e6a 100644 --- a/src/generated/models/PatientDTO.ts +++ b/src/generated/models/PatientDTO.ts @@ -123,7 +123,7 @@ export interface PatientDTO { */ bloodType: string; /** - * hasInsurance (Y=Yes, N=no) + * HasInsurance (Y=Yes, N=no) * @type {string} * @memberof PatientDTO */ @@ -141,7 +141,7 @@ export interface PatientDTO { */ taxCode?: string; /** - * lock + * Lock * @type {number} * @memberof PatientDTO */ @@ -158,7 +158,7 @@ export interface PatientDTO { */ readonly hashCode?: number; /** - * allergies of patient + * Allergies of patient * @type {string} * @memberof PatientDTO */ @@ -170,19 +170,19 @@ export interface PatientDTO { */ anamnesis?: string; /** - * status + * Status * @type {string} * @memberof PatientDTO */ status?: PatientDTOStatusEnum; /** - * consensus flag + * Consensus flag * @type {boolean} * @memberof PatientDTO */ consensusFlag?: boolean; /** - * consensus service flag + * Consensus service flag * @type {boolean} * @memberof PatientDTO */ diff --git a/src/generated/models/PatientExaminationDTO.ts b/src/generated/models/PatientExaminationDTO.ts index ae04409d7..c1405aeb6 100644 --- a/src/generated/models/PatientExaminationDTO.ts +++ b/src/generated/models/PatientExaminationDTO.ts @@ -83,7 +83,7 @@ export interface PatientExaminationDTO { */ pex_hr?: number; /** - * patient ausculation + * Patient ausculation * @type {string} * @memberof PatientExaminationDTO */ diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphics.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphics.ts index 6dd04ca3b..73e6e47e2 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphics.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphics.ts @@ -29,6 +29,11 @@ export interface PatientProfilePhotoPhotoAsImageGraphics { * @memberof PatientProfilePhotoPhotoAsImageGraphics */ color?: PatientProfilePhotoPhotoAsImageGraphicsColor; + /** + * @type {PatientProfilePhotoPhotoAsImageGraphicsColor} + * @memberof PatientProfilePhotoPhotoAsImageGraphics + */ + xormode?: PatientProfilePhotoPhotoAsImageGraphicsColor; /** * @type {PatientProfilePhotoPhotoAsImageGraphicsFont} * @memberof PatientProfilePhotoPhotoAsImageGraphics @@ -44,11 +49,6 @@ export interface PatientProfilePhotoPhotoAsImageGraphics { * @memberof PatientProfilePhotoPhotoAsImageGraphics */ clipBounds?: PatientProfilePhotoPhotoAsImageGraphicsClipBounds; - /** - * @type {PatientProfilePhotoPhotoAsImageGraphicsColor} - * @memberof PatientProfilePhotoPhotoAsImageGraphics - */ - xormode?: PatientProfilePhotoPhotoAsImageGraphicsColor; /** * @type {PatientProfilePhotoPhotoAsImageGraphicsClip} * @memberof PatientProfilePhotoPhotoAsImageGraphics diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts index 0a12723e5..8a65502a6 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D.ts @@ -21,11 +21,6 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D { * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D */ empty?: boolean; - /** - * @type {number} - * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D - */ - height?: number; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D @@ -46,6 +41,11 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D { * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D */ centerY?: number; + /** + * @type {number} + * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D + */ + height?: number; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsClipBoundsBounds2D diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFont.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFont.ts index 36d31e9bc..62012971a 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFont.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFont.ts @@ -40,69 +40,69 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsFont { * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ attributes?: { [key: string]: object; }; + /** + * @type {PatientProfilePhotoPhotoAsImageGraphicsFontTransform} + * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont + */ + transform?: PatientProfilePhotoPhotoAsImageGraphicsFontTransform; /** * @type {string} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - family?: string; + psname?: string; /** * @type {string} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ fontName?: string; /** - * @type {PatientProfilePhotoPhotoAsImageGraphicsFontTransform} + * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - transform?: PatientProfilePhotoPhotoAsImageGraphicsFontTransform; + size2D?: number; /** * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - bold?: boolean; + plain?: boolean; /** * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - italic?: boolean; + bold?: boolean; /** - * @type {number} + * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - numGlyphs?: number; + italic?: boolean; /** - * @type {number} + * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - missingGlyphCode?: number; + transformed?: boolean; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - italicAngle?: number; + numGlyphs?: number; /** - * @type {boolean} + * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - transformed?: boolean; + missingGlyphCode?: number; /** - * @type {string} + * @type {Array} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - psname?: string; + availableAttributes?: Array; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - size2D?: number; - /** - * @type {boolean} - * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont - */ - plain?: boolean; + italicAngle?: number; /** - * @type {Array} + * @type {string} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFont */ - availableAttributes?: Array; + family?: string; } diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts index 97c57abc4..d5b5e35ee 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetrics.ts @@ -42,38 +42,38 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsFontMetrics { */ leading?: number; /** - * @type {number} + * @type {PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - height?: number; + fontRenderContext?: PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - maxDescent?: number; + maxAscent?: number; /** - * @type {Array} + * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - widths?: Array; + maxDescent?: number; /** - * @type {PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext} + * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - fontRenderContext?: PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext; + maxDecent?: number; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - maxAscent?: number; + maxAdvance?: number; /** - * @type {number} + * @type {Array} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - maxDecent?: number; + widths?: Array; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetrics */ - maxAdvance?: number; + height?: number; } diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts index 81b754df3..9086f4947 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext.ts @@ -26,20 +26,20 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderCon */ transform?: PatientProfilePhotoPhotoAsImageGraphicsFontTransform; /** - * @type {object} + * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext */ - antiAliasingHint?: object; + transformed?: boolean; /** * @type {object} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext */ - fractionalMetricsHint?: object; + antiAliasingHint?: object; /** - * @type {boolean} + * @type {object} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext */ - transformed?: boolean; + fractionalMetricsHint?: object; /** * @type {boolean} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontMetricsFontRenderContext diff --git a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts index f5271cfe5..8dbe4221a 100644 --- a/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts +++ b/src/generated/models/PatientProfilePhotoPhotoAsImageGraphicsFontTransform.ts @@ -60,15 +60,15 @@ export interface PatientProfilePhotoPhotoAsImageGraphicsFontTransform { * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontTransform */ - toRotation?: number; + determinant?: number; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontTransform */ - toQuadrantRotation?: number; + toRotation?: number; /** * @type {number} * @memberof PatientProfilePhotoPhotoAsImageGraphicsFontTransform */ - determinant?: number; + toQuadrantRotation?: number; } diff --git a/src/generated/models/PatientVaccineDTO.ts b/src/generated/models/PatientVaccineDTO.ts index 3df1ede1c..5f60408dc 100644 --- a/src/generated/models/PatientVaccineDTO.ts +++ b/src/generated/models/PatientVaccineDTO.ts @@ -27,13 +27,13 @@ export interface PatientVaccineDTO { */ code?: number; /** - * a progr. in year + * A progr. in year * @type {number} * @memberof PatientVaccineDTO */ progr: number; /** - * the vaccine date + * The vaccine date * @type {string} * @memberof PatientVaccineDTO */ @@ -49,7 +49,7 @@ export interface PatientVaccineDTO { */ vaccine: VaccineDTO; /** - * lock + * Lock * @type {number} * @memberof PatientVaccineDTO */ diff --git a/src/generated/models/PermissionDTO.ts b/src/generated/models/PermissionDTO.ts index 2c8f3a7cc..38a56287f 100644 --- a/src/generated/models/PermissionDTO.ts +++ b/src/generated/models/PermissionDTO.ts @@ -22,18 +22,21 @@ export interface PermissionDTO { */ name?: string; /** + * The permission id * @type {number} * @memberof PermissionDTO */ - id?: number; + id: number; /** + * The permission description * @type {string} * @memberof PermissionDTO */ - description?: string; + description: string; /** + * The user group id * @type {Array} * @memberof PermissionDTO */ - userGroupIds?: Array; + userGroupIds: Array; } diff --git a/src/generated/models/PregnantTreatmentTypeDTO.ts b/src/generated/models/PregnantTreatmentTypeDTO.ts index 6f9e8bb88..66ae9bdfd 100644 --- a/src/generated/models/PregnantTreatmentTypeDTO.ts +++ b/src/generated/models/PregnantTreatmentTypeDTO.ts @@ -18,12 +18,13 @@ */ export interface PregnantTreatmentTypeDTO { /** + * The code * @type {string} * @memberof PregnantTreatmentTypeDTO */ - code?: string; + code: string; /** - * the description + * The description * @type {string} * @memberof PregnantTreatmentTypeDTO */ diff --git a/src/generated/models/PriceDTO.ts b/src/generated/models/PriceDTO.ts index 23c240b91..3e927c294 100644 --- a/src/generated/models/PriceDTO.ts +++ b/src/generated/models/PriceDTO.ts @@ -32,25 +32,25 @@ export interface PriceDTO { */ list: PriceList; /** - * the group + * The group * @type {string} * @memberof PriceDTO */ group: string; /** - * the item name + * The item name * @type {string} * @memberof PriceDTO */ item: string; /** - * the description + * The description * @type {string} * @memberof PriceDTO */ description: string; /** - * price + * Price * @type {number} * @memberof PriceDTO */ diff --git a/src/generated/models/PriceList.ts b/src/generated/models/PriceList.ts index 997cf3800..824fab3d5 100644 --- a/src/generated/models/PriceList.ts +++ b/src/generated/models/PriceList.ts @@ -12,7 +12,7 @@ */ /** - * the price list + * The price list * @export * @interface PriceList */ diff --git a/src/generated/models/PriceListDTO.ts b/src/generated/models/PriceListDTO.ts index 03a2303b7..715cca3ae 100644 --- a/src/generated/models/PriceListDTO.ts +++ b/src/generated/models/PriceListDTO.ts @@ -23,25 +23,25 @@ export interface PriceListDTO { */ id?: number; /** - * the price list code + * The price list code * @type {string} * @memberof PriceListDTO */ code?: string; /** - * the name of list + * The name of the price list * @type {string} * @memberof PriceListDTO */ name?: string; /** - * the price list description + * The price list description * @type {string} * @memberof PriceListDTO */ description?: string; /** - * the currency + * The currency * @type {string} * @memberof PriceListDTO */ diff --git a/src/generated/models/PricesOthersDTO.ts b/src/generated/models/PricesOthersDTO.ts index 9fa3ca582..219dbeb3c 100644 --- a/src/generated/models/PricesOthersDTO.ts +++ b/src/generated/models/PricesOthersDTO.ts @@ -23,13 +23,13 @@ export interface PricesOthersDTO { */ id?: number; /** - * the prices code + * The prices code * @type {string} * @memberof PricesOthersDTO */ code: string; /** - * the description + * The description * @type {string} * @memberof PricesOthersDTO */ diff --git a/src/generated/models/TherapyDTO.ts b/src/generated/models/TherapyDTO.ts index 260007a67..f50d2dba2 100644 --- a/src/generated/models/TherapyDTO.ts +++ b/src/generated/models/TherapyDTO.ts @@ -68,13 +68,13 @@ export interface TherapyDTO { */ note?: string; /** - * the notify flag: true if the notification need to be activated, false otherwise + * The notify flag: true if the notification need to be activated, false otherwise * @type {boolean} * @memberof TherapyDTO */ notify?: boolean; /** - * the sms flag: true if sms need to be sent to patient, false otherwise + * The sms flag: true if sms need to be sent to patient, false otherwise * @type {boolean} * @memberof TherapyDTO */ diff --git a/src/generated/models/TherapyRow.ts b/src/generated/models/TherapyRow.ts index 4dc7f3724..564217df6 100644 --- a/src/generated/models/TherapyRow.ts +++ b/src/generated/models/TherapyRow.ts @@ -114,10 +114,10 @@ export interface TherapyRow { * @type {boolean} * @memberof TherapyRow */ - sms?: boolean; + notify?: boolean; /** * @type {boolean} * @memberof TherapyRow */ - notify?: boolean; + sms?: boolean; } diff --git a/src/generated/models/TherapyRowDTO.ts b/src/generated/models/TherapyRowDTO.ts index 918b0ad37..c04c537f0 100644 --- a/src/generated/models/TherapyRowDTO.ts +++ b/src/generated/models/TherapyRowDTO.ts @@ -86,7 +86,7 @@ export interface TherapyRowDTO { */ notifyInt: number; /** - * the sms flag: 1 if sms need to be sent to patient, 0 otherwise + * The sms flag: 1 if sms need to be sent to patient, 0 otherwise * @type {number} * @memberof TherapyRowDTO */ diff --git a/src/generated/models/UserDTO.ts b/src/generated/models/UserDTO.ts index 378a74792..621eb1044 100644 --- a/src/generated/models/UserDTO.ts +++ b/src/generated/models/UserDTO.ts @@ -21,7 +21,7 @@ import { */ export interface UserDTO { /** - * the username (must be unique) + * The username (must be unique) * @type {string} * @memberof UserDTO */ @@ -32,13 +32,13 @@ export interface UserDTO { */ userGroupName: UserGroupDTO; /** - * the user\'s password + * The user\'s password * @type {string} * @memberof UserDTO */ passwd: string; /** - * the user\'s description + * The user\'s description * @type {string} * @memberof UserDTO */ diff --git a/src/generated/models/UserGroupDTO.ts b/src/generated/models/UserGroupDTO.ts index 00e3b73d3..0c906d016 100644 --- a/src/generated/models/UserGroupDTO.ts +++ b/src/generated/models/UserGroupDTO.ts @@ -12,19 +12,19 @@ */ /** - * the user\'s group + * The user\'s group * @export * @interface UserGroupDTO */ export interface UserGroupDTO { /** - * name of the group (must be unique) + * Name of the group (must be unique) * @type {string} * @memberof UserGroupDTO */ code: string; /** - * the description of the group + * The description of the group * @type {string} * @memberof UserGroupDTO */ diff --git a/src/generated/models/UserProfileDTO.ts b/src/generated/models/UserProfileDTO.ts index 61a5032cc..80c33356b 100644 --- a/src/generated/models/UserProfileDTO.ts +++ b/src/generated/models/UserProfileDTO.ts @@ -11,6 +11,10 @@ * Do not edit the class manually. */ +import { + UserGroupDTO, +} from './'; + /** * @export * @interface UserProfileDTO @@ -26,4 +30,9 @@ export interface UserProfileDTO { * @memberof UserProfileDTO */ permissions?: Array; + /** + * @type {UserGroupDTO} + * @memberof UserProfileDTO + */ + userGroup?: UserGroupDTO; } diff --git a/src/generated/models/UserSettingDTO.ts b/src/generated/models/UserSettingDTO.ts index 873b591ee..f9da714c7 100644 --- a/src/generated/models/UserSettingDTO.ts +++ b/src/generated/models/UserSettingDTO.ts @@ -17,19 +17,25 @@ */ export interface UserSettingDTO { /** - * the id of the setting (must be unique) + * The id of the setting (must be unique) * @type {number} * @memberof UserSettingDTO */ id: number; /** - * the the name of the setting + * The name of the setting * @type {string} * @memberof UserSettingDTO */ configName: string; /** - * the the value of the user + * The name of the user + * @type {string} + * @memberof UserSettingDTO + */ + user: string; + /** + * The value of the user * @type {string} * @memberof UserSettingDTO */ diff --git a/src/generated/models/VaccineDTO.ts b/src/generated/models/VaccineDTO.ts index e5d905b0b..2ac2c7a2d 100644 --- a/src/generated/models/VaccineDTO.ts +++ b/src/generated/models/VaccineDTO.ts @@ -39,7 +39,7 @@ export interface VaccineDTO { */ vaccineType: VaccineTypeDTO; /** - * lock + * Lock * @type {number} * @memberof VaccineDTO */ diff --git a/src/generated/models/VisitDTO.ts b/src/generated/models/VisitDTO.ts index c10f69fc7..6f2f87afa 100644 --- a/src/generated/models/VisitDTO.ts +++ b/src/generated/models/VisitDTO.ts @@ -57,13 +57,13 @@ export interface VisitDTO { */ ward?: WardDTO; /** - * duration of the visit + * Duration of the visit * @type {number} * @memberof VisitDTO */ duration?: number; /** - * service done during the visit + * Service done during the visit * @type {string} * @memberof VisitDTO */ diff --git a/src/generated/models/WardDTO.ts b/src/generated/models/WardDTO.ts index 98b18eeda..eeff9c863 100644 --- a/src/generated/models/WardDTO.ts +++ b/src/generated/models/WardDTO.ts @@ -17,26 +17,31 @@ */ export interface WardDTO { /** + * The ward code * @type {string} * @memberof WardDTO */ code?: string; /** + * The name of the ward * @type {string} * @memberof WardDTO */ description: string; /** + * The phone number of the ward * @type {string} * @memberof WardDTO */ telephone?: string; /** + * The fax number of the ward * @type {string} * @memberof WardDTO */ fax?: string; /** + * The email of the ward * @type {string} * @memberof WardDTO */ @@ -71,20 +76,20 @@ export interface WardDTO { * @type {boolean} * @memberof WardDTO */ - pharmacy?: boolean; + opd?: boolean; /** * @type {boolean} * @memberof WardDTO */ - male?: boolean; + female?: boolean; /** * @type {boolean} * @memberof WardDTO */ - female?: boolean; + male?: boolean; /** * @type {boolean} * @memberof WardDTO */ - opd?: boolean; + pharmacy?: boolean; } diff --git a/src/generated/models/index.ts b/src/generated/models/index.ts index 46965364a..55bdc1fe6 100644 --- a/src/generated/models/index.ts +++ b/src/generated/models/index.ts @@ -74,7 +74,6 @@ export * from './TherapyRow'; export * from './TherapyRowDTO'; export * from './UserDTO'; export * from './UserGroupDTO'; -export * from './UserMenuItemDTO'; export * from './UserProfileDTO'; export * from './UserSettingDTO'; export * from './VaccineDTO'; diff --git a/src/generated/runtime.ts b/src/generated/runtime.ts index 381dc15c3..3bdbf3b3e 100644 --- a/src/generated/runtime.ts +++ b/src/generated/runtime.ts @@ -127,7 +127,6 @@ export class BaseAPI { headers, body: body instanceof FormData ? body : JSON.stringify(body), responseType: responseType ?? "json", - withCredentials: true, }; }; @@ -201,7 +200,6 @@ export interface RequestOpts extends AjaxRequest { headers?: HttpHeaders; body?: HttpBody; responseType?: "json" | "blob" | "arraybuffer" | "text"; - withCredentials?: boolean; } export interface ResponseOpts { diff --git a/src/libraries/hooks/useLandingPageRoute.ts b/src/libraries/hooks/useLandingPageRoute.ts index bbc6da042..34c414f64 100644 --- a/src/libraries/hooks/useLandingPageRoute.ts +++ b/src/libraries/hooks/useLandingPageRoute.ts @@ -1,25 +1,31 @@ -import { useMemo } from "react"; -import { - landingPagePriority, - defaultRoute, -} from "../../customization/landingPage"; -import { usePermissions } from "../permissionUtils/usePermissions"; - -/* Custom hook that returns the landing page route based on the user's permissions. - * @returns {string} The landing page route. - */ -export const useLandingPageRoute = () => { - const permissions = usePermissions(); - - // Calculate the landing page route based on the user's permissions. - const landingPageRoute = useMemo( - () => - landingPagePriority.find((element) => - permissions.includes(element.permission) - )?.route ?? defaultRoute, - [permissions] - ); - - // Return the landing page route. - return landingPageRoute; -}; +import { useMemo } from "react"; +import { + landingPagePriority, + defaultRoute, +} from "../../customization/landingPage"; +import { usePermissions } from "../permissionUtils/usePermissions"; +import { useUserSettings } from "./useUserSettings"; + +/* Custom hook that returns the landing page route based on the user's permissions. + * @returns {string} The landing page route. + */ +export const useLandingPageRoute = () => { + const permissions = usePermissions(); + const settings = useUserSettings(); + + // Calculate the landing page route based on the user's permissions. + const landingPageRoute = useMemo(() => { + const route = settings.find((e) => e.configName === "landing")?.configValue; + return ( + landingPagePriority.find( + (e) => e.route === route && permissions.includes(e.permission) + )?.route ?? + landingPagePriority.find((e) => permissions.includes(e.permission)) + ?.route ?? + defaultRoute + ); + }, [permissions, settings]); + + // Return the landing page route. + return landingPageRoute; +}; diff --git a/src/libraries/hooks/useUserSettings.ts b/src/libraries/hooks/useUserSettings.ts new file mode 100644 index 000000000..f628ecb80 --- /dev/null +++ b/src/libraries/hooks/useUserSettings.ts @@ -0,0 +1,11 @@ +import { useSelector } from "react-redux"; +import { UserSettingDTO } from "../../generated"; +import { IState } from "../../types"; + +/** + * @returns list of all user settings + */ +export const useUserSettings = () => + useSelector( + (state) => state.main.settings?.data || [] + ); diff --git a/src/libraries/permissionUtils/usePermission.ts b/src/libraries/permissionUtils/usePermission.ts index b1d03973c..76dcdbfb9 100644 --- a/src/libraries/permissionUtils/usePermission.ts +++ b/src/libraries/permissionUtils/usePermission.ts @@ -1,14 +1,14 @@ -import { TPermission } from "../../types"; -import { usePermissions } from "./usePermissions"; - -/** - * @param name requested permission - * @returns boolean true if user has permission - */ -export const usePermission = (name: TPermission): boolean => { - const permissions = usePermissions(); - if (process.env.REACT_APP_ENABLE_PERMISSIONS === "false") { - return true; - } - return Boolean(permissions.find((permission: string) => permission === name)); -}; +import { TPermission } from "../../types"; +import { usePermissions } from "./usePermissions"; + +/** + * @param name requested permission + * @returns boolean true if user has permission + */ +export const usePermission = (name: TPermission): boolean => { + const permissions = usePermissions(); + if (process.env.REACT_APP_ENABLE_PERMISSIONS === "false") { + return true; + } + return permissions.includes(name); +}; diff --git a/src/mockServer/fixtures/permissionList.js b/src/mockServer/fixtures/permissionList.js index 9dd801f5d..221aef333 100644 --- a/src/mockServer/fixtures/permissionList.js +++ b/src/mockServer/fixtures/permissionList.js @@ -1,41 +1,41 @@ -/** @type {import("../../types").TPermission} */ -const permissionList = [ - "patient.access", - "laboratory.access", - "visit.access", - //"dashboard.access", - "patient.read", - "patient.create", - "patient.update", - "patient.delete", - "opd.read", - "opd.create", - "opd.update", - "opd.delete", - "examination.read", - "examination.create", - "examination.update", - "examination.delete", - "admission.read", - "admission.create", - "admission.update", - "admission.delete", - "therapy.read", - "therapy.create", - "therapy.update", - "therapy.delete", - "visit.read", - "visit.create", - "visit.update", - "visit.delete", - "exam.read", - "exam.create", - "exam.update", - "exam.delete", - "operation.read", - "operation.create", - "operation.update", - "operation.delete", -]; - -export default permissionList; +/** @type {import("../../types").TPermission} */ +const permissionList = [ + "patient.access", + "laboratory.access", + "visit.access", + //"dashboard.access", + "patient.read", + "patient.create", + "patient.update", + "patient.delete", + "opd.read", + "opd.create", + "opd.update", + "opd.delete", + "examination.read", + "examination.create", + "examination.update", + "examination.delete", + "admission.read", + "admission.create", + "admission.update", + "admission.delete", + "therapy.read", + "therapy.create", + "therapy.update", + "therapy.delete", + "visit.read", + "visit.create", + "visit.update", + "visit.delete", + "exam.read", + "exam.create", + "exam.update", + "exam.delete", + "operation.read", + "operation.create", + "operation.update", + "operation.delete", +]; + +export default permissionList; diff --git a/src/mockServer/routes/users.js b/src/mockServer/routes/users.js index bc47dbdaa..24859edcc 100644 --- a/src/mockServer/routes/users.js +++ b/src/mockServer/routes/users.js @@ -1,14 +1,19 @@ -import permissionList from "../fixtures/permissionList"; - -export const userRoutes = (server) => { - server.namespace("/users", () => { - server.get("/me").intercept((req, res) => { - res.status(200).json({ - userName: "admin", - permissions: permissionList, - userGroupName: "ADMIN", - userDesc: "John Doe" - }); - }); - }); -}; +import permissionList from "../fixtures/permissionList"; + +export const userRoutes = (server) => { + server.namespace("/users", () => { + server.get("/me").intercept((req, res) => { + res.status(200).json({ + userName: "admin", + permissions: permissionList, + userGroupName: "ADMIN", + userDesc: "John Doe", + }); + }); + server.get("/settings").intercept((req, res) => { + res + .status(200) + .json([{ id: 1, configName: "landing", configValue: "/" }]); + }); + }); +}; diff --git a/src/routes/MainRouter.tsx b/src/routes/MainRouter.tsx index 8e086de1f..1e0f54269 100644 --- a/src/routes/MainRouter.tsx +++ b/src/routes/MainRouter.tsx @@ -1,46 +1,60 @@ -import React from "react"; -import { BrowserRouter } from "react-router-dom"; -import { Navigate, Route, Routes } from "react-router"; -import Dashboard from "../components/accessories/dashboard/Dashboard"; -import LaboratoryActivity from "../components/activities/laboratoryActivity/LaboratoryActivity"; -import LoginActivity from "../components/activities/loginActivity/LoginActivity"; -import { RedirectAfterLogin } from "../components/activities/loginActivity/RedirectAfterLogin"; -import ForgotActivity from "../components/activities/forgotActivity/ForgotActivity"; -import NotFound from "../components/activities/notFound/NotFound"; -import VisitsActivity from "../components/activities/visitsActivity/VisitsActivity"; -import { Private } from "../components/Private"; -import { PatientsRoutes } from "./Patients/PatientsRoutes"; -import { PATHS } from "../consts"; - -export const MainRouter: React.FC = () => { - return ( - - - {/* TODO: based on user profile, redirect to patient, dashboard or whatever */} - } /> - - - - - } - /> - } /> - - }> - } /> - } /> - } - /> - } /> - - - } /> - - - ); -}; +import React, { useEffect } from "react"; +import { BrowserRouter } from "react-router-dom"; +import { Navigate, Route, Routes } from "react-router"; +import Dashboard from "../components/accessories/dashboard/Dashboard"; +import LaboratoryActivity from "../components/activities/laboratoryActivity/LaboratoryActivity"; +import LoginActivity from "../components/activities/loginActivity/LoginActivity"; +import { RedirectAfterLogin } from "../components/activities/loginActivity/RedirectAfterLogin"; +import ForgotActivity from "../components/activities/forgotActivity/ForgotActivity"; +import NotFound from "../components/activities/notFound/NotFound"; +import VisitsActivity from "../components/activities/visitsActivity/VisitsActivity"; +import { Private } from "../components/Private"; +import { PatientsRoutes } from "./Patients/PatientsRoutes"; +import { PATHS } from "../consts"; +import { useDispatch, useSelector } from "react-redux"; +import { IState } from "../types"; +import { TAPIResponseStatus } from "../state/types"; +import { getUserSettings } from "../state/main/actions"; + +export const MainRouter: React.FC = () => { + const dispatch = useDispatch(); + const status = useSelector( + (state) => state.main.authentication.status! + ); + useEffect(() => { + if (status === "SUCCESS") { + dispatch(getUserSettings()); + } + }, [status]); + + return ( + + + {/* TODO: based on user profile, redirect to patient, dashboard or whatever */} + } /> + + + + + } + /> + } /> + + }> + } /> + } /> + } + /> + } /> + + + } /> + + + ); +}; diff --git a/src/state/main/actions.ts b/src/state/main/actions.ts index aeb95ebbd..70b62a434 100644 --- a/src/state/main/actions.ts +++ b/src/state/main/actions.ts @@ -1,164 +1,184 @@ -import { Dispatch } from "redux"; -import { concat } from "rxjs"; -import { tap, toArray } from "rxjs/operators"; -import { LoginRequest, UserProfileDTO } from "../../generated"; -import { LoginApi } from "../../generated/apis/LoginApi"; -import { UsersApi } from "../../generated/apis/UsersApi"; -import { LoginResponse } from "../../generated/models/LoginResponse"; -import { customConfiguration } from "../../libraries/apiUtils/configuration"; -import { saveAuthenticationDataToSession } from "../../libraries/authUtils/saveAuthenticationDataToSession"; -import { savePermissionDataToSession } from "../../libraries/authUtils/savePermissionDataToSession"; -import { SessionStorage } from "../../libraries/storage/storage"; -import { GET_LABS_RESET, SEARCH_LAB_RESET } from "../laboratories/consts"; -import { GET_OPD_RESET } from "../opds/consts"; -import { - GET_OPERATIONROW_ADM_RESET, - GET_OPERATIONS_RESET, -} from "../operations/consts"; -import { GET_PATIENT_RESET, SEARCH_PATIENT_RESET } from "../patients/consts"; -import { IAction } from "../types"; -import { - SET_AUTHENTICATION_FAIL, - SET_AUTHENTICATION_LOADING, - SET_AUTHENTICATION_SUCCESS, - SET_LOGOUT_FAIL, - SET_LOGOUT_LOADING, - SET_LOGOUT_SUCCESS, - SET_FORGOT_PASSWORD_LOADING, - SET_FORGOT_PASSWORD_SUCCESS, - RESET_FORGOT_PASSWORD, -} from "./consts"; -import { IAuthentication } from "./types"; - -const loginApi = new LoginApi(customConfiguration(false)); -const usersApi = new UsersApi(customConfiguration()); - -export const setAuthenticationSuccess = ( - payload: IAuthentication -): IAction => ({ - type: SET_AUTHENTICATION_SUCCESS, - payload, -}); - -export const setAuthenticationThunk = - (username: string, password: string) => - (dispatch: Dispatch>): void => { - dispatch({ - type: SET_AUTHENTICATION_LOADING, - }); - - const loginRequest: LoginRequest = { username, password }; - - concat( - loginApi - .authenticateUser({ loginRequest }) - .pipe(tap(saveAuthenticationDataToSession)), - usersApi - .retrieveProfileByCurrentLoggedInUser() - .pipe(tap(savePermissionDataToSession)) - ) - .pipe(toArray()) - .subscribe( - ([userCredentials, me]) => { - dispatch({ - type: SET_AUTHENTICATION_SUCCESS, - payload: { - ...(userCredentials as LoginResponse), - ...(me as UserProfileDTO), - }, - }); - }, - (error) => { - dispatch({ - type: SET_AUTHENTICATION_FAIL, - error: error?.response, - }); - } - ); - }; - -export const setLogoutThunk = - () => - (dispatch: Dispatch>): void => { - dispatch({ - type: SET_LOGOUT_LOADING, - }); - SessionStorage.clear(); - loginApi.logout().subscribe( - () => { - dispatch({ - type: GET_PATIENT_RESET, - }); - dispatch({ - type: GET_LABS_RESET, - }); - dispatch({ - type: SEARCH_LAB_RESET, - }); - dispatch({ - type: GET_OPD_RESET, - }); - dispatch({ - type: GET_PATIENT_RESET, - }); - dispatch({ - type: SEARCH_PATIENT_RESET, - }); - dispatch({ - type: GET_OPERATIONS_RESET, - }); - dispatch({ - type: GET_OPERATIONROW_ADM_RESET, - }); - dispatch({ - type: SET_LOGOUT_SUCCESS, - }); - }, - (error) => { - dispatch({ - type: SET_LOGOUT_FAIL, - error: error?.response, - }); - } - ); - }; - -// as those aren't yet available on the api, I mock them here -// they should be generated by the api generator -type ForgotPasswordRequest = { - email: string; -}; - -type ForgotPasswordResponse = { - message: string; -}; - -export const setForgotPasswordThunk = - (username: string) => - (dispatch: Dispatch>): void => { - dispatch({ - type: SET_FORGOT_PASSWORD_LOADING, - }); - - console.log("username", username); - // const loginRequest: ForgotPasswordRequest = { - // username, - // }; - - window.setTimeout(() => { - dispatch({ - type: SET_FORGOT_PASSWORD_SUCCESS, - payload: { - message: "Password reset email sent", - } as ForgotPasswordResponse, - }); - }, 500); - }; - -export const resetForgotPasswordThunk = - () => - (dispatch: Dispatch>): void => { - dispatch({ - type: RESET_FORGOT_PASSWORD, - }); - }; +import { Dispatch } from "redux"; +import { concat } from "rxjs"; +import { tap, toArray } from "rxjs/operators"; +import { LoginRequest, UserProfileDTO, UserSettingDTO } from "../../generated"; +import { LoginApi } from "../../generated/apis/LoginApi"; +import { UsersApi } from "../../generated/apis/UsersApi"; +import { LoginResponse } from "../../generated/models/LoginResponse"; +import { customConfiguration } from "../../libraries/apiUtils/configuration"; +import { saveAuthenticationDataToSession } from "../../libraries/authUtils/saveAuthenticationDataToSession"; +import { savePermissionDataToSession } from "../../libraries/authUtils/savePermissionDataToSession"; +import { SessionStorage } from "../../libraries/storage/storage"; +import { GET_LABS_RESET, SEARCH_LAB_RESET } from "../laboratories/consts"; +import { GET_OPD_RESET } from "../opds/consts"; +import { + GET_OPERATIONROW_ADM_RESET, + GET_OPERATIONS_RESET, +} from "../operations/consts"; +import { GET_PATIENT_RESET, SEARCH_PATIENT_RESET } from "../patients/consts"; +import { IAction } from "../types"; +import { + SET_AUTHENTICATION_FAIL, + SET_AUTHENTICATION_LOADING, + SET_AUTHENTICATION_SUCCESS, + SET_LOGOUT_FAIL, + SET_LOGOUT_LOADING, + SET_LOGOUT_SUCCESS, + SET_FORGOT_PASSWORD_LOADING, + SET_FORGOT_PASSWORD_SUCCESS, + RESET_FORGOT_PASSWORD, + GET_USER_SETTINGS_LOADING, + GET_USER_SETTINGS_SUCCESS, + GET_USER_SETTINGS_FAIL, +} from "./consts"; +import { IAuthentication } from "./types"; + +const loginApi = new LoginApi(customConfiguration(false)); +const usersApi = new UsersApi(customConfiguration()); + +export const setAuthenticationSuccess = ( + payload: IAuthentication +): IAction => ({ + type: SET_AUTHENTICATION_SUCCESS, + payload, +}); + +export const setAuthenticationThunk = + (username: string, password: string) => + (dispatch: Dispatch>): void => { + dispatch({ + type: SET_AUTHENTICATION_LOADING, + }); + + const loginRequest: LoginRequest = { username, password }; + + concat( + loginApi + .authenticateUser({ loginRequest }) + .pipe(tap(saveAuthenticationDataToSession)), + usersApi + .retrieveProfileByCurrentLoggedInUser() + .pipe(tap(savePermissionDataToSession)) + ) + .pipe(toArray()) + .subscribe( + ([userCredentials, me]) => { + dispatch({ + type: SET_AUTHENTICATION_SUCCESS, + payload: { + ...(userCredentials as LoginResponse), + ...(me as UserProfileDTO), + }, + }); + }, + (error) => { + dispatch({ + type: SET_AUTHENTICATION_FAIL, + error: error?.response, + }); + } + ); + }; + +export const setLogoutThunk = + () => + (dispatch: Dispatch>): void => { + dispatch({ + type: SET_LOGOUT_LOADING, + }); + SessionStorage.clear(); + loginApi.logout().subscribe( + () => { + dispatch({ + type: GET_PATIENT_RESET, + }); + dispatch({ + type: GET_LABS_RESET, + }); + dispatch({ + type: SEARCH_LAB_RESET, + }); + dispatch({ + type: GET_OPD_RESET, + }); + dispatch({ + type: GET_PATIENT_RESET, + }); + dispatch({ + type: SEARCH_PATIENT_RESET, + }); + dispatch({ + type: GET_OPERATIONS_RESET, + }); + dispatch({ + type: GET_OPERATIONROW_ADM_RESET, + }); + dispatch({ + type: SET_LOGOUT_SUCCESS, + }); + }, + (error) => { + dispatch({ + type: SET_LOGOUT_FAIL, + error: error?.response, + }); + } + ); + }; + +// as those aren't yet available on the api, I mock them here +// they should be generated by the api generator +type ForgotPasswordRequest = { + email: string; +}; + +type ForgotPasswordResponse = { + message: string; +}; + +export const setForgotPasswordThunk = + (username: string) => + (dispatch: Dispatch>): void => { + dispatch({ + type: SET_FORGOT_PASSWORD_LOADING, + }); + + console.log("username", username); + // const loginRequest: ForgotPasswordRequest = { + // username, + // }; + + window.setTimeout(() => { + dispatch({ + type: SET_FORGOT_PASSWORD_SUCCESS, + payload: { + message: "Password reset email sent", + } as ForgotPasswordResponse, + }); + }, 500); + }; + +export const resetForgotPasswordThunk = + () => + (dispatch: Dispatch>): void => { + dispatch({ + type: RESET_FORGOT_PASSWORD, + }); + }; + +export const getUserSettings = + () => + (dispatch: Dispatch>): void => { + dispatch({ + type: GET_USER_SETTINGS_LOADING, + }); + + usersApi.getUserSettings().subscribe( + (settings) => { + dispatch({ type: GET_USER_SETTINGS_SUCCESS, payload: settings }); + }, + () => { + dispatch({ type: GET_USER_SETTINGS_FAIL }); + } + ); + }; diff --git a/src/state/main/consts.ts b/src/state/main/consts.ts index 0edd0a824..acd2d8ea9 100644 --- a/src/state/main/consts.ts +++ b/src/state/main/consts.ts @@ -1,15 +1,19 @@ -export const SET_AUTHENTICATION_LOADING = "main/SET_AUTHENTICATION_LOADING"; -export const SET_AUTHENTICATION_SUCCESS = "main/SET_AUTHENTICATION_SUCCESS"; -export const SET_AUTHENTICATION_FAIL = "main/SET_AUTHENTICATION_FAIL"; - -export const SET_LOGOUT_LOADING = "main/SET_LOGOUT_LOADING"; -export const SET_LOGOUT_SUCCESS = "main/SET_LOGOUT_SUCCESS"; -export const SET_LOGOUT_FAIL = "main/SET_LOGOUT_FAIL"; - -export const SET_FORGOT_PASSWORD_LOADING = "main/SET_FORGOT_PASSWORD_LOADING"; -export const SET_FORGOT_PASSWORD_SUCCESS = "main/SET_FORGOT_PASSWORD_SUCCESS"; -export const SET_FORGOT_PASSWORD_FAIL = "main/SET_FORGOT_PASSWORD_FAIL"; - -export const RESET_FORGOT_PASSWORD = "main/RESET_FORGOT_PASSWORD"; - -export const RESET_APP_STATE = "main/RESET_APP_STATE"; +export const SET_AUTHENTICATION_LOADING = "main/SET_AUTHENTICATION_LOADING"; +export const SET_AUTHENTICATION_SUCCESS = "main/SET_AUTHENTICATION_SUCCESS"; +export const SET_AUTHENTICATION_FAIL = "main/SET_AUTHENTICATION_FAIL"; + +export const SET_LOGOUT_LOADING = "main/SET_LOGOUT_LOADING"; +export const SET_LOGOUT_SUCCESS = "main/SET_LOGOUT_SUCCESS"; +export const SET_LOGOUT_FAIL = "main/SET_LOGOUT_FAIL"; + +export const SET_FORGOT_PASSWORD_LOADING = "main/SET_FORGOT_PASSWORD_LOADING"; +export const SET_FORGOT_PASSWORD_SUCCESS = "main/SET_FORGOT_PASSWORD_SUCCESS"; +export const SET_FORGOT_PASSWORD_FAIL = "main/SET_FORGOT_PASSWORD_FAIL"; + +export const GET_USER_SETTINGS_LOADING = "main/GET_USER_SETTINGS_LOADING"; +export const GET_USER_SETTINGS_SUCCESS = "main/GET_USER_SETTINGS_SUCCESS"; +export const GET_USER_SETTINGS_FAIL = "main/GET_USER_SETTINGS_FAIL"; + +export const RESET_FORGOT_PASSWORD = "main/RESET_FORGOT_PASSWORD"; + +export const RESET_APP_STATE = "main/RESET_APP_STATE"; diff --git a/src/state/main/initial.ts b/src/state/main/initial.ts index 1a58cc8f1..5dc62e908 100644 --- a/src/state/main/initial.ts +++ b/src/state/main/initial.ts @@ -1,13 +1,16 @@ -import { IMainState } from "./types"; - -export const initial: IMainState = { - authentication: { - status: "IDLE", - }, - logout: { - status: "IDLE", - }, - forgotpassword: { - status: "IDLE", - }, -}; +import { IMainState } from "./types"; + +export const initial: IMainState = { + authentication: { + status: "IDLE", + }, + logout: { + status: "IDLE", + }, + forgotpassword: { + status: "IDLE", + }, + settings: { + status: "IDLE", + }, +}; diff --git a/src/state/main/reducer.ts b/src/state/main/reducer.ts index 853420376..13030eda1 100644 --- a/src/state/main/reducer.ts +++ b/src/state/main/reducer.ts @@ -1,63 +1,85 @@ -import produce from "immer"; -import { - SET_AUTHENTICATION_FAIL, - SET_AUTHENTICATION_LOADING, - SET_AUTHENTICATION_SUCCESS, - SET_FORGOT_PASSWORD_LOADING, - SET_FORGOT_PASSWORD_SUCCESS, - SET_LOGOUT_FAIL, - SET_LOGOUT_LOADING, - SET_LOGOUT_SUCCESS, - RESET_FORGOT_PASSWORD, -} from "./consts"; -import { initial } from "./initial"; -import { IMainState } from "./types"; - -export default produce((draft: IMainState, action: any) => { - switch (action.type) { - case SET_AUTHENTICATION_LOADING: { - draft.authentication.status = "LOADING"; - break; - } - case SET_AUTHENTICATION_SUCCESS: { - draft.authentication.status = "SUCCESS"; - draft.authentication.data = action.payload; - break; - } - case SET_AUTHENTICATION_FAIL: { - draft.authentication.status = "FAIL"; - draft.authentication.error = action.error; - break; - } - case SET_LOGOUT_FAIL: { - draft.authentication.status = "IDLE"; - draft.authentication.data = undefined; - draft.logout.status = "FAIL"; - draft.logout.error = action.error; - break; - } - case SET_LOGOUT_SUCCESS: { - draft.authentication.status = "IDLE"; - draft.authentication.data = undefined; - draft.logout.status = "SUCCESS"; - break; - } - case SET_LOGOUT_LOADING: { - draft.logout.status = "LOADING"; - break; - } - case SET_FORGOT_PASSWORD_LOADING: { - draft.forgotpassword.status = "LOADING"; - break; - } - case SET_FORGOT_PASSWORD_SUCCESS: { - draft.forgotpassword.status = "SUCCESS"; - break; - } - case RESET_FORGOT_PASSWORD: { - draft.authentication.status = "IDLE"; - draft.authentication.data = undefined; - draft.forgotpassword.status = "IDLE"; - } - } -}, initial); +import produce from "immer"; +import { + SET_AUTHENTICATION_FAIL, + SET_AUTHENTICATION_LOADING, + SET_AUTHENTICATION_SUCCESS, + SET_FORGOT_PASSWORD_LOADING, + SET_FORGOT_PASSWORD_SUCCESS, + SET_LOGOUT_FAIL, + SET_LOGOUT_LOADING, + SET_LOGOUT_SUCCESS, + RESET_FORGOT_PASSWORD, + GET_USER_SETTINGS_SUCCESS, + GET_USER_SETTINGS_LOADING, + GET_USER_SETTINGS_FAIL, +} from "./consts"; +import { initial } from "./initial"; +import { IMainState } from "./types"; + +export default produce((draft: IMainState, action: any) => { + switch (action.type) { + case SET_AUTHENTICATION_LOADING: { + draft.authentication.status = "LOADING"; + break; + } + case SET_AUTHENTICATION_SUCCESS: { + draft.authentication.status = "SUCCESS"; + draft.authentication.data = action.payload; + break; + } + case SET_AUTHENTICATION_FAIL: { + draft.authentication.status = "FAIL"; + draft.authentication.error = action.error; + break; + } + case SET_LOGOUT_FAIL: { + draft.authentication.status = "IDLE"; + draft.authentication.data = undefined; + draft.logout.status = "FAIL"; + draft.logout.error = action.error; + break; + } + case SET_LOGOUT_SUCCESS: { + draft.authentication.status = "IDLE"; + draft.authentication.data = undefined; + draft.logout.status = "SUCCESS"; + draft.settings.status = "IDLE"; + draft.settings.data = undefined; + draft.settings.error = undefined; + break; + } + case SET_LOGOUT_LOADING: { + draft.logout.status = "LOADING"; + break; + } + case SET_FORGOT_PASSWORD_LOADING: { + draft.forgotpassword.status = "LOADING"; + break; + } + case SET_FORGOT_PASSWORD_SUCCESS: { + draft.forgotpassword.status = "SUCCESS"; + break; + } + case RESET_FORGOT_PASSWORD: { + draft.authentication.status = "IDLE"; + draft.authentication.data = undefined; + draft.forgotpassword.status = "IDLE"; + break; + } + case GET_USER_SETTINGS_LOADING: { + draft.settings.status = "LOADING"; + break; + } + case GET_USER_SETTINGS_SUCCESS: { + draft.settings.status = "SUCCESS"; + draft.settings.data = action.payload; + break; + } + case GET_USER_SETTINGS_FAIL: { + draft.settings.status = "FAIL"; + draft.settings.error = action.error; + draft.settings.data = undefined; + break; + } + } +}, initial); diff --git a/src/state/main/types.ts b/src/state/main/types.ts index ee53be7ca..ae92cd97f 100644 --- a/src/state/main/types.ts +++ b/src/state/main/types.ts @@ -1,15 +1,17 @@ -import { LoginResponse } from "../../generated/models/LoginResponse"; -import { TPermission } from "../../types"; -import { IApiResponse } from "../types"; - -export type TUserCredentials = LoginResponse | undefined; - -export interface IAuthentication extends LoginResponse { - permissions: TPermission[]; -} - -export interface IMainState { - authentication: IApiResponse; - logout: IApiResponse; - forgotpassword: IApiResponse; -} +import { UserSettingDTO } from "../../generated"; +import { LoginResponse } from "../../generated/models/LoginResponse"; +import { TPermission } from "../../types"; +import { IApiResponse } from "../types"; + +export type TUserCredentials = LoginResponse | undefined; + +export interface IAuthentication extends LoginResponse { + permissions: TPermission[]; +} + +export interface IMainState { + authentication: IApiResponse; + logout: IApiResponse; + forgotpassword: IApiResponse; + settings: IApiResponse; +}