Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

Table of Contents

...

  1. Only authenticated and authorized HR, ADMIN, OWNER employees can register equipments.
  2. Equipments can be registered in MSP, OUTPATIENT, PRIMARY_CARE and EMERGENCY legal entities.
  3. Equipment has to be linked to division. One division can have many equipments.
  4. Legal entity can register equipments for its own divisions only.

...

  1. Extract client_id from token (token.client_id == legal_entity_id)
  2. Check legal entity status (status = ACTIVE, SUSPENDED)
    1. In case of error - return 409 (Legal entity must be ACTIVE or SUSPENDED)

Validate request

Validate request using schema

Validate division

A division_id should be passed in request body:

  1. Validate division_id in request body - division exists and is_active = true
    1. Return 422 in case validation fails
  2. Check division_id belongs to the same legal_entity_id (from token) as the user
    1. Return 422 with message  "Division is not within current legal entity" in case validation fails.
  3. Check division status =ACTIVE.
    1. Return 422 with message "Division is not active" in case validation fails.

...

  1. Check an external_id field is not empty
    1. Return 422 (required property external_id was not present) in case of error

Save object to DB

1. equipments table

ParameterSourceDescription
idUUIDAutogenerated
typeRequest: typeGet from request body
external_idRequest: external_idGet from request body
division_idRequest: division_idGet from request body
udiRequest: udiGet from request body
lot_numberRequest: lot_numberGet from request body
manufacturerRequest: manufacturerGet from request body
manufacture_dateRequest: manufacture_dateGet from request body
expiration_dateRequest: expiration_dateGet from request body
model_numberRequest: model_numberGet from request body
part_numberRequest: part_numberGet from request body
versionRequest: versionGet from request body
nameRequest: nameGet from request body
serial_numberRequest: serial_numberGet from request body
noteRequest: noteGet from request body
legal_entity_idToken: client_idExtract client from token
statusConst: ACTIVEBy default ACTIVE for new records
is_activeConst: TRUEAlways TRUE for new records
inserted_atTimestamp: now()Get current date-time
inserted_byToken: user_idExtract user from token
updated_atTimestamp: now()Get current date-time
updated_byToken: user_idExtract user from token

...

ParameterSourceDescription
idUUIDAutogenerated
equipment_idUUIDReference to equipments.id
statusConst: ACTIVEBy default ACTIVE for new records
inserted_byToken: user_idExtract user from token
inserted_atTimestamp: now()Get current date-time

...