Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

This web service is designed to change service request status to `In progress`.

...

Validations

Validate token

  • Verify the validity of access token
    • Return 401 in case validation fails
  • Verify token is not expired
    • in case of error return 401 

Validate scopes

  • Check user scopes in order to perform this action (scope = 'service_request:use')
    1. Return 403 in case invalid scope(s)

Validate legal entity

  • Check legal entity type: it has to be in me_allowed_transactions_le_types config parameter, has status = active and nhs_verified = true
    • in case of error return 409 "Action is not allowed for the leagal entity"

Validate transition

  1. Service request must be active
    1. ME.service_request.status  == "active"
      1. in case of error return 409 "Invalid service request status"
  2. Program processing status should be in_queue
    1. ME.service_request.program_processing_status  == "in_queue"
      1. in case of error return 409 "Invalid  program processing status status"

...

  1. Validate program according to Pre-Qualify rules.
    1. it is an existing service program (type=service)
      1. in case not found or is_active==false return 422  "Program not found"
      2. in case type!= service return 422 "Invalid program type"
    2.  service(or service_group) is an active member of the program
      1. Select request_allowed, is_active from PRM.program_services where service_id(or group_id) == $.signed_content.code.identifier.value and program_id=$.program.identifier.value
        1. if not found or is_active==false return 422 "Service is not included in the program"
        2. if request_allowed==false return 422 "Service request is not allowed for this service(service_group) in this programm"
  1. Service request must be used by the same legal entity that current user is from 
    1. ME.service_request.used_by_legal_entity=token.legal_entity_id

...