From 247b1d30cdfe5585ddac91ba1944036015fb1d31 Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Thu, 30 Nov 2023 09:54:57 +0100 Subject: [PATCH 1/6] Align API spec file --- api/oh.yaml | 5601 +++++++++-------- src/generated/.openapi-generator/FILES | 2 - src/generated/apis/UsersApi.ts | 180 +- src/generated/apis/index.ts | 1 - src/generated/models/AdmissionDTO.ts | 39 +- src/generated/models/AdmissionTypeDTO.ts | 6 +- src/generated/models/BillDTO.ts | 2 +- src/generated/models/BillItemsDTO.ts | 10 +- src/generated/models/BillPaymentsDTO.ts | 6 +- src/generated/models/DeliveryResultTypeDTO.ts | 6 +- src/generated/models/DeliveryTypeDTO.ts | 6 +- src/generated/models/DischargeTypeDTO.ts | 6 +- src/generated/models/DiseaseDTO.ts | 8 +- src/generated/models/ExamDTO.ts | 2 +- src/generated/models/FullBillDTO.ts | 4 +- src/generated/models/HospitalDTO.ts | 2 +- src/generated/models/LaboratoryDTO.ts | 2 +- src/generated/models/LoginRequest.ts | 4 +- src/generated/models/LoginResponse.ts | 6 +- src/generated/models/MalnutritionDTO.ts | 2 +- src/generated/models/MedicalDTO.ts | 2 +- src/generated/models/OpdDTO.ts | 35 +- .../models/OpdWithOperationRowDTO.ts | 27 +- src/generated/models/OperationDTO.ts | 9 +- src/generated/models/OperationRowDTO.ts | 5 + src/generated/models/OperationTypeDTO.ts | 4 +- src/generated/models/PatientConsensusDTO.ts | 6 +- src/generated/models/PatientExaminationDTO.ts | 2 +- ...PatientProfilePhotoPhotoAsImageGraphics.ts | 10 +- ...oPhotoAsImageGraphicsClipBoundsBounds2D.ts | 10 +- ...entProfilePhotoPhotoAsImageGraphicsFont.ts | 44 +- ...ilePhotoPhotoAsImageGraphicsFontMetrics.ts | 22 +- ...ageGraphicsFontMetricsFontRenderContext.ts | 10 +- ...ePhotoPhotoAsImageGraphicsFontTransform.ts | 6 +- src/generated/models/PatientVaccineDTO.ts | 6 +- src/generated/models/PermissionDTO.ts | 9 +- .../models/PregnantTreatmentTypeDTO.ts | 5 +- src/generated/models/PriceDTO.ts | 8 +- src/generated/models/PriceList.ts | 2 +- src/generated/models/PriceListDTO.ts | 8 +- src/generated/models/PricesOthersDTO.ts | 4 +- src/generated/models/TherapyDTO.ts | 4 +- src/generated/models/TherapyRow.ts | 4 +- src/generated/models/TherapyRowDTO.ts | 2 +- src/generated/models/UserDTO.ts | 6 +- src/generated/models/UserGroupDTO.ts | 6 +- src/generated/models/UserProfileDTO.ts | 9 + src/generated/models/UserSettingDTO.ts | 12 +- src/generated/models/VaccineDTO.ts | 2 +- src/generated/models/VisitDTO.ts | 4 +- src/generated/models/WardDTO.ts | 13 +- src/generated/models/index.ts | 1 - 52 files changed, 3200 insertions(+), 2992 deletions(-) diff --git a/api/oh.yaml b/api/oh.yaml index 205bad261..2178fe4fe 100644 --- a/api/oh.yaml +++ b/api/oh.yaml @@ -7,19 +7,19 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 - version: "1.0" + version: '1.0' servers: -- url: https://oh2.open-hospital.org + - url: http://localhost:8080 security: -- bearerAuth: [] + - bearerAuth: [] paths: /wards: get: tags: - - Wards + - Wards operationId: getWards responses: - "200": + '200': description: OK content: application/json: @@ -28,10 +28,10 @@ paths: items: $ref: '#/components/schemas/WardDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Wards + - Wards operationId: updateWard requestBody: content: @@ -40,17 +40,17 @@ paths: $ref: '#/components/schemas/WardDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WardDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Wards + - Wards operationId: newWard requestBody: content: @@ -59,26 +59,26 @@ paths: $ref: '#/components/schemas/WardDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WardDTO' security: - - bearerAuth: [] + - bearerAuth: [] /visit/{visitID}: put: tags: - - Visit + - Visit operationId: updateVisit parameters: - - name: visitID - in: path - required: true - schema: - type: integer - format: int32 + - name: visitID + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -86,21 +86,21 @@ paths: $ref: '#/components/schemas/VisitDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VisitDTO' security: - - bearerAuth: [] + - bearerAuth: [] /vaccinetype: get: tags: - - Vaccine Type + - Vaccine Type operationId: getVaccineType responses: - "200": + '200': description: OK content: application/json: @@ -109,10 +109,10 @@ paths: items: $ref: '#/components/schemas/VaccineTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Vaccine Type + - Vaccine Type operationId: updateVaccineType requestBody: content: @@ -121,17 +121,17 @@ paths: $ref: '#/components/schemas/VaccineTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VaccineTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Vaccine Type + - Vaccine Type operationId: newVaccineType requestBody: content: @@ -140,21 +140,21 @@ paths: $ref: '#/components/schemas/VaccineTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VaccineTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /vaccines: get: tags: - - Vaccines + - Vaccines operationId: getVaccines responses: - "200": + '200': description: OK content: application/json: @@ -163,10 +163,10 @@ paths: items: $ref: '#/components/schemas/VaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Vaccines + - Vaccines operationId: updateVaccine requestBody: content: @@ -175,17 +175,17 @@ paths: $ref: '#/components/schemas/VaccineDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Vaccines + - Vaccines operationId: newVaccine requestBody: content: @@ -194,27 +194,27 @@ paths: $ref: '#/components/schemas/VaccineDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] /users: get: tags: - - Users + - Users operationId: getUser parameters: - - name: group_id - in: query - required: false - schema: - type: string + - name: group_id + in: query + required: false + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -223,18 +223,18 @@ paths: items: $ref: '#/components/schemas/UserDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Users + - Users operationId: updateUser parameters: - - name: password - in: query - required: false - schema: - type: boolean - default: false + - name: password + in: query + required: false + schema: + type: boolean + default: false requestBody: content: application/json: @@ -242,17 +242,17 @@ paths: $ref: '#/components/schemas/UserDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Users + - Users operationId: newUser requestBody: content: @@ -261,21 +261,88 @@ paths: $ref: '#/components/schemas/UserDTO' required: true responses: - "200": + '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: [] + - bearerAuth: [] /users/groups: get: tags: - - Users + - Users operationId: getUserGroup responses: - "200": + '200': description: OK content: application/json: @@ -284,10 +351,10 @@ paths: items: $ref: '#/components/schemas/UserGroupDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Users + - Users operationId: updateUserGroup requestBody: content: @@ -296,17 +363,17 @@ paths: $ref: '#/components/schemas/UserGroupDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Users + - Users operationId: newUserGroup requestBody: content: @@ -315,28 +382,28 @@ paths: $ref: '#/components/schemas/UserGroupDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /suppliers: get: tags: - - Suppliers + - Suppliers operationId: getSuppliers parameters: - - name: exclude_deleted - in: query - required: false - schema: - type: boolean - default: true + - name: exclude_deleted + in: query + required: false + schema: + type: boolean + default: true responses: - "200": + '200': description: OK content: application/json: @@ -345,10 +412,10 @@ paths: items: $ref: '#/components/schemas/SupplierDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Suppliers + - Suppliers operationId: updateSupplier requestBody: content: @@ -357,17 +424,17 @@ paths: $ref: '#/components/schemas/SupplierDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SupplierDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Suppliers + - Suppliers operationId: saveSupplier requestBody: content: @@ -376,26 +443,26 @@ paths: $ref: '#/components/schemas/SupplierDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SupplierDTO' security: - - bearerAuth: [] + - bearerAuth: [] /pricesothers/{id}: put: tags: - - others price + - Others Price operationId: updatePricesOthers parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -403,46 +470,46 @@ paths: $ref: '#/components/schemas/PricesOthersDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PricesOthersDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - others price + - Others Price operationId: deletePricesOthers parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /pricelists/{id}: put: tags: - - Price Lists + - Price Lists operationId: updatePriceLists parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -450,45 +517,45 @@ paths: $ref: '#/components/schemas/PriceListDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PriceListDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Price Lists + - Price Lists operationId: deletePriceList parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /pregnanttreatmenttypes/{code}: put: tags: - - Pregnant Treatment Types + - Pregnant Treatment Types operationId: updatePregnantTreatmentTypes parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -496,65 +563,65 @@ paths: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Pregnant Treatment Types + - Pregnant Treatment Types operationId: deletePregnantTreatmentType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /permissions/{id}: get: tags: - - permissions + - Permissions operationId: retrievePermissionById parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - permissions + - Permissions operationId: updatePermission parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -562,46 +629,46 @@ paths: $ref: '#/components/schemas/PermissionDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - permissions + - Permissions operationId: deletePermission parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /patientvaccines/{code}: put: tags: - - Patient Vaccines + - Patient Vaccines operationId: updatePatientVaccinet parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -609,66 +676,66 @@ paths: $ref: '#/components/schemas/PatientVaccineDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientVaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Patient Vaccines + - Patient Vaccines operationId: deletePatientVaccine parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /patients/{code}: get: tags: - - Patients + - Patients operationId: getPatient parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Patients + - Patients operationId: updatePatient parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -676,66 +743,66 @@ paths: $ref: '#/components/schemas/PatientDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Patients + - Patients operationId: deletePatient parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /patientConsensus/{patientId}: get: tags: - - Patient Consensus + - Patient Consensus operationId: getPatientConsensus parameters: - - name: patientId - in: path - required: true - schema: - type: integer - format: int32 + - name: patientId + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientConsensusDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Patient Consensus + - Patient Consensus operationId: updatePatientConsensus parameters: - - name: patientId - in: path - required: true - schema: - type: integer - format: int32 + - name: patientId + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -743,25 +810,25 @@ paths: $ref: '#/components/schemas/PatientConsensusDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientConsensusDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operationtypes/{code}: put: tags: - - Operations Types + - Operations Types operationId: updateOperationTypes parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -769,63 +836,63 @@ paths: $ref: '#/components/schemas/OperationTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Operations Types + - Operations Types operationId: deleteOperationType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /operations/{code}: get: tags: - - Operations + - Operations operationId: getOperationByCode parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Operations + - Operations operationId: updateOperation parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -833,37 +900,37 @@ paths: $ref: '#/components/schemas/OperationDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Operations + - Operations operationId: deleteOperation parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /operations/rows: put: tags: - - Operations + - Operations operationId: updateOperationRow requestBody: content: @@ -872,7 +939,7 @@ paths: $ref: '#/components/schemas/OperationRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -880,10 +947,10 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Operations + - Operations operationId: newOperationRow requestBody: content: @@ -892,26 +959,26 @@ paths: $ref: '#/components/schemas/OperationRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/{code}: put: tags: - - Opds + - Opds operationId: updateOpd parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -919,46 +986,46 @@ paths: $ref: '#/components/schemas/OpdDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OpdDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Opds + - Opds operationId: deleteOpd parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /opds/rows/{code}: put: tags: - - Opds + - Opds operationId: updateOpdWithOperationRow parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -966,21 +1033,21 @@ paths: $ref: '#/components/schemas/OpdWithOperationRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OpdWithOperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medstockmovementtype: get: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: getMedicalDsrStockMovementType responses: - "200": + '200': description: OK content: application/json: @@ -989,10 +1056,10 @@ paths: items: $ref: '#/components/schemas/MovementTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: updateMedicalDsrStockMovementType requestBody: content: @@ -1001,17 +1068,17 @@ paths: $ref: '#/components/schemas/MovementTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MovementTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: newMedicalDsrStockMovementType requestBody: content: @@ -1020,21 +1087,21 @@ paths: $ref: '#/components/schemas/MovementTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MovementTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medicaltypes: get: tags: - - Medical Types + - Medical Types operationId: getMedicalTypes responses: - "200": + '200': description: OK content: application/json: @@ -1043,10 +1110,10 @@ paths: items: $ref: '#/components/schemas/MedicalTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Medical Types + - Medical Types operationId: updateMedicalType requestBody: content: @@ -1055,17 +1122,17 @@ paths: $ref: '#/components/schemas/MedicalTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MedicalTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Medical Types + - Medical Types operationId: createMedicalType requestBody: content: @@ -1074,31 +1141,31 @@ paths: $ref: '#/components/schemas/MedicalTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MedicalTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medicals: get: tags: - - Medicals + - Medicals operationId: getMedicals parameters: - - name: sort_by - in: query - required: false - schema: - type: string - enum: - - NONE - - CODE - - NAME + - name: sort_by + in: query + required: false + schema: + type: string + enum: + - NONE + - CODE + - NAME responses: - "200": + '200': description: OK content: application/json: @@ -1107,18 +1174,18 @@ paths: items: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Medicals + - Medicals operationId: updateMedical parameters: - - name: ignore_similar - in: query - required: false - schema: - type: boolean - default: false + - name: ignore_similar + in: query + required: false + schema: + type: boolean + default: false requestBody: content: application/json: @@ -1126,25 +1193,25 @@ paths: $ref: '#/components/schemas/MedicalDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Medicals + - Medicals operationId: newMedical parameters: - - name: ignore_similar - in: query - required: false - schema: - type: boolean - default: false + - name: ignore_similar + in: query + required: false + schema: + type: boolean + default: false requestBody: content: application/json: @@ -1152,18 +1219,18 @@ paths: $ref: '#/components/schemas/MedicalDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] /malnutritions: put: tags: - - Malnutritions + - Malnutritions operationId: updateMalnutrition requestBody: content: @@ -1172,17 +1239,17 @@ paths: $ref: '#/components/schemas/MalnutritionDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MalnutritionDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Malnutritions + - Malnutritions operationId: newMalnutrition requestBody: content: @@ -1191,66 +1258,66 @@ paths: $ref: '#/components/schemas/MalnutritionDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MalnutritionDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Malnutritions + - Malnutritions operationId: deleteMalnutrition parameters: - - name: code - in: query - required: true - schema: - type: integer - format: int32 + - name: code + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/{code}: get: tags: - - Laboratories + - Laboratories operationId: getExamById parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LaboratoryDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Laboratories + - Laboratories operationId: updateLaboratory parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -1258,91 +1325,91 @@ paths: $ref: '#/components/schemas/LabWithRowsDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Laboratories + - Laboratories operationId: deleteExam parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/examRequest/{code}: put: tags: - - Laboratories + - Laboratories operationId: updateExamRequest parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 - - name: status - in: query - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: integer + format: int32 + - name: status + in: query + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Laboratories + - Laboratories operationId: deleteExamRequest parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /hospitals/{code}: put: tags: - - Hospitals + - Hospitals operationId: updateHospital parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -1350,25 +1417,25 @@ paths: $ref: '#/components/schemas/HospitalDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/HospitalDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examtypes/{code}: put: tags: - - Exam Types + - Exam Types operationId: updateExamType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -1376,44 +1443,44 @@ paths: $ref: '#/components/schemas/ExamTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExamTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Exam Types + - Exam Types operationId: deleteExamType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /exams/{code}: put: tags: - - Exams + - Exams operationId: updateExams parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -1421,65 +1488,65 @@ paths: $ref: '#/components/schemas/ExamDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExamDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Exams + - Exams operationId: deleteExam_1 parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /examinations/{id}: get: tags: - - Examinations + - Examinations operationId: getByID parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Examinations + - Examinations operationId: updateExamination parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -1487,21 +1554,21 @@ paths: $ref: '#/components/schemas/PatientExaminationDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /diseasetypes: get: tags: - - Disease Types + - Disease Types operationId: getAllDiseaseTypes responses: - "200": + '200': description: OK content: application/json: @@ -1510,10 +1577,10 @@ paths: items: $ref: '#/components/schemas/DiseaseTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Disease Types + - Disease Types operationId: updateDiseaseType requestBody: content: @@ -1522,17 +1589,17 @@ paths: $ref: '#/components/schemas/DiseaseTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DiseaseTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Disease Types + - Disease Types operationId: newDiseaseType requestBody: content: @@ -1541,18 +1608,18 @@ paths: $ref: '#/components/schemas/DiseaseTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DiseaseTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases: put: tags: - - Diseases + - Diseases operationId: updateDisease requestBody: content: @@ -1561,17 +1628,17 @@ paths: $ref: '#/components/schemas/DiseaseDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Diseases + - Diseases operationId: newDisease requestBody: content: @@ -1580,21 +1647,21 @@ paths: $ref: '#/components/schemas/DiseaseDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /dischargetypes: get: tags: - - DischargeType + - DischargeType operationId: getDischargeTypes responses: - "200": + '200': description: OK content: application/json: @@ -1603,10 +1670,10 @@ paths: items: $ref: '#/components/schemas/DischargeTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - DischargeType + - DischargeType operationId: updateDischargeTypet requestBody: content: @@ -1615,17 +1682,17 @@ paths: $ref: '#/components/schemas/DischargeTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DischargeTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - DischargeType + - DischargeType operationId: newDischargeType requestBody: content: @@ -1634,21 +1701,21 @@ paths: $ref: '#/components/schemas/DischargeTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DischargeTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /deliverytypes: get: tags: - - Delivery Type + - Delivery Type operationId: getDeliveryTypes responses: - "200": + '200': description: OK content: application/json: @@ -1657,10 +1724,10 @@ paths: items: $ref: '#/components/schemas/DeliveryTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Delivery Type + - Delivery Type operationId: updateDeliveryTypes requestBody: content: @@ -1669,17 +1736,17 @@ paths: $ref: '#/components/schemas/DeliveryTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeliveryTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Delivery Type + - Delivery Type operationId: newDeliveryType requestBody: content: @@ -1688,21 +1755,21 @@ paths: $ref: '#/components/schemas/DeliveryTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeliveryTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /deliveryresulttypes: get: tags: - - Delivery Result Type + - Delivery Result Type operationId: getDeliveryResultTypes responses: - "200": + '200': description: OK content: application/json: @@ -1711,10 +1778,10 @@ paths: items: $ref: '#/components/schemas/DeliveryResultTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Delivery Result Type + - Delivery Result Type operationId: updateDeliveryResultTypes requestBody: content: @@ -1723,17 +1790,17 @@ paths: $ref: '#/components/schemas/DeliveryResultTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeliveryResultTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Delivery Result Type + - Delivery Result Type operationId: newDeliveryResultType requestBody: content: @@ -1742,46 +1809,46 @@ paths: $ref: '#/components/schemas/DeliveryResultTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeliveryResultTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/{id}: get: tags: - - Bills + - Bills operationId: getBill parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - Bills + - Bills operationId: updateBill parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -1789,41 +1856,41 @@ paths: $ref: '#/components/schemas/FullBillDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FullBillDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Bills + - Bills operationId: deleteBill parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /agetypes: get: tags: - - AgeTypes + - AgeTypes operationId: getAllAgeTypes responses: - "200": + '200': description: OK content: application/json: @@ -1832,10 +1899,10 @@ paths: items: $ref: '#/components/schemas/AgeTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - AgeTypes + - AgeTypes operationId: updateAgeType requestBody: content: @@ -1844,21 +1911,21 @@ paths: $ref: '#/components/schemas/AgeTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgeTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /admissiontypes: get: tags: - - AdmissionTypes + - AdmissionTypes operationId: getAdmissionTypes responses: - "200": + '200': description: OK content: application/json: @@ -1867,10 +1934,10 @@ paths: items: $ref: '#/components/schemas/AdmissionTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] put: tags: - - AdmissionTypes + - AdmissionTypes operationId: updateAdmissionTypes requestBody: content: @@ -1879,17 +1946,17 @@ paths: $ref: '#/components/schemas/AdmissionTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdmissionTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - AdmissionTypes + - AdmissionTypes operationId: newAdmissionType requestBody: content: @@ -1898,61 +1965,61 @@ paths: $ref: '#/components/schemas/AdmissionTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdmissionTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /admissions: get: tags: - - Admissions + - 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": + - 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: [] + - bearerAuth: [] put: tags: - - Admissions + - Admissions operationId: updateAdmissions requestBody: content: @@ -1961,19 +2028,19 @@ paths: $ref: '#/components/schemas/AdmissionDTO' required: true responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdmissionDTO' + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Admissions + - Admissions operationId: newAdmissions requestBody: content: @@ -1982,20 +2049,20 @@ paths: $ref: '#/components/schemas/AdmissionDTO' required: true responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdmissionDTO' + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /visits: post: tags: - - Visit + - Visit operationId: newVisits requestBody: content: @@ -2006,18 +2073,18 @@ paths: $ref: '#/components/schemas/VisitDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /visit: post: tags: - - Visit + - Visit operationId: newVisit requestBody: content: @@ -2026,85 +2093,53 @@ paths: $ref: '#/components/schemas/VisitDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VisitDTO' security: - - bearerAuth: [] - /usersettings: - post: + - bearerAuth: [] + /users/settings: + get: tags: - - User Settings - operationId: newUserSetting - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserSettingDTO' - required: true + - Users + operationId: getUserSettings responses: - "200": + '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/UserSettingDTO' + type: array + items: + $ref: '#/components/schemas/UserSettingDTO' security: - - bearerAuth: [] - /users/groups/{group_code}: + - bearerAuth: [] post: tags: - - Users - operationId: setGroupMenu - parameters: - - name: group_code - in: path - required: true - schema: - type: string + - Users + operationId: newUserSettings 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 + $ref: '#/components/schemas/UserSettingDTO' required: true - schema: - type: string responses: - "200": + '200': description: OK content: application/json: schema: - type: boolean + $ref: '#/components/schemas/UserSettingDTO' security: - - bearerAuth: [] + - bearerAuth: [] /therapies: post: tags: - - Therapies + - Therapies operationId: newTherapy requestBody: content: @@ -2113,18 +2148,18 @@ paths: $ref: '#/components/schemas/TherapyRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TherapyRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /therapies/replace: post: tags: - - Therapies + - Therapies operationId: replaceTherapies requestBody: content: @@ -2135,18 +2170,18 @@ paths: $ref: '#/components/schemas/TherapyRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TherapyRow' security: - - bearerAuth: [] + - bearerAuth: [] /therapies/meds-out-of-stock: post: tags: - - Therapies + - Therapies operationId: getMedicalsOutOfStock requestBody: content: @@ -2157,7 +2192,7 @@ paths: $ref: '#/components/schemas/TherapyDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -2166,11 +2201,11 @@ paths: items: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] /therapies/from-rows: post: tags: - - Therapies + - Therapies operationId: getTherapies requestBody: content: @@ -2181,7 +2216,7 @@ paths: $ref: '#/components/schemas/TherapyRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -2190,11 +2225,11 @@ paths: items: $ref: '#/components/schemas/TherapyDTO' security: - - bearerAuth: [] + - bearerAuth: [] /therapies/from-row: post: tags: - - Therapies + - Therapies operationId: getTherapy requestBody: content: @@ -2203,25 +2238,25 @@ paths: $ref: '#/components/schemas/TherapyRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TherapyDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/discharge: post: tags: - - Stock Movements + - Stock Movements operationId: newMultipleDischargingMovements parameters: - - name: ref - in: query - required: true - schema: - type: string + - name: ref + in: query + required: true + schema: + type: string requestBody: content: application/json: @@ -2231,25 +2266,25 @@ paths: $ref: '#/components/schemas/MovementDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/charge: post: tags: - - Stock Movements + - Stock Movements operationId: newMultipleChargingMovements parameters: - - name: ref - in: query - required: true - schema: - type: string + - name: ref + in: query + required: true + schema: + type: string requestBody: content: application/json: @@ -2259,32 +2294,32 @@ paths: $ref: '#/components/schemas/MovementDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /sms: get: tags: - - SMS + - SMS operationId: getAll parameters: - - name: dateFrom - in: query - required: true - schema: - type: string - - name: dateTo - in: query - required: true - schema: - type: string + - name: dateFrom + in: query + required: true + schema: + type: string + - name: dateTo + in: query + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -2293,18 +2328,18 @@ paths: items: $ref: '#/components/schemas/SmsDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - SMS + - SMS operationId: saveSms parameters: - - name: split - in: query - required: false - schema: - type: boolean - default: false + - name: split + in: query + required: false + schema: + type: boolean + default: false requestBody: content: application/json: @@ -2312,18 +2347,18 @@ paths: $ref: '#/components/schemas/SmsDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /sms/delete: post: tags: - - SMS + - SMS operationId: deleteSms requestBody: content: @@ -2334,21 +2369,21 @@ paths: $ref: '#/components/schemas/SmsDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /pricesothers: get: tags: - - others price + - Others Price operationId: getPricesOthers responses: - "200": + '200': description: OK content: application/json: @@ -2357,10 +2392,10 @@ paths: items: $ref: '#/components/schemas/PricesOthersDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - others price + - Others Price operationId: newPricesOthers requestBody: content: @@ -2369,21 +2404,21 @@ paths: $ref: '#/components/schemas/PricesOthersDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PricesOthersDTO' security: - - bearerAuth: [] + - bearerAuth: [] /pricelists: get: tags: - - Price Lists + - Price Lists operationId: getPriceLists responses: - "200": + '200': description: OK content: application/json: @@ -2392,10 +2427,10 @@ paths: items: $ref: '#/components/schemas/PriceListDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Price Lists + - Price Lists operationId: newPriceList requestBody: content: @@ -2404,21 +2439,21 @@ paths: $ref: '#/components/schemas/PriceListDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PriceListDTO' security: - - bearerAuth: [] + - bearerAuth: [] /pregnanttreatmenttypes: get: tags: - - Pregnant Treatment Types + - Pregnant Treatment Types operationId: getPregnantTreatmentTypes responses: - "200": + '200': description: OK content: application/json: @@ -2427,10 +2462,10 @@ paths: items: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Pregnant Treatment Types + - Pregnant Treatment Types operationId: newPregnantTreatmentType requestBody: content: @@ -2439,21 +2474,21 @@ paths: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /permissions: get: tags: - - permissions + - Permissions operationId: retrieveAllPermissions responses: - "200": + '200': description: OK content: application/json: @@ -2462,10 +2497,10 @@ paths: items: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - permissions + - Permissions operationId: insertPermission requestBody: content: @@ -2474,18 +2509,18 @@ paths: $ref: '#/components/schemas/PermissionDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patientvaccines: post: tags: - - Patient Vaccines + - Patient Vaccines operationId: newPatientVaccine requestBody: content: @@ -2494,46 +2529,46 @@ paths: $ref: '#/components/schemas/PatientVaccineDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientVaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patients: get: tags: - - Patients + - 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 + - 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": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PagePatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Patients + - Patients operationId: newPatient requestBody: content: @@ -2542,21 +2577,21 @@ paths: $ref: '#/components/schemas/PatientDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operationtypes: get: tags: - - Operations Types + - Operations Types operationId: getOperationTypes responses: - "200": + '200': description: OK content: application/json: @@ -2565,10 +2600,10 @@ paths: items: $ref: '#/components/schemas/OperationTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Operations Types + - Operations Types operationId: newOperationType requestBody: content: @@ -2577,21 +2612,21 @@ paths: $ref: '#/components/schemas/OperationTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operations: get: tags: - - Operations + - Operations operationId: getOperations responses: - "200": + '200': description: OK content: application/json: @@ -2600,10 +2635,10 @@ paths: items: $ref: '#/components/schemas/OperationDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Operations + - Operations operationId: newOperation requestBody: content: @@ -2612,18 +2647,18 @@ paths: $ref: '#/components/schemas/OperationDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operations/rows/search/opd: post: tags: - - Operations + - Operations operationId: getOperationRowsByOpd requestBody: content: @@ -2632,7 +2667,7 @@ paths: $ref: '#/components/schemas/OpdDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -2641,11 +2676,11 @@ paths: items: $ref: '#/components/schemas/OperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds: post: tags: - - Opds + - Opds operationId: newOpd requestBody: content: @@ -2654,18 +2689,18 @@ paths: $ref: '#/components/schemas/OpdDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OpdDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/rows: post: tags: - - Opds + - Opds operationId: newOpdWithOperationRow requestBody: content: @@ -2674,18 +2709,18 @@ paths: $ref: '#/components/schemas/OpdWithOperationRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OpdWithOperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medicalstockward/movements: post: tags: - - Medical Stock Ward + - Medical Stock Ward operationId: newMovementWard requestBody: content: @@ -2694,49 +2729,49 @@ paths: $ref: '#/components/schemas/MovementWardDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /laboratories: get: tags: - - Laboratories + - 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 + - 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": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageLabWithRowsDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Laboratories + - Laboratories operationId: newLaboratory requestBody: content: @@ -2745,18 +2780,18 @@ paths: $ref: '#/components/schemas/LabWithRowsDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/insertList: post: tags: - - Laboratories + - Laboratories operationId: newLaboratory2 requestBody: content: @@ -2767,21 +2802,21 @@ paths: $ref: '#/components/schemas/LabWithRowsDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/examRequest: get: tags: - - Laboratories + - Laboratories operationId: getLaboratoryExamRequest responses: - "200": + '200': description: OK content: application/json: @@ -2790,10 +2825,10 @@ paths: items: $ref: '#/components/schemas/LaboratoryDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Laboratories + - Laboratories operationId: newExamRequest requestBody: content: @@ -2802,21 +2837,21 @@ paths: $ref: '#/components/schemas/LaboratoryDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /examtypes: get: tags: - - Exam Types + - Exam Types operationId: getExamTypes responses: - "200": + '200': description: OK content: application/json: @@ -2825,10 +2860,10 @@ paths: items: $ref: '#/components/schemas/ExamTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Exam Types + - Exam Types operationId: newExamType requestBody: content: @@ -2837,21 +2872,21 @@ paths: $ref: '#/components/schemas/ExamTypeDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExamTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] /exams: get: tags: - - Exams + - Exams operationId: getExams responses: - "200": + '200': description: OK content: application/json: @@ -2860,10 +2895,10 @@ paths: items: $ref: '#/components/schemas/ExamDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Exams + - Exams operationId: newExam requestBody: content: @@ -2872,21 +2907,21 @@ paths: $ref: '#/components/schemas/ExamDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExamDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examrows: get: tags: - - Exam Rows + - Exam Rows operationId: getExamRows responses: - "200": + '200': description: OK content: application/json: @@ -2895,10 +2930,10 @@ paths: items: $ref: '#/components/schemas/ExamRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Exam Rows + - Exam Rows operationId: newExamRow requestBody: content: @@ -2907,18 +2942,18 @@ paths: $ref: '#/components/schemas/ExamRowDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ExamRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations: post: tags: - - Examinations + - Examinations operationId: newPatientExamination requestBody: content: @@ -2927,38 +2962,38 @@ paths: $ref: '#/components/schemas/PatientExaminationDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /bills: get: tags: - - Bills + - 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 + - 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": + '200': description: OK content: application/json: @@ -2967,10 +3002,10 @@ paths: items: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] post: tags: - - Bills + - Bills operationId: newBill requestBody: content: @@ -2979,18 +3014,18 @@ paths: $ref: '#/components/schemas/FullBillDTO' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FullBillDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/search/by/payments: post: tags: - - Bills + - Bills operationId: searchBillsByPayments requestBody: content: @@ -3001,7 +3036,7 @@ paths: $ref: '#/components/schemas/BillPaymentsDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -3010,23 +3045,23 @@ paths: items: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/search/by/item: post: tags: - - Bills + - Bills operationId: searchBills parameters: - - name: datefrom - in: query - required: true - schema: - type: string - - name: dateto - in: query - required: true - schema: - type: string + - name: datefrom + in: query + required: true + schema: + type: string + - name: dateto + in: query + required: true + schema: + type: string requestBody: content: application/json: @@ -3034,7 +3069,7 @@ paths: $ref: '#/components/schemas/BillItemsDTO' required: true responses: - "200": + '200': description: OK content: application/json: @@ -3043,20 +3078,20 @@ paths: items: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] /auth/logout: post: tags: - - Login + - Login description: Logout the current user. operationId: logout responses: - "200": + '200': description: OK /auth/login: post: tags: - - Login + - Login operationId: authenticateUser requestBody: content: @@ -3065,26 +3100,26 @@ paths: $ref: '#/components/schemas/LoginRequest' required: true responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoginResponse' security: - - bearerAuth: [] + - bearerAuth: [] /admissions/discharge: post: tags: - - Admissions + - Admissions operationId: dischargePatient parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -3092,23 +3127,23 @@ paths: $ref: '#/components/schemas/AdmissionDTO' required: true responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: type: boolean + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /wardsNoMaternity: get: tags: - - Wards + - Wards operationId: getWardsNoMaternity responses: - "200": + '200': description: OK content: application/json: @@ -3117,20 +3152,20 @@ paths: items: $ref: '#/components/schemas/WardDTO' security: - - bearerAuth: [] + - bearerAuth: [] /wards/occupation/{code}: get: tags: - - Wards + - Wards operationId: getCurrentOccupation parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -3138,61 +3173,61 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] /wards/check/{code}: get: tags: - - Wards + - Wards operationId: checkWardCode parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /wards/check/maternity/{createIfNotExist}: get: tags: - - Wards + - Wards operationId: checkWardMaternityCode parameters: - - name: createIfNotExist - in: path - required: true - schema: - type: boolean + - name: createIfNotExist + in: path + required: true + schema: + type: boolean responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /visit/patient/{patID}: get: tags: - - Visit + - Visit operationId: getVisit parameters: - - name: patID - in: path - required: true - schema: - type: integer - format: int32 + - name: patID + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -3201,40 +3236,40 @@ paths: items: $ref: '#/components/schemas/VisitDTO' security: - - bearerAuth: [] + - bearerAuth: [] /vaccinetype/check/{code}: get: tags: - - Vaccine Type + - Vaccine Type operationId: checkVaccineTypeCode parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /vaccines/type-code/{vaccineTypeCode}: get: tags: - - Vaccines + - Vaccines operationId: getVaccinesByVaccineTypeCode parameters: - - name: vaccineTypeCode - in: path - required: true - schema: - type: string + - name: vaccineTypeCode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -3243,109 +3278,98 @@ paths: items: $ref: '#/components/schemas/VaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] /vaccines/check/{code}: get: tags: - - Vaccines + - Vaccines operationId: checkVaccineCode parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '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: [] + - bearerAuth: [] /users/{username}: get: tags: - - Users + - Users operationId: getUserByName parameters: - - name: username - in: path - required: true - schema: - type: string + - name: username + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Users + - Users operationId: deleteUser parameters: - - name: username - in: path - required: true - schema: - type: string + - name: username + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] - /users/permissions: + - bearerAuth: [] + /users/{userName}/settings/{configName}: get: tags: - - Users - operationId: retrievePermissionsByCurrentLoggedInUser + - Users + operationId: getUserSettingByUser + parameters: + - name: userName + in: path + required: true + schema: + type: string + - name: configName + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/LitePermissionDTO' + $ref: '#/components/schemas/UserSettingDTO' security: - - bearerAuth: [] - /users/permissions/username/{username}: + - bearerAuth: [] + /users/permissions: get: tags: - - Users - operationId: retrievePermissionsByUsername - parameters: - - name: username - in: path - required: true - schema: - type: string + - Users + operationId: retrievePermissionsByCurrentLoggedInUser responses: - "200": + '200': description: OK content: application/json: @@ -3354,79 +3378,57 @@ paths: items: $ref: '#/components/schemas/LitePermissionDTO' security: - - bearerAuth: [] - /users/menus/{username}: + - bearerAuth: [] + /users/permissions/username/{username}: get: tags: - - Users - operationId: getMenu + - Users + operationId: retrievePermissionsByUsername parameters: - - name: username - in: path - required: true - schema: - type: string + - name: username + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: array items: - $ref: '#/components/schemas/UserMenuItemDTO' + $ref: '#/components/schemas/LitePermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /users/me: get: tags: - - Users + - Users operationId: retrieveProfileByCurrentLoggedInUser responses: - "200": + '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: [] + - bearerAuth: [] /therapies/{code_patient}: get: tags: - - Therapies + - Therapies operationId: getTherapyRows parameters: - - name: code_patient - in: path - required: true - schema: - type: integer - format: int32 + - name: code_patient + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -3435,55 +3437,55 @@ paths: items: $ref: '#/components/schemas/TherapyRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Therapies + - Therapies operationId: deleteAllTherapies parameters: - - name: code_patient - in: path - required: true - schema: - type: integer - format: int32 + - name: code_patient + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /suppliers/{id}: get: tags: - - Suppliers + - Suppliers operationId: getSuppliers_1 parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SupplierDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements: get: tags: - - Stock Movements + - Stock Movements operationId: getMovements responses: - "200": + '200': description: OK content: application/json: @@ -3492,20 +3494,20 @@ paths: items: $ref: '#/components/schemas/MovementDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/{ref}: get: tags: - - Stock Movements + - Stock Movements operationId: getMovements_1 parameters: - - name: ref - in: path - required: true - schema: - type: string + - name: ref + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -3514,21 +3516,21 @@ paths: items: $ref: '#/components/schemas/MovementDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/lot/{med_code}: get: tags: - - Stock Movements + - Stock Movements operationId: getLotByMedical parameters: - - name: med_code - in: path - required: true - schema: - type: integer - format: int32 + - name: med_code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -3537,72 +3539,72 @@ paths: items: $ref: '#/components/schemas/LotDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/filter/v2: get: tags: - - Stock Movements + - 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 + - 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": + '200': description: OK content: application/json: @@ -3611,32 +3613,32 @@ paths: items: $ref: '#/components/schemas/MovementDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/filter/v1: get: tags: - - Stock Movements + - 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 + - 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": + '200': description: OK content: application/json: @@ -3645,41 +3647,41 @@ paths: items: $ref: '#/components/schemas/MovementDTO' security: - - bearerAuth: [] + - bearerAuth: [] /stockmovements/critical/check: get: tags: - - Stock Movements + - 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 + - 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": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /reports/exams-list: get: tags: - - Reports + - Reports operationId: printExamsListPdf responses: - "200": + '200': description: OK content: application/json: @@ -3689,14 +3691,14 @@ paths: type: string format: byte security: - - bearerAuth: [] + - bearerAuth: [] /reports/diseases-list: get: tags: - - Reports + - Reports operationId: printDiseasesListPdf responses: - "200": + '200': description: OK content: application/json: @@ -3706,14 +3708,14 @@ paths: type: string format: byte security: - - bearerAuth: [] + - bearerAuth: [] /pricelists/prices: get: tags: - - Price Lists + - Price Lists operationId: getPrices responses: - "200": + '200': description: OK content: application/json: @@ -3722,74 +3724,74 @@ paths: items: $ref: '#/components/schemas/PriceDTO' security: - - bearerAuth: [] + - bearerAuth: [] /pricelists/duplicate/{id}: get: tags: - - Price Lists + - Price Lists operationId: copyList parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 + - name: id + in: path + required: true + schema: + type: integer + format: int64 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /pricelists/duplicate/byfactor/{id}: get: tags: - - Price Lists + - 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 + - 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": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /permissions/userGroupCode/{userGroupCode}: get: tags: - - permissions + - Permissions operationId: retrievePermissionsByUserGroupcode parameters: - - name: userGroupCode - in: path - required: true - schema: - type: string + - name: userGroupCode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -3798,40 +3800,40 @@ paths: items: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /permissions/name/{name}: get: tags: - - permissions + - Permissions operationId: retrievePermissionByName parameters: - - name: name - in: path - required: true - schema: - type: string + - name: name + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PermissionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patientvaccines/week: get: tags: - - Patient Vaccines + - Patient Vaccines operationId: getPatientVaccines parameters: - - name: oneWeek - in: query - required: false - schema: - type: boolean + - name: oneWeek + in: query + required: false + schema: + type: boolean responses: - "200": + '200': description: OK content: application/json: @@ -3840,21 +3842,21 @@ paths: items: $ref: '#/components/schemas/PatientVaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patientvaccines/progyear/{year}: get: tags: - - Patient Vaccines + - Patient Vaccines operationId: getProgYear parameters: - - name: year - in: path - required: true - schema: - type: integer - format: int32 + - name: year + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -3862,54 +3864,54 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] /patientvaccines/filter: get: tags: - - Patient Vaccines + - 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 + - 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": + '200': description: OK content: application/json: @@ -3918,39 +3920,39 @@ paths: items: $ref: '#/components/schemas/PatientVaccineDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patients/search: get: tags: - - Patients + - 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: "" + - 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": + '200': description: OK content: application/json: @@ -3959,14 +3961,14 @@ paths: items: $ref: '#/components/schemas/PatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] /patients/nextcode: get: tags: - - Patients + - Patients operationId: getPatientNextCode responses: - "200": + '200': description: OK content: application/json: @@ -3974,41 +3976,41 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] /patients/merge: get: tags: - - Patients + - 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 + - name: mergedcode + in: query + required: true + schema: + type: integer + format: int32 + - name: code2 + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /patients/cities: get: tags: - - Patients + - Patients operationId: getPatientCities responses: - "200": + '200': description: OK content: application/json: @@ -4017,41 +4019,41 @@ paths: items: type: string security: - - bearerAuth: [] + - bearerAuth: [] /patients/all: get: tags: - - Patients + - Patients operationId: getPatientAll parameters: - - name: code - in: query - required: true - schema: - type: integer - format: int32 + - name: code + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operations/search/type: get: tags: - - Operations + - Operations operationId: getOperationByTypeDescription parameters: - - name: typeDescription - in: query - required: true - schema: - type: string + - name: typeDescription + in: query + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4060,21 +4062,21 @@ paths: items: $ref: '#/components/schemas/OperationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operations/rows/search/patient: get: tags: - - Operations + - Operations operationId: getOperationRowsByPatient parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4083,21 +4085,21 @@ paths: items: $ref: '#/components/schemas/OperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /operations/rows/search/admission: get: tags: - - Operations + - Operations operationId: getOperationRowsByAdmt parameters: - - name: admissionId - in: query - required: true - schema: - type: integer - format: int32 + - name: admissionId + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4106,20 +4108,20 @@ paths: items: $ref: '#/components/schemas/OperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/weekly: get: tags: - - Opds + - Opds operationId: getOpdToDayOrWeek parameters: - - name: oneWeek - in: query - required: false - schema: - type: boolean + - name: oneWeek + in: query + required: false + schema: + type: boolean responses: - "200": + '200': description: OK content: application/json: @@ -4128,114 +4130,114 @@ paths: items: $ref: '#/components/schemas/OpdDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/search: get: tags: - - Opds + - 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 + - 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": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageOpdDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/patient/{pcode}: get: tags: - - Opds + - Opds operationId: getOpdByPatient parameters: - - name: pcode - in: path - required: true - schema: - type: integer - format: int32 + - name: pcode + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4244,69 +4246,69 @@ paths: items: $ref: '#/components/schemas/OpdWithOperationRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/last/{patientCode}: get: tags: - - Opds + - Opds operationId: getLastOpd parameters: - - name: patientCode - in: path - required: true - schema: - type: integer - format: int32 + - name: patientCode + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OpdDTO' security: - - bearerAuth: [] + - bearerAuth: [] /opds/check/progyear: get: tags: - - Opds + - 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 + - name: opdNum + in: query + required: true + schema: + type: integer + format: int32 + - name: year + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /opds/ProgYear/{year}: get: tags: - - Opds + - Opds operationId: getProgYear_1 parameters: - - name: year - in: path - required: true - schema: - type: integer - format: int32 + - name: year + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4314,99 +4316,99 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] /medstockmovementtype/{code}: get: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: getMovementType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MovementTypeDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: deleteMedicalDsrStockMovementType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /medstockmovementtype/check/{code}: get: tags: - - Medical Stock Movement Type + - Medical Stock Movement Type operationId: isCodeUsed parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /medicaltypes/check/{code}: get: tags: - - Medical Types + - Medical Types operationId: isCodeUsed_1 parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /medicalstockward/{ward_code}: get: tags: - - Medical Stock Ward + - Medical Stock Ward operationId: getMedicalsWard parameters: - - name: ward_code - in: path - required: true - schema: - type: string + - name: ward_code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4415,32 +4417,32 @@ paths: items: $ref: '#/components/schemas/MedicalWardDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medicalstockward/movements/{ward_code}: get: tags: - - Medical Stock Ward + - 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 + - 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": + '200': description: OK content: application/json: @@ -4449,32 +4451,32 @@ paths: items: $ref: '#/components/schemas/MovementWardDTO' security: - - bearerAuth: [] + - bearerAuth: [] /medicalstockward/movements/to/{target_ward_code}: get: tags: - - Medical Stock Ward + - 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 + - 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": + '200': description: OK content: application/json: @@ -4483,26 +4485,26 @@ paths: items: $ref: '#/components/schemas/MovementWardDTO' security: - - bearerAuth: [] + - 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 + - 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": + '200': description: OK content: application/json: @@ -4510,78 +4512,78 @@ paths: type: integer format: int32 security: - - bearerAuth: [] + - bearerAuth: [] /medicals/{code}: get: tags: - - Medicals + - Medicals operationId: getMedical parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Medicals + - Medicals operationId: deleteMedical parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /medicals/filter: get: tags: - - Medicals + - 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 + - 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": + '200': description: OK content: application/json: @@ -4590,20 +4592,20 @@ paths: items: $ref: '#/components/schemas/MedicalDTO' security: - - bearerAuth: [] + - bearerAuth: [] /malnutritions/{id_admission}: get: tags: - - Malnutritions + - Malnutritions operationId: getMalnutrition parameters: - - name: id_admission - in: path - required: true - schema: - type: string + - name: id_admission + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4612,35 +4614,35 @@ paths: items: $ref: '#/components/schemas/MalnutritionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /malnutritions/last/{id_patient}: get: tags: - - Malnutritions + - Malnutritions operationId: getLastMalnutrition parameters: - - name: id_patient - in: path - required: true - schema: - type: integer - format: int32 + - name: id_patient + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MalnutritionDTO' security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/materials: get: tags: - - Laboratories + - Laboratories operationId: getMaterials responses: - "200": + '200': description: OK content: application/json: @@ -4649,106 +4651,106 @@ paths: items: type: string security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/exams: get: tags: - - Laboratories + - 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": + - 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: [] + - bearerAuth: [] /laboratories/exams/{code}: get: tags: - - Laboratories + - Laboratories operationId: getExamWithRowsById parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LabWithRowsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/examRequest/patient/{patId}: get: tags: - - Laboratories + - Laboratories operationId: getLaboratoryExamRequest_1 parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 + - name: patId + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4757,21 +4759,21 @@ paths: items: $ref: '#/components/schemas/LaboratoryDTO' security: - - bearerAuth: [] + - bearerAuth: [] /laboratories/byPatientId/{patId}: get: tags: - - Laboratories + - Laboratories operationId: getLaboratory_1 parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 + - name: patId + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4780,48 +4782,48 @@ paths: items: $ref: '#/components/schemas/LabWithRowsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /hospitals: get: tags: - - Hospitals + - Hospitals operationId: getHospital responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/HospitalDTO' security: - - bearerAuth: [] + - bearerAuth: [] /hospitals/currencyCode: get: tags: - - Hospitals + - Hospitals operationId: getHospitalCurrencyCode responses: - "200": + '200': description: OK content: application/json: schema: type: string security: - - bearerAuth: [] + - bearerAuth: [] /exams/description/{description}: get: tags: - - Exams + - Exams operationId: getExams_1 parameters: - - name: description - in: path - required: true - schema: - type: string + - name: description + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4830,21 +4832,21 @@ paths: items: $ref: '#/components/schemas/ExamDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examrows/{code}: get: tags: - - Exam Rows + - Exam Rows operationId: getExamRowsByCode parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -4853,46 +4855,46 @@ paths: items: $ref: '#/components/schemas/ExamRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Exam Rows + - Exam Rows operationId: deleteExam_2 parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /examrows/search: get: tags: - - Exam Rows + - 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 + - name: code + in: query + required: true + schema: + type: integer + format: int32 + - name: description + in: query + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4901,20 +4903,20 @@ paths: items: $ref: '#/components/schemas/ExamRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examrows/byExamCode/{examCode}: get: tags: - - Exam Rows + - Exam Rows operationId: getExamRowsByExamCode parameters: - - name: examCode - in: path - required: true - schema: - type: string + - name: examCode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -4923,111 +4925,111 @@ paths: items: $ref: '#/components/schemas/ExamRowDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations/lastNByPatId: get: tags: - - Examinations + - 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 + - name: limit + in: query + required: true + schema: + type: integer + format: int32 + - name: patId + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PagePatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations/lastByPatientId/{patId}: get: tags: - - Examinations + - Examinations operationId: getLastByPatientId parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 + - name: patId + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations/fromLastPatientExamination/{id}: get: tags: - - Examinations + - Examinations operationId: getFromLastPatientExamination parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations/defaultPatientExamination: get: tags: - - Examinations + - Examinations operationId: getDefaultPatientExamination parameters: - - name: patId - in: query - required: true - schema: - type: integer - format: int32 + - name: patId + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /examinations/byPatientId/{patId}: get: tags: - - Examinations + - Examinations operationId: getByPatientId parameters: - - name: patId - in: path - required: true - schema: - type: integer - format: int32 + - name: patId + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5036,39 +5038,39 @@ paths: items: $ref: '#/components/schemas/PatientExaminationDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/{code}: get: tags: - - Diseases + - Diseases operationId: getDiseaseByCode parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] delete: tags: - - Diseases + - Diseases operationId: deleteDisease parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5077,14 +5079,14 @@ paths: additionalProperties: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /diseases/opd: get: tags: - - Diseases + - Diseases operationId: getDiseasesOpd responses: - "200": + '200': description: OK content: application/json: @@ -5093,20 +5095,20 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/opd/{typecode}: get: tags: - - Diseases + - Diseases operationId: getDiseasesOpdByCode parameters: - - name: typecode - in: path - required: true - schema: - type: string + - name: typecode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5115,14 +5117,14 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/ipd/out: get: tags: - - Diseases + - Diseases operationId: getDiseasesIpdOut responses: - "200": + '200': description: OK content: application/json: @@ -5131,20 +5133,20 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/ipd/out/{typecode}: get: tags: - - Diseases + - Diseases operationId: getDiseasesIpdOutByCode parameters: - - name: typecode - in: path - required: true - schema: - type: string + - name: typecode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5153,14 +5155,14 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/ipd/in: get: tags: - - Diseases + - Diseases operationId: getDiseasesIpdIn responses: - "200": + '200': description: OK content: application/json: @@ -5169,20 +5171,20 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/ipd/in/{typecode}: get: tags: - - Diseases + - Diseases operationId: getDiseasesIpdInByCode parameters: - - name: typecode - in: path - required: true - schema: - type: string + - name: typecode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5191,14 +5193,14 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/both: get: tags: - - Diseases + - Diseases operationId: getDiseases responses: - "200": + '200': description: OK content: application/json: @@ -5207,20 +5209,20 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/both/{typecode}: get: tags: - - Diseases + - Diseases operationId: getDiseases_1 parameters: - - name: typecode - in: path - required: true - schema: - type: string + - name: typecode + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5229,14 +5231,14 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /diseases/all: get: tags: - - Diseases + - Diseases operationId: getAllDiseases responses: - "200": + '200': description: OK content: application/json: @@ -5245,59 +5247,59 @@ paths: items: $ref: '#/components/schemas/DiseaseDTO' security: - - bearerAuth: [] + - bearerAuth: [] /discharges: get: tags: - - Admissions + - 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": + - 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: [] + - bearerAuth: [] /bills/pending: get: tags: - - Bills + - Bills operationId: getPendingBills parameters: - - name: patient_code - in: query - required: true - schema: - type: integer - format: int32 + - name: patient_code + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5306,21 +5308,21 @@ paths: items: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/pending/affiliate: get: tags: - - Bills + - Bills operationId: getPendingBillsAffiliate parameters: - - name: patient_code - in: query - required: true - schema: - type: integer - format: int32 + - name: patient_code + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5329,31 +5331,31 @@ paths: items: $ref: '#/components/schemas/BillDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/payments: get: tags: - - Bills + - 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 + - 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": + '200': description: OK content: application/json: @@ -5362,21 +5364,21 @@ paths: items: $ref: '#/components/schemas/BillPaymentsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/payments/{bill_id}: get: tags: - - Bills + - Bills operationId: getPaymentsByBillId parameters: - - name: bill_id - in: path - required: true - schema: - type: integer - format: int32 + - name: bill_id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5385,14 +5387,14 @@ paths: items: $ref: '#/components/schemas/BillPaymentsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/items: get: tags: - - Bills + - Bills operationId: getDistinctItems responses: - "200": + '200': description: OK content: application/json: @@ -5401,21 +5403,21 @@ paths: items: $ref: '#/components/schemas/BillItemsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /bills/items/{bill_id}: get: tags: - - Bills + - Bills operationId: getItems parameters: - - name: bill_id - in: path - required: true - schema: - type: integer - format: int32 + - name: bill_id + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5424,42 +5426,42 @@ paths: items: $ref: '#/components/schemas/BillItemsDTO' security: - - bearerAuth: [] + - bearerAuth: [] /agetypes/{index}: get: tags: - - AgeTypes + - AgeTypes operationId: getAgeTypeByIndex parameters: - - name: index - in: path - required: true - schema: - type: integer - format: int32 + - name: index + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgeType' security: - - bearerAuth: [] + - bearerAuth: [] /agetypes/code: get: tags: - - AgeTypes + - AgeTypes operationId: getAgeTypeCodeByAge parameters: - - name: age - in: query - required: true - schema: - type: integer - format: int32 + - name: age + in: query + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: @@ -5468,23 +5470,21 @@ paths: additionalProperties: type: string security: - - bearerAuth: [] + - bearerAuth: [] /admissions/patient/{patientCode}: get: tags: - - Admissions + - Admissions operationId: getAdmissions_1 parameters: - - name: patientCode - in: path - required: true - schema: - type: integer - format: int32 + - name: patientCode + in: path + required: true + schema: + type: integer + format: int32 responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: @@ -5492,107 +5492,107 @@ paths: type: array items: $ref: '#/components/schemas/AdmissionDTO' + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /admissions/getNextProgressiveIdInYear: get: tags: - - Admissions + - Admissions operationId: getNextYProg parameters: - - name: wardcode - in: query - required: true - schema: - type: string + - name: wardcode + in: query + required: true + schema: + type: string responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: type: integer format: int32 + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /admissions/getBedsOccupationInWard: get: tags: - - Admissions + - Admissions operationId: getUsedWardBed parameters: - - name: wardid - in: query - required: true - schema: - type: string + - name: wardid + in: query + required: true + schema: + type: string responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: type: integer format: int32 + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /admissions/current: get: tags: - - Admissions + - Admissions operationId: getCurrentAdmission parameters: - - name: patientCode - in: query - required: true - schema: - type: integer - format: int32 + - name: patientCode + in: query + required: true + schema: + type: integer + format: int32 responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdmissionDTO' + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /admissions/admittedPatients: get: tags: - - Admissions + - 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: + - 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": + '200': description: OK content: application/json: @@ -5600,143 +5600,165 @@ paths: type: array items: $ref: '#/components/schemas/AdmittedPatientDTO' + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] /wards/{code}: delete: tags: - - Wards + - Wards operationId: deleteWard parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /visit/delete/{patID}: delete: tags: - - Visit + - Visit operationId: deleteVisitsRelatedToPatient parameters: - - name: patID - in: path - required: true - schema: - type: integer - format: int32 + - name: patID + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /vaccinetype/{code}: delete: tags: - - Vaccine Type + - Vaccine Type operationId: deleteVaccineType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /vaccines/{code}: delete: tags: - - Vaccines + - Vaccines operationId: deleteVaccine parameters: - - name: code - in: path - required: true - schema: - type: string + - 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": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /operations/rows/{code}: delete: tags: - - Operations + - Operations operationId: deleteOperationRow parameters: - - name: code - in: path - required: true - schema: - type: integer - format: int32 + - name: code + in: path + required: true + schema: + type: integer + format: int32 responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /medicaltypes/{code}: delete: tags: - - Medical Types + - Medical Types operationId: deleteMedicalType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /diseasetypes/{code}: delete: tags: - - Disease Types + - Disease Types operationId: deleteDiseaseType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: @@ -5745,131 +5767,141 @@ paths: additionalProperties: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /dischargetypes/{code}: delete: tags: - - DischargeType + - DischargeType operationId: deleteDischargeType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /deliverytypes/{code}: delete: tags: - - Delivery Type + - Delivery Type operationId: deleteDeliveryType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /deliveryresulttypes/{code}: delete: tags: - - Delivery Result Type + - Delivery Result Type operationId: deleteDeliveryResultType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /admissiontypes/{code}: delete: tags: - - AdmissionTypes + - AdmissionTypes operationId: deleteAdmissionType parameters: - - name: code - in: path - required: true - schema: - type: string + - name: code + in: path + required: true + schema: + type: string responses: - "200": + '200': description: OK content: application/json: schema: type: boolean security: - - bearerAuth: [] + - bearerAuth: [] /admissions/{id}: delete: tags: - - Admissions + - Admissions operationId: deleteAdmissionType_1 parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int32 + - name: id + in: path + required: true + schema: + type: integer + format: int32 responses: - "400": - description: Bad Request - "200": + '200': description: OK content: application/json: schema: type: boolean + '400': + description: Bad Request security: - - bearerAuth: [] + - bearerAuth: [] components: schemas: WardDTO: required: - - beds - - description - - docs - - nurs - - visitDuration + - 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 @@ -5887,24 +5919,24 @@ components: description: lock format: int32 example: 0 - pharmacy: - type: boolean - male: + opd: type: boolean female: type: boolean - opd: + male: + type: boolean + pharmacy: type: boolean PatientDTO: required: - - age - - bloodType - - city - - fatherName - - firstName - - motherName - - secondName - - sex + - age + - bloodType + - city + - fatherName + - firstName + - motherName + - secondName + - sex type: object properties: code: @@ -5912,10 +5944,12 @@ components: 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 @@ -5925,7 +5959,7 @@ components: birthDate: type: string description: Birth date - example: 1979-05-01 + example: '1979-05-01' age: type: integer description: Age @@ -5934,19 +5968,21 @@ components: agetype: type: string description: Age type - example: "null" + example: 'null' sex: type: string description: Sex example: M enum: - - M - - F + - M + - F address: + maxLength: 50 type: string description: Address - example: "Via Roma, 12" + example: Via Roma, 12 city: + maxLength: 50 type: string description: City example: Verona @@ -5954,105 +5990,115 @@ components: type: string readOnly: true telephone: + maxLength: 50 type: string description: Telephone - example: +393456789012 + 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)" + description: Mother's status (D=dead, A=alive) example: A enum: - - D - - A + - D + - A fatherName: + maxLength: 50 type: string description: Father's name example: Giuseppe father: type: string - description: "Father's status (D=dead, A=alive)" + description: Father's status (D=dead, A=alive) example: D enum: - - D - - A + - D + - A bloodType: type: string - description: "Blood type (0-/+, A-/+ , B-/+, AB-/+)" + description: Blood type (0-/+, A-/+ , B-/+, AB-/+) example: A+ enum: - - 0- - - 0+ - - A- - - A+ - - B- - - B+ - - AB- - - AB+ + - 0- + - 0+ + - A- + - A+ + - B- + - B+ + - AB- + - AB+ hasInsurance: type: string - description: "hasInsurance (Y=Yes, N=no)" - example: "N" + description: HasInsurance (Y=Yes, N=no) + example: 'N' enum: - - "Y" - - "N" + - 'Y' + - 'N' parentTogether: type: string - description: "Parent together (Y=Yes, N=no)" - example: "N" + description: Parent together (Y=Yes, N=no) + example: 'N' enum: - - "Y" - - "N" + - 'Y' + - 'N' taxCode: + maxLength: 30 type: string description: Tax code example: RSSMRA79E01L781N lock: type: integer - description: lock + description: Lock format: int32 example: 0 blobPhoto: - type: string + type: array description: BlobPhoto - example: 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 + items: + type: string + description: BlobPhoto + format: byte hashCode: type: integer format: int32 readOnly: true allergies: + maxLength: 255 type: string - description: allergies of patient + description: Allergies of patient anamnesis: + maxLength: 255 type: string description: Current anamnesis status: type: string - description: status + description: Status example: I enum: - - I - - O + - I + - O consensusFlag: type: boolean - description: consensus flag + description: Consensus flag example: true consensusServiceFlag: type: boolean - description: consensus service flag + description: Consensus service flag example: true description: Class representing a patient VisitDTO: required: - - date - - patient + - date + - patient type: object properties: visitID: @@ -6064,8 +6110,9 @@ components: date: type: string description: Date of the visit - example: 2020-03-19T14:58:00 + example: '2020-03-19T14:58:00' note: + maxLength: 65535 type: string description: Note of the visit sms: @@ -6075,39 +6122,44 @@ components: $ref: '#/components/schemas/WardDTO' duration: type: integer - description: duration of the visit + description: Duration of the visit format: int32 service: + maxLength: 45 type: string - description: service done during the visit + description: Service done during the visit description: Class representing a vaccine type VaccineTypeDTO: required: - - code - - description + - 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 + - code + - description + - vaccineType type: object properties: code: + maxLength: 10 type: string description: Code of the vaccine - example: "1" + example: '1' description: + maxLength: 50 type: string description: Description of the vaccine example: BCG @@ -6115,49 +6167,80 @@ components: $ref: '#/components/schemas/VaccineTypeDTO' lock: type: integer - description: lock + description: Lock format: int32 example: 0 description: Class representing a vaccine UserDTO: required: - - passwd - - userGroupName - - userName + - passwd + - userGroupName + - userName type: object properties: userName: + maxLength: 50 type: string - description: the username (must be unique) + description: The username (must be unique) example: John Doe userGroupName: $ref: '#/components/schemas/UserGroupDTO' passwd: + maxLength: 50 type: string - description: the user's password + description: The user's password example: 21@U2g423 desc: + maxLength: 128 type: string - description: the user's description + description: The user's description example: Lab chief technician UserGroupDTO: required: - - code + - code type: object properties: code: + maxLength: 50 type: string - description: name of the group (must be unique) + description: Name of the group (must be unique) example: labo desc: + maxLength: 128 type: string - description: the description of the group + description: The description of the group example: Staff members working in the laboratory - description: the user's group + 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 + - supId + - supName type: object properties: supId: @@ -6166,51 +6249,60 @@ components: 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" + example: 25 Rue Ministre, Dschang supTaxcode: + maxLength: 50 type: string description: The supplier's tax code - example: "5221" + example: '5221' supPhone: + maxLength: 20 type: string description: The supplier's phone - example: +237654120145 + example: '+237654120145' supFax: + maxLength: 20 type: string description: The supplier's fax number - example: +237654120145 + 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 + - code + - daily + - description + - ipdInclude + - opdInclude type: object properties: id: type: integer format: int32 code: + maxLength: 10 type: string - description: the prices code + description: The prices code example: PRICES001 description: + maxLength: 100 type: string - description: the description + description: The description opdInclude: type: boolean ipdInclude: @@ -6233,20 +6325,24 @@ components: type: integer format: int32 code: + maxLength: 7 type: string - description: the price list code + description: The price list code example: LISTE1 name: + maxLength: 50 type: string - description: the name of list + description: The name of the price list example: default price list description: + maxLength: 100 type: string - description: the price list description + description: The price list description example: default price list currency: + maxLength: 10 type: string - description: the currency + description: The currency example: FCFA hashCode: type: integer @@ -6255,39 +6351,52 @@ components: description: Class representing a price list PregnantTreatmentTypeDTO: required: - - description + - code + - description type: object properties: code: + maxLength: 10 type: string + description: The code description: + maxLength: 50 type: string - description: the description + 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 + - patient + - progr + - vaccine + - vaccineDate type: object properties: code: @@ -6295,19 +6404,19 @@ components: format: int32 progr: type: integer - description: a progr. in year + description: A progr. in year format: int32 example: 1 vaccineDate: type: string - description: the vaccine date + description: The vaccine date patient: $ref: '#/components/schemas/PatientDTO' vaccine: $ref: '#/components/schemas/VaccineDTO' lock: type: integer - description: lock + description: Lock format: int32 example: 0 hashCode: @@ -6316,81 +6425,90 @@ components: readOnly: true PatientConsensusDTO: required: - - patientId + - patientId type: object properties: consensusFlag: type: boolean - description: consensus flag + description: Consensus flag serviceFlag: type: boolean - description: service flag + description: Service flag patientId: type: integer - description: patient id + description: Patient id format: int32 description: Class representing a patient consensus OperationTypeDTO: required: - - description + - 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: - - description - - major - - type + - 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 + description: The operation description type: $ref: '#/components/schemas/OperationTypeDTO' major: type: integer - description: the operation major + description: The operation major format: int32 lock: type: integer - description: lock + description: Lock format: int32 example: 0 AdmissionDTO: required: - - admDate - - admitted - - deleted - - type + - admDate + - admitted + - deleted + - type type: object properties: id: type: integer - description: admission key + description: Admission key format: int32 example: 12 admitted: type: integer - description: if admitted or not + description: If admitted or not format: int32 example: 0 type: type: string - description: type of admission - example: "N" + description: Type of admission + example: 'N' ward: $ref: '#/components/schemas/WardDTO' patient: $ref: '#/components/schemas/PatientDTO' admDate: type: string - description: admission date + description: Admission date admType: $ref: '#/components/schemas/AdmissionTypeDTO' diseaseIn: @@ -6405,38 +6523,39 @@ components: $ref: '#/components/schemas/OperationDTO' opDate: type: string - description: operation date + description: Operation date opResult: type: string - description: 'operation result value is ''P'' or ''N'' ' - example: "N" + description: 'Operation result value is ''P'' or ''N'' ' + example: 'N' disDate: type: string - description: discharge date + description: Discharge date disType: $ref: '#/components/schemas/DischargeTypeDTO' note: + maxLength: 65535 type: string - description: free note + description: Free note transUnit: type: number - description: transfusional unit + description: Transfusional unit format: float visitDate: type: string - description: visit date + description: Visit date pregTreatmentType: $ref: '#/components/schemas/PregnantTreatmentTypeDTO' deliveryDate: type: string - description: delivery date + description: Delivery date deliveryType: $ref: '#/components/schemas/DeliveryTypeDTO' deliveryResult: $ref: '#/components/schemas/DeliveryResultTypeDTO' weight: type: number - description: weight + description: Weight format: float ctrlDate1: type: string @@ -6449,51 +6568,53 @@ components: format: date-time userID: type: string - description: weight + description: User id hashCode: type: integer format: int32 readOnly: true lock: type: integer - description: lock + description: Lock format: int32 example: 0 deleted: type: string - description: "flag record deleted, values are 'Y' OR 'N' " - example: "N" - fhu: - 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 + - code + - description type: object properties: code: type: string - description: code of the admission type + description: Code of the admission type example: A description: + maxLength: 50 type: string - description: description of the admission type + description: Description of the admission type example: AMBULANCE - description: admission type + description: Admission type BillDTO: required: - - amount - - balance - - date - - listName - - patName - - patientTrue - - status - - update - - user + - amount + - balance + - date + - listName + - patName + - patientTrue + - status + - update + - user type: object properties: id: @@ -6507,12 +6628,13 @@ components: date: type: string description: Date of bill creation - example: 2020-03-19T14:58:00.000Z + example: '2020-03-19T14:58:00.000Z' update: type: string description: Date of bill updated - example: 2020-03-19T14:58:00.000Z + example: '2020-03-19T14:58:00.000Z' listName: + maxLength: 50 type: string description: Price list name example: Basic @@ -6521,8 +6643,9 @@ components: description: Is bill belongs to a patient? example: true patName: + maxLength: 100 type: string - description: patient name + description: Patient name example: Mario Rossi status: type: string @@ -6547,79 +6670,84 @@ components: description: Class representing a bill DeliveryResultTypeDTO: required: - - code - - description + - code + - description type: object properties: code: type: string - description: code of the delivery result type + description: Code of the delivery result type example: M description: + maxLength: 50 type: string - description: description of the delivery result type + description: Description of the delivery result type example: MORTALITÉ MATERNELLE - description: 'delivery type ' + description: Delivery result type DeliveryTypeDTO: required: - - code - - description + - code + - description type: object properties: code: type: string - description: code of the delivery type - example: "N" + description: Code of the delivery type + example: 'N' description: + maxLength: 50 type: string - description: description of the delivery type + description: Description of the delivery type example: ACCOUCHEMENT NORMAL - description: delivery type + description: Delivery type DischargeTypeDTO: required: - - code - - description + - code + - description type: object properties: code: type: string - description: code of the discharge type + description: Code of the discharge type example: SN description: + maxLength: 50 type: string - description: description of the discharge type + description: Description of the discharge type example: SORTIE NORMALE - description: disChargeType + description: DisChargeType DiseaseDTO: required: - - code - - description - - diseaseType - - ipdInInclude - - ipdOutInclude - - opdInclude + - code + - description + - diseaseType + - ipdInInclude + - ipdOutInclude + - opdInclude type: object properties: code: + maxLength: 10 type: string description: Disease code - example: "99" + 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 + description: Indicates whether the disease is an OPD disease example: true ipdInInclude: type: boolean - description: indicates whether the disease is an IPD-IN disease + 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 + description: Indicates whether the disease is an IPD-OUT disease example: true hashCode: type: integer @@ -6627,71 +6755,74 @@ components: readOnly: true lock: type: integer - description: lock + description: Lock format: int32 example: 0 description: Class representing a disease DiseaseTypeDTO: required: - - code - - description + - 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 + - age + - newPatient + - note + - sex + - ward type: object properties: code: type: integer - description: the code of the opd + description: The code of the opd format: int32 example: 3 date: type: string - description: the date of the admission + description: The date of the admission nextVisitDate: type: string - description: the next visit date + description: The next visit date patientCode: type: integer - description: the admitted patient code + description: The admitted patient code format: int32 age: type: integer - description: the patient age + description: The patient age format: int32 example: 18 sex: type: string - description: the patient sex + description: The patient sex example: M patientName: type: string - description: the patient sex + description: The patient sex example: M ageType: type: string description: Age type - example: "null" + example: 'null' note: + maxLength: 65535 type: string - description: the admission note + description: The admission note example: this is out patient prog_year: type: integer - description: a progr. in year for each ward + description: A progr. in year for each ward format: int32 example: 18 disease: @@ -6702,19 +6833,19 @@ components: $ref: '#/components/schemas/DiseaseDTO' newPatient: type: string - description: new(N) or reattendance(R) patient - example: "N" + description: New(N) or Reattendance(R) patient + example: 'N' referralFrom: type: string - description: referral from another unit + description: Referral from another unit example: R referralTo: type: string - description: referral to another unit + description: Referral to another unit example: R userID: type: string - description: user id + description: User id lock: type: integer format: int32 @@ -6725,27 +6856,29 @@ components: readOnly: true reason: type: string - description: reasons for entry + description: Reasons for entry anamnesis: type: string - description: history of a medical or psychiatric patient + description: History of a medical or psychiatric patient allergies: type: string - description: allergies of patient + description: Allergies of patient therapies: type: string description: Current therapies prescription: + maxLength: 255 type: string - description: prescription + description: Prescription ward: $ref: '#/components/schemas/WardDTO' + description: The opd OperationRowDTO: required: - - opDate - - opResult - - operation - - prescriber + - opDate + - opResult + - operation + - prescriber type: object properties: id: @@ -6754,14 +6887,20 @@ components: 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 - format: date-time + description: Operation registration date remarks: + maxLength: 250 type: string + description: The remark of the operation admission: $ref: '#/components/schemas/AdmissionDTO' opd: @@ -6770,6 +6909,7 @@ components: $ref: '#/components/schemas/BillDTO' transUnit: type: number + description: The transunit format: float hashCode: type: integer @@ -6786,34 +6926,38 @@ components: $ref: '#/components/schemas/OperationRowDTO' MovementTypeDTO: required: - - code - - description - - type + - 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: "-" + example: '-' MedicalTypeDTO: required: - - code - - description + - 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 @@ -6821,6 +6965,7 @@ components: type: object properties: code: + maxLength: 5 type: integer description: The id of the medical format: int32 @@ -6832,6 +6977,7 @@ components: type: $ref: '#/components/schemas/MedicalTypeDTO' description: + maxLength: 100 type: string description: The description of the medical example: Paracétamol @@ -6862,15 +7008,15 @@ components: example: 15 lock: type: integer - description: lock + description: Lock format: int32 example: 0 MalnutritionDTO: required: - - admission - - dateSupp - - height - - weight + - admission + - dateSupp + - height + - weight type: object properties: code: @@ -6881,11 +7027,11 @@ components: dateSupp: type: string description: The date of this malnutrition control - example: 1979-05-01T11:20:33 + example: '1979-05-01T11:20:33' dateConf: type: string description: The date of the next malnutrition control - example: 1979-05-01T11:20:33 + example: '1979-05-01T11:20:33' admission: $ref: '#/components/schemas/AdmissionDTO' height: @@ -6900,17 +7046,19 @@ components: example: 65 lock: type: integer - description: lock + description: Lock format: int32 example: 0 ExamDTO: type: object properties: code: + maxLength: 10 type: string description: Exam Code - example: "01.01" + example: '01.01' description: + maxLength: 100 type: string description: Exam Description example: 1.1 HB @@ -6920,6 +7068,7 @@ components: format: int32 example: 1 defaultResult: + maxLength: 50 type: string description: Exam Default Result example: '>=12 (NORMAL)' @@ -6927,7 +7076,7 @@ components: $ref: '#/components/schemas/ExamTypeDTO' lock: type: integer - description: lock + description: Lock format: int32 example: 0 description: Laboratory Exam @@ -6939,6 +7088,7 @@ components: description: Exam Type Code example: HB description: + maxLength: 50 type: string description: Exam Type Description example: 1.Haematology @@ -6976,10 +7126,11 @@ components: description: Laboratory Result lock: type: integer - description: lock + description: Lock format: int32 example: 0 note: + maxLength: 255 type: string description: Laboratory Note example: Note by laboratorist @@ -6993,10 +7144,10 @@ components: inOutPatient: type: string description: Laboratory Patient InOut - example: "0" + example: '0' enum: - - I - - O + - I + - O age: type: integer description: Laboratory Patient Age @@ -7010,55 +7161,63 @@ components: description: Laboratory status example: DRAFT enum: - - draft - - open - - done - - invalid - - deleted + - 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 + description: Lock format: int32 example: 0 PatientExaminationDTO: required: - - patientCode - - pex_date + - patientCode + - pex_date type: object properties: pex_ID: @@ -7069,7 +7228,7 @@ components: pex_date: type: string description: Date of Patient Examination - example: 2020-03-19T14:58:00.000Z + example: '2020-03-19T14:58:00.000Z' patientCode: type: integer description: Patient Examination Code @@ -7108,15 +7267,15 @@ components: format: int32 pex_auscultation: type: string - description: patient ausculation + description: Patient ausculation example: normal enum: - - normal - - wheezes - - rhonchi - - crackles - - stridor - - bronchial + - normal + - wheezes + - rhonchi + - crackles + - stridor + - bronchial pex_hgt: type: integer description: Hemo Glucose Test @@ -7130,15 +7289,16 @@ components: description: Diuresis description example: physiological enum: - - physiological - - oliguria - - anuria - - frequent - - nocturia - - stranguria - - hematuria - - pyuria + - physiological + - oliguria + - anuria + - frequent + - nocturia + - stranguria + - hematuria + - pyuria pex_note: + maxLength: 2000 type: string description: Examination Note pex_bowel_desc: @@ -7146,18 +7306,18 @@ components: description: Bowel Function example: regular enum: - - constipation - - regular - - diarrheal - - irregular + - constipation + - regular + - diarrheal + - irregular BillItemsDTO: required: - - itemAmount - - itemDescription - - itemDisplayCode - - itemId - - itemQuantity - - priceId + - itemAmount + - itemDescription + - itemDisplayCode + - itemId + - itemQuantity + - priceId type: object properties: id: @@ -7170,29 +7330,29 @@ components: priceId: type: string description: The price Id - example: "104" + example: '104' itemDescription: type: string - description: item description + description: Item description example: Acetone 99 % 1ltr itemAmount: type: number - description: item amount + description: Item amount format: double example: 1000 itemQuantity: type: integer - description: item quantity + description: Item quantity format: int32 example: 1 itemDisplayCode: type: string - description: item display code + description: Item display code example: Acetone itemId: type: string - description: item id - example: "3" + description: Item id + example: '3' hashCode: type: integer format: int32 @@ -7202,10 +7362,10 @@ components: description: Class representing a billItem BillPaymentsDTO: required: - - amount - - billId - - date - - user + - amount + - billId + - date + - user type: object properties: id: @@ -7217,17 +7377,17 @@ components: format: int32 date: type: string - description: date of payment + description: Date of payment format: date-time - example: 2020-03-19T14:58:00Z + example: '2020-03-19T14:58:00Z' amount: type: number - description: the payment amount + description: The payment amount format: double example: 500 user: type: string - description: the current user + description: The current user example: admin hashCode: type: integer @@ -7236,33 +7396,34 @@ components: description: Class representing a billPayment FullBillDTO: required: - - bill - - billItems + - bill + - billItems type: object properties: bill: $ref: '#/components/schemas/BillDTO' billItems: type: array - description: list of bill items elements + description: List of bill items elements items: $ref: '#/components/schemas/BillItemsDTO' billPayments: type: array - description: list of bill payments elements + description: List of bill payments elements items: $ref: '#/components/schemas/BillPaymentsDTO' AgeTypeDTO: required: - - description - - from - - to + - description + - from + - to type: object properties: code: type: string description: Age type code description: + maxLength: 100 type: string description: Age type description from: @@ -7276,82 +7437,18 @@ components: 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 + - endDate + - freqInDay + - freqInPeriod + - medicalId + - notifyInt + - patID + - qty + - smsInt + - startDate + - unitID type: object properties: therapyID: @@ -7395,33 +7492,35 @@ components: 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" + 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" + 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 + - age + - birthDate + - bloodType + - city + - deleted + - fatherName + - firstName + - motherName + - name + - secondName + - sex type: object properties: createdBy: @@ -7581,6 +7680,39 @@ components: 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: @@ -7596,10 +7728,6 @@ components: type: object additionalProperties: type: object - family: - type: string - fontName: - type: string transform: type: object properties: @@ -7626,6 +7754,9 @@ components: format: int32 identity: type: boolean + determinant: + type: number + format: double toRotation: type: number format: double @@ -7634,35 +7765,36 @@ components: type: integer format: int32 writeOnly: true - determinant: - type: number - format: double + 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 - 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 + italicAngle: + type: number + format: float + family: + type: string fontMetrics: type: object properties: @@ -7681,10 +7813,6 @@ components: type: object additionalProperties: type: object - family: - type: string - fontName: - type: string transform: type: object properties: @@ -7711,6 +7839,9 @@ components: format: int32 identity: type: boolean + determinant: + type: number + format: double toRotation: type: number format: double @@ -7719,35 +7850,36 @@ components: type: integer format: int32 writeOnly: true - determinant: - type: number - format: double + 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 - 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 + italicAngle: + type: number + format: float + family: + type: string ascent: type: integer format: int32 @@ -7757,17 +7889,6 @@ components: 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: @@ -7797,6 +7918,9 @@ components: format: int32 identity: type: boolean + determinant: + type: number + format: double toRotation: type: number format: double @@ -7805,15 +7929,12 @@ components: type: integer format: int32 writeOnly: true - determinant: - type: number - format: double + transformed: + type: boolean antiAliasingHint: type: object fractionalMetricsHint: type: object - transformed: - type: boolean antiAliased: type: boolean transformType: @@ -7822,6 +7943,9 @@ components: maxAscent: type: integer format: int32 + maxDescent: + type: integer + format: int32 maxDecent: type: integer format: int32 @@ -7829,13 +7953,21 @@ components: 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": + 'y': type: number format: double width: @@ -7852,7 +7984,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double size: @@ -7869,9 +8001,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -7884,6 +8013,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -7896,7 +8028,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double rect: @@ -7904,9 +8036,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -7919,6 +8048,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -7931,7 +8063,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double writeOnly: true @@ -7953,39 +8085,6 @@ components: 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: @@ -7995,7 +8094,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double width: @@ -8012,7 +8111,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double size: @@ -8029,9 +8128,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -8044,6 +8140,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -8056,7 +8155,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double rect: @@ -8064,9 +8163,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -8079,6 +8175,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -8091,7 +8190,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double writeOnly: true @@ -8118,9 +8217,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -8133,6 +8229,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -8145,7 +8244,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double clipRect: @@ -8154,7 +8253,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double width: @@ -8171,7 +8270,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double size: @@ -8188,9 +8287,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -8203,6 +8299,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -8215,7 +8314,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double rect: @@ -8223,9 +8322,6 @@ components: properties: empty: type: boolean - height: - type: number - format: double maxX: type: number format: double @@ -8238,6 +8334,9 @@ components: centerY: type: number format: double + height: + type: number + format: double width: type: number format: double @@ -8250,7 +8349,7 @@ components: x: type: number format: double - "y": + 'y': type: number format: double writeOnly: true @@ -8275,16 +8374,16 @@ components: deprecated: true TherapyRow: required: - - endDate - - freqInDay - - freqInPeriod - - medicalId - - notifyInt - - patient - - qty - - smsInt - - startDate - - unitID + - endDate + - freqInDay + - freqInPeriod + - medicalId + - notifyInt + - patient + - qty + - smsInt + - startDate + - unitID type: object properties: createdBy: @@ -8337,10 +8436,10 @@ components: medical: type: integer format: int32 - sms: - type: boolean notify: type: boolean + sms: + type: boolean TherapyDTO: type: object properties: @@ -8358,8 +8457,8 @@ components: type: array description: The dates of the therapy example: - - 2022-01-01T10:00:00 - - 2022-01-02T15:30:00 + - '2022-01-01T10:00:00' + - '2022-01-02T15:30:00' items: type: string description: The dates of the therapy @@ -8380,38 +8479,42 @@ components: 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" + 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" + description: >- + The sms flag: true if sms need to be sent to patient, false + otherwise example: false LotDTO: required: - - code - - dueDate - - preparationDate + - 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 + example: '2020-06-24' dueDate: type: string description: The due date - example: 2021-06-24 + example: '2021-06-24' cost: type: number description: The lot's code @@ -8419,11 +8522,11 @@ components: description: The lot MovementDTO: required: - - date - - medical - - quantity - - refNo - - type + - date + - medical + - quantity + - refNo + - type type: object properties: code: @@ -8442,7 +8545,7 @@ components: date: type: string description: The movement date - example: 2020-06-24 + example: '2020-06-24' quantity: type: integer description: The movement's medical quantity @@ -8456,12 +8559,12 @@ components: example: MVN152445 SmsDTO: required: - - module - - smsDate - - smsDateSched - - smsNumber - - smsText - - smsUser + - module + - smsDate + - smsDateSched + - smsNumber + - smsText + - smsUser type: object properties: smsId: @@ -8476,37 +8579,42 @@ components: smsDateSched: type: string description: SMS scheduled date - example: 2020-07-28T00:00:00 + example: '2020-07-28T00:00:00' smsNumber: + maxLength: 45 type: string description: SMS target phone number - example: +237671302313 + 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 + 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 + - date + - description + - quantity + - units + - ward type: object properties: code: @@ -8520,7 +8628,7 @@ components: type: string description: The movement ward's date format: date - example: 2020-06-07 + example: '2020-06-07' patient: $ref: '#/components/schemas/PatientDTO' age: @@ -8530,8 +8638,7 @@ components: example: 21 weight: type: number - description: The patient's weight in case the movement is associated to - a patient + description: The patient's weight in case the movement is associated to a patient format: float example: 75 description: @@ -8569,31 +8676,31 @@ components: $ref: '#/components/schemas/ExamDTO' LoginRequest: required: - - password - - username + - password + - username type: object properties: username: type: string - description: username + description: User Name example: admin password: type: string - description: password of user + description: Password of user example: admin LoginResponse: type: object properties: token: type: string - description: token + description: Token type: type: string - description: type of Token + description: Type of Token example: Bearer username: type: string - description: user name + description: User name example: admin description: Class representing a Login response LitePermissionDTO: @@ -8610,13 +8717,15 @@ components: type: array items: type: string + userGroup: + $ref: '#/components/schemas/UserGroupDTO' PriceDTO: required: - - description - - group - - item - - list - - price + - description + - group + - item + - list + - price type: object properties: id: @@ -8626,16 +8735,18 @@ components: $ref: '#/components/schemas/PriceList' group: type: string - description: the group + description: The group item: + maxLength: 10 type: string - description: the item name + description: The item name description: + maxLength: 100 type: string - description: the description + description: The description price: type: number - description: price + description: Price format: double example: 1500 editable: @@ -8648,10 +8759,10 @@ components: description: Class representing a prices PriceList: required: - - code - - currency - - description - - name + - code + - currency + - description + - name type: object properties: createdBy: @@ -8678,7 +8789,7 @@ components: type: string currency: type: string - description: the price list + description: The price list PageInfoDTO: type: object properties: @@ -8736,8 +8847,8 @@ components: example: 89 MedicalWardIdDTO: required: - - medical - - ward + - medical + - ward type: object properties: ward: @@ -8775,9 +8886,9 @@ components: $ref: '#/components/schemas/PageInfoDTO' AgeType: required: - - description - - from - - to + - description + - from + - to type: object properties: createdBy: diff --git a/src/generated/.openapi-generator/FILES b/src/generated/.openapi-generator/FILES index b428b01d6..057f67774 100644 --- a/src/generated/.openapi-generator/FILES +++ b/src/generated/.openapi-generator/FILES @@ -35,7 +35,6 @@ apis\SMSApi.ts apis\StockMovementsApi.ts apis\SuppliersApi.ts apis\TherapiesApi.ts -apis\UserSettingsApi.ts apis\UsersApi.ts apis\VaccineTypeApi.ts apis\VaccinesApi.ts @@ -119,7 +118,6 @@ models\TherapyRow.ts models\TherapyRowDTO.ts models\UserDTO.ts models\UserGroupDTO.ts -models\UserMenuItemDTO.ts models\UserProfileDTO.ts models\UserSettingDTO.ts models\VaccineDTO.ts 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/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'; From 30be12ba1e4124d726cc497c2ffc911ed1bbcb0e Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Fri, 1 Dec 2023 14:45:58 +0100 Subject: [PATCH 2/6] Update TPermission and fix issues related to the update --- .../patientOperation/PatientOperation.tsx | 4 +- .../operationTable/OperationRowTable.tsx | 2 +- .../patientVisitTable/PatientVisitTable.tsx | 2 +- src/types.ts | 133 +++++++++++++++--- 4 files changed, 121 insertions(+), 20 deletions(-) diff --git a/src/components/accessories/patientOperation/PatientOperation.tsx b/src/components/accessories/patientOperation/PatientOperation.tsx index 4c8eeae5f..56a243167 100644 --- a/src/components/accessories/patientOperation/PatientOperation.tsx +++ b/src/components/accessories/patientOperation/PatientOperation.tsx @@ -145,7 +145,7 @@ const PatientOperation: FC = ({ opd, onSuccess }) => { return (
= ({ opd, onSuccess }) => { /> - + {!opd && ( = ({ onEdit, }) => { const { t } = useTranslation(); - const canUpdate = usePermission("operation.update"); + const canUpdate = usePermission("operations.update"); const header = ["opDate", "operation"]; const dateFields = ["opDate"]; diff --git a/src/components/accessories/patientVisit/patientVisitTable/PatientVisitTable.tsx b/src/components/accessories/patientVisit/patientVisitTable/PatientVisitTable.tsx index 61fcfa13f..e3034e6f6 100644 --- a/src/components/accessories/patientVisit/patientVisitTable/PatientVisitTable.tsx +++ b/src/components/accessories/patientVisit/patientVisitTable/PatientVisitTable.tsx @@ -19,7 +19,7 @@ const PatientVisitTable: FunctionComponent = ({ handleEdit, }) => { const { t } = useTranslation(); - const canUpdate = usePermission("visit.update"); + const canUpdate = usePermission("opd.update"); const header = ["date", "duration"]; const dateFields = ["date"]; const label = { diff --git a/src/types.ts b/src/types.ts index c9a20e2d1..463f9ab02 100644 --- a/src/types.ts +++ b/src/types.ts @@ -58,18 +58,14 @@ export enum FIELD_VALIDATION { // WARN: keep in sync with fixtures in ./mockServer/fixtures/permissionList.js export type TPermission = - | "dashboard.access" - | "patient.access" - | "laboratory.access" - | "visit.access" - | "patient.read" - | "patient.create" - | "patient.update" - | "patient.delete" | "opd.read" | "opd.create" | "opd.update" | "opd.delete" + | "summary.read" + | "summary.create" + | "summary.update" + | "summary.delete" | "examination.read" | "examination.create" | "examination.update" @@ -82,15 +78,120 @@ export type TPermission = | "therapy.create" | "therapy.update" | "therapy.delete" + | "vaccine.read" + | "vaccine.create" + | "vaccine.update" + | "vaccine.delete" | "exam.read" | "exam.create" | "exam.update" | "exam.delete" - | "visit.read" - | "visit.create" - | "visit.update" - | "visit.delete" - | "operation.read" - | "operation.create" - | "operation.update" - | "operation.delete"; + | "visit.access" + | "patient.access" + | "laboratory.access" + | "dashboard.access" + | "patient.read" + | "patient.create" + | "patient.update" + | "patient.delete" + | "admissiontypes.create" + | "admissiontypes.update" + | "admissiontypes.delete" + | "admissiontypes.read" + | "deliveryresulttype.create" + | "deliveryresulttype.update" + | "deliveryresulttype.delete" + | "deliveryresulttype.read" + | "deliverytypes.create" + | "deliverytypes.update" + | "deliverytypes.delete" + | "deliverytypes.read" + | "dischargetypes.create" + | "dischargetypes.update" + | "dischargetypes.delete" + | "dischargetypes.read" + | "discharges.create" + | "discharges.update" + | "discharges.delete" + | "discharges.read" + | "vaccines.create" + | "vaccines.update" + | "vaccines.delete" + | "vaccines.read" + | "vaccinetype.create" + | "vaccinetype.update" + | "vaccinetype.delete" + | "vaccinetype.read" + | "wards.create" + | "wards.update" + | "wards.delete" + | "wards.read" + | "examrows.create" + | "examrows.update" + | "examrows.delete" + | "examrows.read" + | "examtypes.create" + | "examtypes.update" + | "examtypes.delete" + | "examtypes.read" + | "examinations.create" + | "examinations.update" + | "examinations.delete" + | "examinations.read" + | "hospitals.create" + | "hospitals.update" + | "hospitals.delete" + | "hospitals.read" + | "laboratories.create" + | "laboratories.update" + | "laboratories.delete" + | "laboratories.read" + | "agetypes.update" + | "agetypes.read" + | "diseasetypes.create" + | "diseasetypes.update" + | "diseasetypes.delete" + | "diseasetypes.read" + | "operations.create" + | "operations.update" + | "operations.delete" + | "operations.read" + | "patientvaccines.create" + | "patientvaccines.update" + | "patientvaccines.delete" + | "patientvaccines.read" + | "pregnanttreatmenttypes.create" + | "pregnanttreatmenttypes.update" + | "pregnanttreatmenttypes.read" + | "pricelists.create" + | "pricelists.update" + | "pricelists.delete" + | "pricelists.read" + | "pricesothers.create" + | "pricesothers.update" + | "pricesothers.delete" + | "pricesothers.read" + | "operationtypes.create" + | "operationtypes.update" + | "operationtypes.delete" + | "operationtypes.read" + | "diseases.create" + | "diseases.update" + | "diseases.delete" + | "diseases.read" + | "usersetting.read" + | "usersetting.create" + | "usersetting.update" + | "usersetting.delete" + | "permission.read" + | "permission.create" + | "permission.delete" + | "permission.update" + | "grouppermission.read" + | "grouppermission.create" + | "grouppermission.update" + | "grouppermission.delete" + | "user.delete" + | "user.read" + | "user.create" + | "user.update"; From e6ba63428111eaa1bc1ac66873bd115f48489cd6 Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Fri, 1 Dec 2023 14:55:59 +0100 Subject: [PATCH 3/6] Get dashboard config using news APIs. Display widgets based on user permissions --- .../accessories/dashboard/Dashboard.tsx | 5 +- .../dashboardContent/DashboardContent.tsx | 55 ++++-- .../accessories/dashboard/layouts/consts.ts | 63 ++++++- .../layouts/container/GridLayoutContainer.tsx | 158 ++++++++++++------ .../layouts/toolbox/GridLayoutToolBox.tsx | 70 ++++++-- .../dashboard/layouts/toolbox/styles.scss | 6 + src/resources/i18n/en.json | 8 +- src/state/layouts/actions.ts | 95 ++++++----- src/state/layouts/reducer.ts | 2 + 9 files changed, 337 insertions(+), 125 deletions(-) diff --git a/src/components/accessories/dashboard/Dashboard.tsx b/src/components/accessories/dashboard/Dashboard.tsx index 9030c13d4..fe2056cee 100644 --- a/src/components/accessories/dashboard/Dashboard.tsx +++ b/src/components/accessories/dashboard/Dashboard.tsx @@ -8,6 +8,7 @@ import { DashboardContent } from "./dashboardContent/DashboardContent"; import "./styles.scss"; import { IStateProps, TProps } from "./types"; import { Chart, registerables } from "chart.js"; +import { Permission } from "../../../libraries/permissionUtils/Permission"; Chart.register(...registerables); @@ -24,7 +25,9 @@ const Dashboard: FunctionComponent = ({ userCredentials }) => { breadcrumbMap={breadcrumbMap} />
- + + +
diff --git a/src/components/accessories/dashboard/dashboardContent/DashboardContent.tsx b/src/components/accessories/dashboard/dashboardContent/DashboardContent.tsx index 74e5dc13d..1b37756ce 100644 --- a/src/components/accessories/dashboard/dashboardContent/DashboardContent.tsx +++ b/src/components/accessories/dashboard/dashboardContent/DashboardContent.tsx @@ -1,10 +1,15 @@ import React, { FunctionComponent } from "react"; import { DashboardFilter } from "./filter/DashboardFilter"; -import { GridLayoutToolbox } from "../layouts/toolbox/GridLayoutToolBox"; +import GridLayoutToolbox from "../layouts/toolbox/GridLayoutToolBox"; import GridLayoutContainer from "../layouts/container/GridLayoutContainer"; import { setDashboardPeriod } from "../../../../state/dashboard/actions"; -import { useDispatch } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import "./styles.scss"; +import { IState } from "../../../../types"; +import { TAPIResponseStatus } from "../../../../state/types"; +import { CircularProgress } from "@material-ui/core"; +import { Navigate } from "react-router"; +import { PATHS } from "../../../../consts"; export const DashboardContent: FunctionComponent = () => { const dispatch = useDispatch(); @@ -12,21 +17,41 @@ export const DashboardContent: FunctionComponent = () => { dispatch(setDashboardPeriod(value)); }; + const authUserStatus = useSelector( + (state) => state.main.authentication.status ?? "IDLE" + ); + return ( -
-
-
-
- -
-
- + <> + {authUserStatus === "SUCCESS" && ( +
+
+
+
+ +
+
+ +
+
+
+ +
-
- -
-
-
+ )} + + {authUserStatus === "LOADING" && ( + + )} + + {authUserStatus === "FAIL" && } + ); }; diff --git a/src/components/accessories/dashboard/layouts/consts.ts b/src/components/accessories/dashboard/layouts/consts.ts index 0287e3ca6..5f5648864 100644 --- a/src/components/accessories/dashboard/layouts/consts.ts +++ b/src/components/accessories/dashboard/layouts/consts.ts @@ -4,6 +4,8 @@ import { LayoutConfiguration, TDashboardComponent, } from "./types"; +import { TPermission } from "../../../../types"; +import { getAuthenticationFromSession } from "../../../../libraries/authUtils/getAuthenticationFromSession"; /** * This array contains all dashboard widgets @@ -11,7 +13,7 @@ import { * and a `switch case` should be added in the switch control of a component * src\components\accessories\dashboard\layouts\item\GridLayoutItem.tsx */ -export const DASHBOARDS = [ +export const DASHBOARDS: TDashboardComponent[] = [ "opdByAgeType", "opdBySex", "admissionBySex", @@ -24,6 +26,23 @@ export const DASHBOARDS = [ "dischargeByType", ]; +/** + * This array is a map of dashboard widgets and related permissions + */ +export const DASHBOARDS_PERMISSIONS: Record = + { + admissionByAgeType: "admission.read", + admissionBySex: "admission.read", + admissionByType: "admission.read", + admissionByWard: "admission.read", + dischargeByAgeType: "discharges.read", + dischargeBySex: "discharges.read", + dischargeByType: "discharges.read", + dischargeByWard: "discharges.read", + opdByAgeType: "opd.read", + opdBySex: "opd.read", + }; + export const defaultLayoutConfig: Layouts = { lg: generateLayout("lg"), md: generateLayout("md"), @@ -77,6 +96,8 @@ export const getBreakpointFromWidth = (width: number): string => { * Get dashboard label's translation key * @param dashboardKey Dashboard key * @returns Return the translation key + * @todo Create a map like DASHBOARDS_PERMISSIONS use it + * to get dashboards widget labels. */ export function getDashboardLabel(dashboardKey: TDashboardComponent): string { switch (dashboardKey) { @@ -155,13 +176,47 @@ export function removeDoubles(input1: Layouts, input2: Layouts): Layouts { return cleanInput; } +/** + * This function uses permissions stored in session storage + * to check if Authenticated user has permission to vie + * @returns Allowed dashboard widgets + */ +export function allowedDashboards(): TDashboardComponent[] { + let allowedDashboards: TDashboardComponent[] = []; + + let permissions: TPermission[] = []; + try { + permissions = getAuthenticationFromSession().permissions; + } catch (error) { + console.log(error); + } + + DASHBOARDS.forEach((dash) => { + if (permissions.includes(DASHBOARDS_PERMISSIONS[dash])) { + allowedDashboards.push(dash); + } + }); + + return allowedDashboards; +} + +export function isEmptyLayout(input: Layouts): boolean { + let nbWidgets = 0; + + ["lg", "md", "sm", "xs", "xxs"].forEach((breakpoint) => { + nbWidgets += input[breakpoint] ? input[breakpoint].length : 0; + }); + + return nbWidgets == 0; +} + /** * Generate layout for random Dashboards * @param nbDashboard Number of dashboard to generate * @returns Returns the layout config for specified Dashboards number */ export function randomLayout(nbDashboard: number): Layouts { - let randomDashboards = randomItems(DASHBOARDS, nbDashboard); + let randomDashboards = randomItems(allowedDashboards(), nbDashboard); return removeDuplicates({ lg: generateLayout("lg", randomDashboards), @@ -196,7 +251,7 @@ export function toolboxDashboards( }); ["lg", "md", "sm", "xs", "xxs"].forEach((breakpoint) => { - unknownDashboard[breakpoint] = DASHBOARDS.filter( + unknownDashboard[breakpoint] = allowedDashboards().filter( (dashboard) => !knownDashboard[breakpoint].includes(dashboard) ); }); @@ -274,7 +329,7 @@ export function generateLayout( dashboards?: string[] ): Layout[] { if (!dashboards || dashboards.length == 0) { - dashboards = DASHBOARDS; + dashboards = allowedDashboards(); } return dashboards.map((dashboardKey, index) => { diff --git a/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx b/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx index a91963a86..083367dd4 100644 --- a/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx +++ b/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx @@ -9,6 +9,7 @@ import { defaultGridLayoutCols, encodeLayout, getBreakpointFromWidth, + isEmptyLayout, removeDuplicates, removeWidget, } from "../consts"; @@ -31,6 +32,8 @@ import InfoBox from "../../../infoBox/InfoBox"; import "/node_modules/react-grid-layout/css/styles.css"; import "/node_modules/react-resizable/css/styles.css"; import "../styles.scss"; +import { UserSettingDTO } from "../../../../../generated"; +import { IAuthentication } from "../../../../../state/main/types"; const ResponsiveReactGridLayout = WidthProvider(Responsive); @@ -46,10 +49,18 @@ const GridLayoutContainer: FC = () => { const infoBoxRef = useRef(null); const gridLayoutRef = useRef(null); + const userCredentials = useSelector( + (state) => state.main.authentication.data + ); + const layouts = useSelector( (state) => state.layouts.layouts ); + const dashboardSetting = useSelector( + (state) => state.layouts.getLayouts.data + ); + const toolbox = useSelector( (state) => state.layouts.toolbox ); @@ -63,12 +74,12 @@ const GridLayoutContainer: FC = () => { }, []); useEffect(() => { - dispatch(getLayouts()); + dispatch(getLayouts(userCredentials?.username!)); setMounted(true); }, []); const onRetry = () => { - dispatch(getLayouts()); + dispatch(getLayouts(userCredentials?.username!)); }; const onReset = () => { @@ -102,7 +113,20 @@ const GridLayoutContainer: FC = () => { return; } - dispatch(saveLayouts(encodeLayout({ layout: allLayouts, toolbox }))); + let setting: UserSettingDTO; + + if (!dashboardSetting) { + setting = { + configName: "dashboard", + user: userCredentials?.username!, + } as UserSettingDTO; + } else { + setting = { ...dashboardSetting }; + } + + setting.configValue = encodeLayout({ layout: allLayouts, toolbox }); + + dispatch(saveLayouts(setting)); }; const onItemRemove = (item: Layout) => { @@ -118,9 +142,23 @@ const GridLayoutContainer: FC = () => { setCanUpdateLayouts(false); - dispatch( - saveLayouts(encodeLayout({ layout: layoutsTmp, toolbox: toolboxTmp })) - ); + let setting: UserSettingDTO; + + if (!dashboardSetting) { + setting = { + configName: "dashboard", + user: userCredentials?.username!, + } as UserSettingDTO; + } else { + setting = { ...dashboardSetting }; + } + + setting.configValue = encodeLayout({ + layout: layoutsTmp, + toolbox: toolboxTmp, + }); + + dispatch(saveLayouts(setting)); }; const onFullScreenEnter = (label: TDashboardComponent) => { @@ -143,16 +181,20 @@ const GridLayoutContainer: FC = () => { (state: IState) => state.layouts.saveLayouts.status ); - const errorMessage = useSelector( - (state: IState) => - state.layouts.getLayouts.error?.response || - state.layouts.resetLayouts.error?.response || - t("dashboard.cantretrieveconfig") + const errorMessage = useSelector((state: IState) => + t( + state.layouts.getLayouts.error?.message || + state.layouts.resetLayouts.error?.message || + "dashboard.cantretrieveconfig" + ) ); - const saveErrorMessage = useSelector( - (state: IState) => - state.layouts.saveLayouts.error?.response ?? t("dashboard.cantsaveconfig") + useEffect(() => { + console.log(errorMessage); + }, [errorMessage]); + + const saveErrorMessage = useSelector((state: IState) => + t(state.layouts.saveLayouts.error?.message || "dashboard.cantsaveconfig") ); return ( @@ -195,39 +237,61 @@ const GridLayoutContainer: FC = () => {
)} - - {layouts[getRealBreakpoint()].map((l, key) => { - let ldash = l.i as TDashboardComponent; - - return ( -
- onItemRemove(l)} - onFullScreenEnter={() => - onFullScreenEnter(l.i as TDashboardComponent) - } - /> -
- ); - })} -
- - + + {isEmptyLayout(layouts) && ( +
+ +
+ )} + + {!isEmptyLayout(layouts) && ( + <> + + {layouts[getRealBreakpoint()].map((l, key) => { + let ldash = l.i as TDashboardComponent; + + return ( +
+ onItemRemove(l)} + onFullScreenEnter={() => + onFullScreenEnter(l.i as TDashboardComponent) + } + /> +
+ ); + })} +
+ + + + )} )}
diff --git a/src/components/accessories/dashboard/layouts/toolbox/GridLayoutToolBox.tsx b/src/components/accessories/dashboard/layouts/toolbox/GridLayoutToolBox.tsx index 28a019825..8d6400018 100644 --- a/src/components/accessories/dashboard/layouts/toolbox/GridLayoutToolBox.tsx +++ b/src/components/accessories/dashboard/layouts/toolbox/GridLayoutToolBox.tsx @@ -1,5 +1,5 @@ import { FC } from "react"; -import React, { useState, useEffect } from "react"; +import React from "react"; import { useDispatch, useSelector } from "react-redux"; import { IState } from "../../../../../types"; import { useTranslation } from "react-i18next"; @@ -12,6 +12,7 @@ import { addWidget, encodeLayout, getDashboardLabel, + isEmptyLayout, removeDuplicates, removeWidget, } from "../consts"; @@ -20,11 +21,18 @@ import { Add } from "@material-ui/icons"; import { Layout, Layouts } from "react-grid-layout"; import { saveLayouts } from "../../../../../state/layouts/actions"; import "./styles.scss"; +import { UserSettingDTO } from "../../../../../generated"; +import { TUserCredentials } from "../../../../../state/main/types"; +import InfoBox from "../../../infoBox/InfoBox"; -export const GridLayoutToolbox: FC = () => { +const GridLayoutToolbox: FC = () => { const dispatch = useDispatch(); const { t } = useTranslation(); + const userCredentials = useSelector( + (state) => state.main.authentication.data + ); + const breakpoint = useSelector( (state) => state.layouts.breakpoint ); @@ -33,6 +41,10 @@ export const GridLayoutToolbox: FC = () => { (state: IState) => state.layouts.layouts ); + const dashboardSetting = useSelector( + (state) => state.layouts.getLayouts.data + ); + const toolbox = useSelector( (state: IState) => state.layouts.toolbox ); @@ -48,9 +60,23 @@ export const GridLayoutToolbox: FC = () => { ...removeWidget(toolbox, item), }); - dispatch( - saveLayouts(encodeLayout({ layout: layoutsTmp, toolbox: toolboxTmp })) - ); + let setting: UserSettingDTO; + + if (!dashboardSetting) { + setting = { + configName: "dashboard", + user: userCredentials?.username!, + } as UserSettingDTO; + } else { + setting = { ...dashboardSetting }; + } + + setting.configValue = encodeLayout({ + layout: layoutsTmp, + toolbox: toolboxTmp, + }); + + dispatch(saveLayouts(setting)); }; const GridLayoutToolboxItem: FC = ({ @@ -81,19 +107,31 @@ export const GridLayoutToolbox: FC = () => {
- {toolbox[breakpoint] - ? toolbox[breakpoint].map((layout) => { - return ( - onItemPut(layout)} - /> - ); - }) - : ""} + {isEmptyLayout(toolbox) && ( +
+ +
+ )} + + {!isEmptyLayout(toolbox) && ( + <> + {toolbox[breakpoint] + ? toolbox[breakpoint].map((layout) => { + return ( + onItemPut(layout)} + /> + ); + }) + : ""} + + )}
); }; + +export default GridLayoutToolbox; diff --git a/src/components/accessories/dashboard/layouts/toolbox/styles.scss b/src/components/accessories/dashboard/layouts/toolbox/styles.scss index 3d8362699..7c5f9b138 100644 --- a/src/components/accessories/dashboard/layouts/toolbox/styles.scss +++ b/src/components/accessories/dashboard/layouts/toolbox/styles.scss @@ -44,6 +44,12 @@ .Toolbox-item-button { width: 100%; } + + .info-box-container { + .infoBox { + background-color: white; + } + } } } } diff --git a/src/resources/i18n/en.json b/src/resources/i18n/en.json index 078418f53..41859c4bf 100644 --- a/src/resources/i18n/en.json +++ b/src/resources/i18n/en.json @@ -84,10 +84,12 @@ "togglefullscreen": "Toggle Fullscreen", "removedashboard": "Remove the Dashboard component", "downloaddata": "Download the underlying data", - "cantretrieveconfig": "Can't retrieve customisations", - "cantsaveconfig": "Can't save customisations", + "cantretrieveconfig": "Can't retrieve customizations", + "cantsaveconfig": "Can't save customizations", "reset": "Reset", - "resetcustomization": "Reset customisations" + "resetcustomization": "Reset customizations", + "toolboxempty": "Toolbox is empty", + "noallowedwidget": "You don't have permission to see any widget" }, "patient": { "address": "Address", diff --git a/src/state/layouts/actions.ts b/src/state/layouts/actions.ts index 78a7f49a5..89c673282 100644 --- a/src/state/layouts/actions.ts +++ b/src/state/layouts/actions.ts @@ -16,18 +16,18 @@ import { } from "./consts"; import { decodeLayoutConfig, + encodeLayout, randomLayout, toolboxDashboards, } from "../../components/accessories/dashboard/layouts/consts"; import { Layouts } from "react-grid-layout"; -import { UserSettingDTO } from "../../generated"; +import { UserSettingDTO, UsersApi } from "../../generated"; import { customConfiguration } from "../../libraries/apiUtils/configuration"; -import { UserSettingsApi } from "../../generated/apis/UserSettingsApi"; -const userSettingsApi = new UserSettingsApi(customConfiguration()); +const userSettingsApi = new UsersApi(customConfiguration()); export const getLayouts = - () => + (user: string) => (dispatch: Dispatch>): void => { dispatch({ type: GET_LAYOUTS_LOADING, @@ -37,59 +37,76 @@ export const getLayouts = let toolbox: Layouts; let savedConfig: string | undefined; - userSettingsApi.getUserSettingDashboard().subscribe( - (payload) => { - savedConfig = payload?.configValue; - if (savedConfig && atob(savedConfig) !== null) { - let decodedConfig = decodeLayoutConfig(savedConfig); - if (decodedConfig) { - layout = decodedConfig.layout; - toolbox = toolboxDashboards( - decodedConfig.layout, - decodedConfig.toolbox - ); + userSettingsApi + .getUserSettingByUser({ configName: "dashboard", userName: user }) + .subscribe( + (payload) => { + savedConfig = payload?.configValue; + if (savedConfig && atob(savedConfig) !== null) { + let decodedConfig = decodeLayoutConfig(savedConfig); + if (decodedConfig) { + layout = decodedConfig.layout; + toolbox = toolboxDashboards( + decodedConfig.layout, + decodedConfig.toolbox + ); + } else { + layout = randomLayout(4); + toolbox = toolboxDashboards(layout, {}); + } } else { layout = randomLayout(4); toolbox = toolboxDashboards(layout, {}); } - } else { - layout = randomLayout(4); - toolbox = toolboxDashboards(layout, {}); - } - dispatch({ - type: GET_LAYOUTS_SUCCESS, - payload: { layout, toolbox }, - }); - }, - (error) => { - dispatch({ - type: GET_LAYOUTS_FAIL, - error: error?.response, - }); - } - ); + dispatch({ + type: GET_LAYOUTS_SUCCESS, + payload: { + layout, + toolbox, + data: { + ...payload, + configValue: encodeLayout({ layout, toolbox }), + }, + }, + }); + }, + (error) => { + dispatch({ + type: GET_LAYOUTS_FAIL, + error: error?.response, + }); + } + ); }; export const saveLayouts = - (layoutConfig: string) => + (setting: UserSettingDTO) => (dispatch: Dispatch>): void => { dispatch({ type: SAVE_LAYOUTS_LOADING, }); - let setting: UserSettingDTO = { - configName: "dashboard", - configValue: layoutConfig, - } as any; + let saveUserRequest; + + if (setting.id > 0) { + saveUserRequest = userSettingsApi.updateUserSettings({ + id: setting.id, + userSettingDTO: setting, + }); + } else { + saveUserRequest = userSettingsApi.newUserSettings({ + userSettingDTO: setting, + }); + } - userSettingsApi.newUserSetting({ userSettingDTO: setting }).subscribe( + saveUserRequest.subscribe( (payload) => { - let decodedConfig = decodeLayoutConfig(layoutConfig); + let decodedConfig = decodeLayoutConfig(setting.configValue); dispatch({ type: SAVE_LAYOUTS_SUCCESS, - payload: decodedConfig, + payload: { ...decodedConfig, data: payload }, }); }, (error) => { diff --git a/src/state/layouts/reducer.ts b/src/state/layouts/reducer.ts index 95e6df5b4..fa4ce005d 100644 --- a/src/state/layouts/reducer.ts +++ b/src/state/layouts/reducer.ts @@ -38,6 +38,7 @@ export default produce((draft: ILayoutsState, action: IAction) => { draft.saveLayouts.status = "SUCCESS"; draft.layouts = action.payload.layout; draft.toolbox = action.payload.toolbox; + draft.getLayouts.data = action.payload.data; delete draft.saveLayouts.error; break; } @@ -64,6 +65,7 @@ export default produce((draft: ILayoutsState, action: IAction) => { case GET_LAYOUTS_SUCCESS: { draft.getLayouts.status = "SUCCESS"; + draft.getLayouts.data = action.payload.data; draft.layouts = action.payload.layout; draft.toolbox = action.payload.toolbox; delete draft.getLayouts.error; From 606404967a5af992cc6842d4723875bc40e63678 Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Fri, 1 Dec 2023 17:55:35 +0100 Subject: [PATCH 4/6] Ensure new widgets are added to the user dashboard if his permissions change --- src/state/layouts/actions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/state/layouts/actions.ts b/src/state/layouts/actions.ts index 89c673282..90b47be3b 100644 --- a/src/state/layouts/actions.ts +++ b/src/state/layouts/actions.ts @@ -63,7 +63,7 @@ export const getLayouts = type: GET_LAYOUTS_SUCCESS, payload: { layout, - toolbox, + toolbox: toolboxDashboards(layout, toolbox), data: { ...payload, configValue: encodeLayout({ layout, toolbox }), From 10b049c2077c06be39f6cf3677743f3c784f77dc Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Wed, 6 Dec 2023 09:45:49 +0100 Subject: [PATCH 5/6] Manage empty dashboard customization --- .../accessories/dashboard/layouts/consts.ts | 41 ++++++++++++++----- .../layouts/container/GridLayoutContainer.tsx | 10 ++--- src/resources/i18n/en.json | 3 +- src/state/layouts/actions.ts | 29 +++++++++++-- 4 files changed, 63 insertions(+), 20 deletions(-) diff --git a/src/components/accessories/dashboard/layouts/consts.ts b/src/components/accessories/dashboard/layouts/consts.ts index 5f5648864..77740ca64 100644 --- a/src/components/accessories/dashboard/layouts/consts.ts +++ b/src/components/accessories/dashboard/layouts/consts.ts @@ -165,6 +165,10 @@ export function removeDuplicates(input: Layouts): Layouts { export function removeDoubles(input1: Layouts, input2: Layouts): Layouts { let cleanInput: Layouts = {}; + if (Object.keys(input2).length === 0) { + return input1; + } + Object.keys(input1).forEach((breakpoint) => { let breakpointConfig = input1[breakpoint].filter((layout) => { return !input2[breakpoint].some((layout1) => layout1.i == layout.i); @@ -188,7 +192,7 @@ export function allowedDashboards(): TDashboardComponent[] { try { permissions = getAuthenticationFromSession().permissions; } catch (error) { - console.log(error); + //console.log(error); } DASHBOARDS.forEach((dash) => { @@ -453,15 +457,32 @@ export const addWidget = ( breakpoint: LayoutBreakpoints ): Layouts => { let layouts: Layouts = {}; - Object.keys(input).forEach((currentBreakpoint) => { - let breakpointConfig = [ - ...input[currentBreakpoint], - breakpoint === currentBreakpoint - ? widget - : generateLayout(currentBreakpoint as LayoutBreakpoints, [widget.i])[0], - ]; - layouts[currentBreakpoint] = breakpointConfig; - }); + + if (Object.keys(input).length === 0) { + ["lg", "md", "sm", "xs", "xxs"].forEach((currentBreakpoint) => { + let breakpointConfig = [ + ...(input[currentBreakpoint] ?? []), + breakpoint === currentBreakpoint + ? widget + : generateLayout(currentBreakpoint as LayoutBreakpoints, [ + widget.i, + ])[0], + ]; + layouts[currentBreakpoint] = breakpointConfig; + }); + } else { + Object.keys(input).forEach((currentBreakpoint) => { + let breakpointConfig = [ + ...input[currentBreakpoint], + breakpoint === currentBreakpoint + ? widget + : generateLayout(currentBreakpoint as LayoutBreakpoints, [ + widget.i, + ])[0], + ]; + layouts[currentBreakpoint] = breakpointConfig; + }); + } return layouts; }; diff --git a/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx b/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx index 083367dd4..4ddeea082 100644 --- a/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx +++ b/src/components/accessories/dashboard/layouts/container/GridLayoutContainer.tsx @@ -189,10 +189,6 @@ const GridLayoutContainer: FC = () => { ) ); - useEffect(() => { - console.log(errorMessage); - }, [errorMessage]); - const saveErrorMessage = useSelector((state: IState) => t(state.layouts.saveLayouts.error?.message || "dashboard.cantsaveconfig") ); @@ -244,7 +240,11 @@ const GridLayoutContainer: FC = () => { style={{ textAlign: "center" }} className="info-box-container" > - + {isEmptyLayout(toolbox) ? ( + + ) : ( + + )} )} diff --git a/src/resources/i18n/en.json b/src/resources/i18n/en.json index 41859c4bf..69e19bb9b 100644 --- a/src/resources/i18n/en.json +++ b/src/resources/i18n/en.json @@ -89,7 +89,8 @@ "reset": "Reset", "resetcustomization": "Reset customizations", "toolboxempty": "Toolbox is empty", - "noallowedwidget": "You don't have permission to see any widget" + "noallowedwidget": "You don't have permission to see any widget", + "emptylayout": "No displayed widget. Start by adding widgets" }, "patient": { "address": "Address", diff --git a/src/state/layouts/actions.ts b/src/state/layouts/actions.ts index 90b47be3b..0247bd934 100644 --- a/src/state/layouts/actions.ts +++ b/src/state/layouts/actions.ts @@ -72,10 +72,31 @@ export const getLayouts = }); }, (error) => { - dispatch({ - type: GET_LAYOUTS_FAIL, - error: error?.response, - }); + // If dashboard customization is not found, init an empty + // customization + if (error.status === 400) { + let layout: Layouts = {}; + let toolbox: Layouts = toolboxDashboards({}, {}); + let setting = { + configName: "dashboard", + configValue: encodeLayout({ layout, toolbox }), + user, + } as UserSettingDTO; + + dispatch({ + type: GET_LAYOUTS_SUCCESS, + payload: { + layout, + toolbox, + data: setting, + }, + }); + } else { + dispatch({ + type: GET_LAYOUTS_FAIL, + error: error?.response, + }); + } } ); }; From 064d8c668a114cb4a4dc9e501065f5ee860eec2b Mon Sep 17 00:00:00 2001 From: SilverD3 Date: Wed, 6 Dec 2023 15:49:42 +0100 Subject: [PATCH 6/6] Display empty layout is no stored config found --- src/state/layouts/actions.ts | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/state/layouts/actions.ts b/src/state/layouts/actions.ts index 0247bd934..7adf838bd 100644 --- a/src/state/layouts/actions.ts +++ b/src/state/layouts/actions.ts @@ -51,30 +51,38 @@ export const getLayouts = decodedConfig.toolbox ); } else { - layout = randomLayout(4); + layout = {}; toolbox = toolboxDashboards(layout, {}); } } else { - layout = randomLayout(4); + //layout = randomLayout(4); + layout = {}; toolbox = toolboxDashboards(layout, {}); } + if (!payload) { + payload = { + configName: "dashboard", + configValue: encodeLayout({ layout, toolbox }), + user, + } as UserSettingDTO; + } else { + payload.configValue = encodeLayout({ layout, toolbox }); + } + dispatch({ type: GET_LAYOUTS_SUCCESS, payload: { layout, toolbox: toolboxDashboards(layout, toolbox), - data: { - ...payload, - configValue: encodeLayout({ layout, toolbox }), - }, + data: payload, }, }); }, (error) => { // If dashboard customization is not found, init an empty // customization - if (error.status === 400) { + if (error.status === 404) { let layout: Layouts = {}; let toolbox: Layouts = toolboxDashboards({}, {}); let setting = {