ЕСОЗ - публічна документація
RC_CSI-3326 CR-550 Qualify Medication request by ID
…..
Validate division
Validate division is active
in case of error - return 409 ("Division is not active")
Validate division belongs to user's legal entity
in case of error - return 409 ("Division does not belong to user's legal entity")
If the medical program has no setting skip_dispense_division_dls_verify or it is set in false/null validate:
Check $.division.dls_verify == true:
In case of error - return 409 "Invalid division dls status"
else if skip_dispense_division_dls_verify = true, then skip license verification for the division
Check division participates in submitted programs. Validate Provision for each Medical Program:
If the medical program has no setting skip_contract_provision_verify or it is equal to false/null:
if medical program in the request has funding_source one of NHS, LOCAL
In case of error - return status=INVALID for a program, rejection_reason="Program was configured incorrectly. Either incorrect source of funding or option skip_contract_provision_verify"
provision exist and active for the division:
in case of error - return status=INVALID for a program, rejection_reason= "Division does not provide the medical program"
if medical program in the request has funding_source = NHS:
provision relates to the actual reimbursement contract: contract.start_date <= current_date <= contract.end_date, is_active = true, status = VERIFIED, contracts.type==reimbursement, contracts.contractor_legal_entity_id=token.client_id, contracts.medical_program_id==$.medical_program_id
in case of error - return status=INVALID for a program, rejection_reason="Medical program provision is not related to any actual contract for the current date"
contract is_suspended = false
in case of error - return status=INVALID for a program, rejection_reason="Contract with number <contract_number> is suspended"
if medical program in the request has funding_source = LOCAL, then check medical_program_provision.msp_legal_entity_id = medication_request.legal_entity_id
in case of error - return status=INVALID for a program, rejection_reson = "Medical program can not be provided for the legal entity specified in the medication request"
else if skip_contract_provision_verify = true, then skip provision verification for the medical program
Get license_types_allowed parameter from settings of medical program from request $.medical_program_id:
if it is exists and not empty, get list of all license types from parameter.
Check that division has active healthcare services with following parameters:legal_entity_id = client_id from access token
division_id = division_id from request
status = 'ACTIVE'
type=’SALE’
licensed_healthcare_service.status = 'ACTIVE'
healthcare_service.license_id is not null and licenses.type = value from license_types_allowed parameter
in case of error - return status=INVALID for a program, rejection_reason = 'Division does not have active licenses to provide the medical program'
Validate production license for division
Get medical program from Medication request. Check if medical_program.id is in MEDICATION_REQUEST_BLOCK_ALLOWED_PROGRAMS configuration parameter:
If no - skip validation
If yes - check that division from request has active healthcare service with following parameters:
status = 'ACTIVE'
type=’PRODUCTION’
licensed_healthcare_service.status = 'ACTIVE'
in case of error - return status=INVALID for a program, rejection_reason = 'Division does not have active license to produce medication'
ЕСОЗ - публічна документація