...
This WS allows to set date and time when Specimen was received for processing by laboratory employee.
Specification
Link | |
Resource | /api/patients/patient_id/specimens/id/actions/ |
Scope | specimen:process |
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 |
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:process')
return 403 (“Your scope does not allow to access this resource. Missing allowances: specimen:process”) 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:
received_time = $.received_time
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
401 | Invalid access token |
403 | Access denied. Party is not verified | |
403 | Access denied. Party is deceased | |
403 | Your scope does not allow to access this resource. Missing allowances: specimen:process |
404 | not found |
409 | client_id refers to legal entity that is not active | |
409 | Specimen is not in available status |
422 | Should be between collected datetime and current datetime | |
422 | Value is already set and cannot be changed |