Table of Contents |
---|
Purpose
This WS allows to create Specimen entity by employees without submitting Encounter Data Package.
...
Check that $.collection.duration.system is
eHealth/ucum/units
dictionary, requiredin case of error - return 422 ('value is not allowed in enum')
Check that $.collection.duration.code comply with $.collection.duration.system and one of SPECIMEN_DURATION_ALLOWED_CODES, required
in case of error - return 422 ('value is not allowed in enum')
Check $.collection.duration.value is not empty, is float, greater than zero
in case of error - return corresponding 422 ('must be greater than 0')
...
Save signed content to media storage, in the bucket pointed in MEDIA_STORAGE_SPECIMEN_BUCKET chart parameter
Generate accession_identifier number:
Generate requisition number (see Human readable requisition number) based on the specimen id. Note: requisition number should be unique for each specimen and should not match with number of another entities. So, if generated number match to existing in DB - it should be regenerated
Encode and set it into $.accession_identifier attribute
Set display_value for:
registered_by attribute
managing_organization attribute
collection.collector attribute, only if type is employee (not patient)
Set context, received_time, status_reason, collection.procedure to null
Set subject with hashed mpi identifier
Save data to specimens collection in DB according to https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/17629118845 RC.__Specimen data model_EN
Save link from media storage to the $.signed_content_links field in specimens collection
Create job and return it’s id.
...