...
...
...
...
...
...
...
...
Table of Contents |
---|
Purpose
This WS gives the opportunity to update external identifier of unidentified person in eHealthMethod enables to modify all the preperson fields except note and status.
Specification
Page Properties | ||
---|---|---|
| ||
...
|
Logic
Only authenticated and authorized
...
SPECIALIST, ASSISTANT, RECEPTIONIST
...
employees can update external_id of preperson.
Preperson can be updated
...
only in OUTPATIENT or EMERGENCY legal entity type
...
, if
...
identifier of preperson is being known (returns after Create preperson).
Only
...
note and status fields can not be updated.
Update allowed for prepersons with status =
...
active.
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
id | String | MPI identifier of the preperson. Required | 7c3da506-804d-4550-8993-bf17f9ee0402 |
Request structure
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Dictionaries
GENDER
PHONE_TYPE
Authorize
Verify the validity of access token
...
return 401 in case validation fails
Check user scopes in order to perform this action (scope = 'preperson:
...
write')
...
return 403 in case invalid scope(s)
Headers
Content-Type:application/json
Authorization:Bearer {{access_token}}
Api-key:{{secret}}
Request data validation
Validate legal entity
Check that legal entity is active (status = ACTIVE, SUSPENDED) and belongs to the user
Extract client_id from token
...
Check legal entity status (status = ACTIVE
...
)
In case of error - return 409 (Legal entity must be ACTIVE
...
)
Validate
...
ID
Check person_id ID exists and belongs to preperson
Check
...
ID exists in MPI.
...
prepersons
In case error -
...
Convert person_id into patient_id. Check patient_id exists in medical_data.patients collection
...
404
Check preperson has status=active
In case error - return 422 (
...
Preperson is not active)
Validate request
Validate request using schema (TBD)
Check at least one of allowed field is submitted and has value:
first_name
last_name
second_name
gender
external_id
birth_date
...
emergency_contact
death_date
In case of error - return 422 (Schema validation failed)
note
Check if any forbidden field is submitted:
status
In case of error - return 422 (Schema validation failed)
Validate fields
Validate external_id
...
according to regexp -
8-10.8-10.1-10 [0-9
Validate birth_date - must be <= today()
else error 422 "Birth date can't be in the future"Validate death_date < now():
In case of error - return 422
...
- “Death date can not be in future”
Validate death_date > = birth_date:
else error 422 "Death date should equal or greater than birth_date"
If death_date submitted, set mpi.preperson.status = inactive
Processing
Update object in DB
...
prepersons table
Parameter | Source | Description |
---|---|---|
external_id | Request: external_id | Identifier from external system |
. Get from request body | ||
first_name | Request: first_name |
|
second_name | Request: second_name |
|
last_name | Request: last_name |
|
gender | Request: gender |
|
birth_date | Request: birth_date | If submitted, set status = inactive |
emergency_contact | Request: emergency_contact |
|
death_date | Request: death_date | |
note | Request: note | |
updated_at | timestamp: now() | Get current date-time |
updated_by | uuid | Extract user from token |
Response structure
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
HTTP status codes
Page Properties | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|