Versions Compared

Key

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

Table of Contents

...

  1. Release Service Request

Validation

Authorization

  • Verify the validity of access token
    • Return (401, 'unauthorized') in case of validation fails
  • Verify that token is not expired
    • in case of error - return (401, 'unauthorized')
  • Check user scopes in order to perform this action (scope = 'service_request:use')
    1. Return (403, 'invalid scopes') in case of 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 legal entity"

Validate transition

Only active and used service request can be released

  1. Get service request by ID
  2. Service request must be active
    1. ME.status == "active"
      1. in case of error return 409 "Invalid service request status"
  3. Program_processing_status must be "in_queue"
    1. ME.program_processing_status == "active"
      1. in case of error return 409 "Invalid program processing status"

Service logic

  1. Update service request attributes. Erase used_by
    1. Set Medical Events DB: service_requests[<id>].used_by to NULL
  2. Update service request attributes. Erase used_by_legal_entity
    1. Set Medical Events DB: service_requests[<id>].used_by_legal_entity to NULL
  3. Change program_processing_status to new

...