ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Status

Specification

DONE

Apiary

DONE

JSON Schema request

ABSENT

JSON Schema response
SPECS

Purpose

This WS is designed to return Program_medications detail.

APIary

Get Program medications by id                                               

Input parameters (filters)

  • id 

Logic WS

  1. Verify the validity of access token
  2. Check user scopes in order to perform this action (scope = 'program_medications:read')

Validate PK Medication

Purpose validation: Check on existing record for the participant (Medication within the Medical program)

  1. Check exist  participant "Program_medications" by $.id

    1. if invalid - return 404 error (message: "ID for Medication linked with the Medical program is not found!")

Validate status

Purpose validation:  Participant (medication within the program) should be active (is_active == TRUE) 

  1. Validate `is_active` == TRUE
    1. if invalid  - return 409 eror (message: "Participant should be active!")

Logic WS

  1. Verify the validity of access token
  2. Check user scopes in order to perform this action (scope = 'program_medications:read')
  3. Search Program_medications by filters in payload

    
    
    SELECT  pr.id
          ,mp.name as medical_program_name
          ,med.name as medication_name
          ,med.form
          ,med.manufacturer 
          ,INNM.name as innm_name
          ,pr.reimbursement
          ,pr.medication_id
          ,pr.medical_program_id
          ,pr.is_active 
          ,pr.medical_request_allowed
          ,INNM.id as innm_id
          ,innm.dosage as innm_dosage
          ,innm.form as innm_form
          ,innm.is_active_substance
          ,med.dosage as med_dosage
          ,med.is_active_substance
          ,sub.id as substances_id
          ,sub_name as substances_name
    FROM program_medications pr
        INNER JOIN medical_programs mp 
                ON pr.medical_program_id = mp.id
                AND mp.is_active = TRUE 
        INNER JOIN medications med
                ON pr.medication_id = MED.id
                AND MED.is_active = TRUE
                AND MED.type = 'MEDICATION'
                AND MED.ingredients.is_active_substance = TRUE
        INNER JOIN medications INNM
                ON MED.ingredients.id = INNM.id
                AND INNM.is_active = TRUE
                AND INNM.type = 'INNM'    
        INNER JOIN substances sub
                ON INNM.ingredients.id = sub.id
                AND sub.is_active = TRUE
    WHERE pr.id = $.id 
        

Prepare & return response data structure

  1. Fill response WS data structure 
  2. Validate response using JSON schemas (!!! TBD)
    1. Return 422 with list of validation errors in case validation fails (422 EView) 
  • No labels