Test 2

🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions.

1. Objectives

This test aims to deepen your practical skills in developing business processes.

2. Tasks

  1. Create a data model based on the following table.

    Table 1. Fields and descriptions

    No.

    Field name on the form and in the logical data model

    Field name in the physical data model

    Format

    Reference used

    Required field

    person_profile entity

    1

    Last name

    last_name

    Text

    +

    2

    First name

    first_name

    Text

    +

    3

    Middle name

    second_name

    Text

    -

    4

    Date of birth

    birthday

    Date

    +

    5

    Type of document certifying child’s identity (document type ID)

    doc_type_id

    UUID

    Document type (doc_type)

    +

    6

    Birth certificate series

    birthday_doc_series

    Text

    -

    7

    Birth certificate number

    birthday_doc_number

    Text

    -

    8

    Child’s document series (if available) and number

    document_series_number

    Text

    -

    9

    Gender

    gender

    Enum type="type_gender"

    +

    unit entity

    10

    Institution of general secondary education ID

    edu_organization_id

    UUID

    +

    11

    Class name

    name

    Text

    +

    12

    Class type (class type ID)

    unit_type_id

    UUID

    Class type (unit_type)

    +

    13

    Grade

    parallel

    Text

    +

    14

    Academic year

    academic_year

    Text

    +

    15

    Maximum students

    students_max_number

    Smallint

    +

For details on creating Enum type fields, see Tag for creating an enumerated data type (ENUM).
  1. Create the following search conditions:

    1. Create a search condition endpoint to fill the Name of the institution I represent and Name of the institution for enrollment fields with EQUALS (edu_organization_edrpou_equals) support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT edu_organization_id, full_name FROM edu_organization WHERE edrpou ='23804735 '
        Parameters:  edrpou
        Constants: none
      • Output parameters:

        6731fad5-8c80-4965-9fc6-c2cebd508f24, Yaroslav Osmomysl Galicia Lyceum
    2. Create a search condition endpoint to check whether specific classes (name and grade) are available in the institution with EQUALS (unit_name_parallel_equals) support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT unit_id, parallel, name, edu_organization_id  FROM unit WHERE parallel =’1’ and name ='A ' and edu_organization_id=’UUID’
        Parameters:  parallel, name, edu_organization_id
        Constants: none
      • Output parameters:

        6731fad5-8c80-4965-9fc6-c2cebd508f24, 1, A, 5731fad5-8c80-4965-9fc6-c2cebd508f25
        Or
        NULL
    3. Create a search condition endpoint to fill the Class type field with LIKE and READ ALL (unit_type_name_contains) support.

      READ ALL
      • Input parameters:

        SELECT unit_type_id, name, constant_code  FROM unit_type ORDER BY name ASC  ;
        Parameters: none
        Constants:  none
      • Output parameters:

        UUID, General, GENERAL_TYPE
        UUID, Inclusive, INCLUSIVE_TYPE
        UUID, Special, SPECIAL_TYPE
      SEARCH BY LIKE
      • Input parameters:

        Input: SELECT unit_type_id, name, constant_code FROM unit_type WHERE name LIKE '%Спе%' ORDER BY name ASC ;
        Parameters: name
        Constants: none
      • Output parameters:

        UUID, Special, SPECIAL_TYPE
    4. Create a search condition endpoint to fill the Document type field with LIKE and READ ALL (doc_type_contains) support.

      READ ALL
      • Input parameters:

        SELECT doc_type_id, name, constant_code FROM doc_type ORDER BY name;
        Parameters: none
        Constants: none
      • Output parameters:

        UUID, Birth certificate of a citizen of Ukraine, BIRTH_CERT_UKRAINE
        UUID, Birth certificate of a foreign citizen, BIRTH_CERT_FOREIGN
        UUID, Passport of a foreign citizen, PASSPORT_FOREIGN
        When displaying values from the doc_type table, the "Birth certificate of a citizen of Ukraine" (BIRTH_CERT_UKRAINE) value must be displayed at the top.
      SEARCH BY LIKE
      • Input parameters:

        SELECT doc_type_id, name, constant_code FROM doc_type WHERE name LIKE '%сві%' ORDER BY name ASC ;
        Parameters: name
        Constants: none
      • Output parameters:

        UUID, Birth certificate of a citizen of Ukraine, BIRTH_CERT_UKRAINE
        UUID, Birth certificate of a foreign citizen, BIRTH_CERT_FOREIGN
    5. Create a search condition endpoint to fill out the Child’s name and Child’s date of birth fields (for citizens of Ukraine) with EQUALS (person_profile_equal_doc_type_birthday_ua) support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT person_profile_id , last_name , first_name, second_name (не обов'язкове), birthday FROM  person_profile  WHERE doc_type =' Birth certificate of a citizen of Ukraine ' AND  birthday_doc_series  ='I-AB'  AND  birthday_doc_number ='214722'  AND   birthday ='01.01.2012'
        Parameters:  doc_type ,  birthday_doc_series, birthday_doc_number , birthday
        Constants: none
      • Output parameters:

        UUID, Ivanov, Ivan, Ivanovych, 01.01.2012
        If the record does not exist Output:null
    6. Create a search condition endpoint to fill out the Child’s name and Child’s date of birth fields (for foreign citizens) with EQUALS (person_profile_equal_doc_type_birthday_foreigner) support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT person_profile_id , last_name , first_name, second_name (не обов'язкове), birthday FROM  person_profile  WHERE doc_type  =' Birth certificate of a foreign citizen ' OR 'Passport of a foreign citizen' AND document_series_number  ='5577675'  AND   birthday ='18.07.2013'
        Parameters:  doc_type , document_series_number , birthday
        Constants: none
      • Output parameters:

        UUID, Magovaiev, Dmytro, Ibragymovych, 18.07.2013
        
        If the record does not exist
        Output:
        null
  2. Create the following forms:

    1. A form for adding information about classes (start form).

    2. A form for signing class data.

    3. A form for adding information about children (start form).

    4. An informational form stating that the data has been validated in the State registry of civil status acts and may differ from the data provided.

    5. A form for signing child data.

  3. Create the following business processes:

    1. Develop a business process for adding classes, where businessKey is "grade + class name".

      Add validation to check whether a class with the same name has already been added and display an error message if true.

      Configure a dynamic task name so that the message about the execution of the task displays the following information: "Sign class data for "grade + class name" using QES".

      Before completing the business process, determine its status.

    2. Develop a business process for creating a child profile, where businessKey is child’s full name.

      Add validation to check whether a child profile with the same document has already been created and display an error message if true.

      If a child has a Ukrainian birth certificate, search for the child in the State registry of civil status acts. Currently, two search options are possible:

      • certificate series, certificate number, date of birth

      • certificate series, certificate number, full name

      Before completing the business process, determine its status.

3. Expected result

After completing this test, you should have the following:

  • Business processes for adding classes and child profiles in a test registry.

  • Your business processes must be available as services in the user portal.