Table of Contents |
---|
...
This WS allows to mark Specimen as unavailable.
Specification
Link | |
Resource | /api/patients/patient_id/specimens/id/actions/ |
Scope | specimen:invalidate |
Components | Specimen |
Microservices |
|
Protocol type | REST |
Request type | PATCH |
Sync/Async | Async |
Public/Private/Internal | Public |
...
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
patient_id |
| String | Unique patient identifier |
|
id |
| String | Unique specimen identifier | aff00bf6-68bf-4b49-b66d-f031d48922b3 |
Dictionaries
specimen_invalidate_reasons
Request structure
See on Apiary
Authorization
Verify the validity of access token
in case of error - return 401 (“Invalid access token”) in case of validation fails
Verify that token is not expired
in case of error - return 401 (“Invalid access token”)
Check user scopes in order to perform this action (scope = 'specimen:invalidate')
return 403 (“Your scope does not allow to access this resource. Missing allowances: specimen:invalidate”) in case of invalid scope(s)
If BLOCK_UNVERIFIED_PARTY_USERS is true, then check party's data match following condition: verification_status != NOT_VERIFIED or (verification_status = NOT_VERIFIED and updated_at > current_date - UNVERIFIED_PARTY_PERIOD_DAYS_ALLOWED):
in case not match - return 403 ("Access denied. Party is not verified")
If BLOCK_DECEASED_PARTY_USERS is true, check that party is not deceased (party_verification record does not equal to: dracs_death_verification_status = VERIFIED and dracs_death_verification_reason = MANUAL_CONFIRMED):
in case of error - return 403 ("Access denied. Party is deceased")
...
Create job and return it’s id.
Update specimen record with following:
status = unavailable
status_reason = $.status_reason
updated_at = current datetime
updated_by = user_id from token
Response structure
See on Apiary
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
200 |
|
|
401 | Invalid access token |
|
403 |
|
|
404 | not found | |
409 | Specimen is not in available status |
|
422 | value is not allowed in enum |
|