Table of Contents |
---|
Purpose
This WS gives the opportunity to update external identifier and other fields of an unidentified person in eHealth, except the note field.
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 | ||
---|---|---|
| ||
|
...
|
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 c2778f3064753ea70de870a53795f5c9
api-key:uXhEczJ56adsfh3Ri9SUkc4en
Request data validation
Validate legal entity
Check that legal entity is active (status = ACTIVE) 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 ID exists and belongs to preperson
Check ID exists in MPI.prepersons
In case error - 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 | ||
---|---|---|
| ||
|
Post-processing processes
API paragraph not found
HTTP status codes
Page Properties | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|