Test 3

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

1. Objectives

During this test, you will:

  • Deepen your practical skills in developing the business processes on the Platform.

  • Get familiar with nested entities.

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_edu_profile entity

    1

    Child profile ID

    person_profile_id

    Text

    +

    2

    Student status (Student status ID)

    person_edu_state_id

    UUID

    Student status (person_edu_state)

    +

    3

    Institution of general secondary education ID (Institution where the student is currently or was last studying)

    edu_organization_id

    UUID of the institution passport (Edu_organization) from the institution passport

    +

    orders entity

    4

    Class ID

    unit_id

    UUID

    +

    5

    Child profile ID

    person_profile_id

    UUID

    +

    6

    Order number

    order_number

    Text

    +

    7

    Order date

    order_date

    Date

    +

    8

    Order type (Order type ID)

    order_type_id

    UUID

    Order type (order_type)

    +

    9

    Enrollment date

    enrollment_date

    Date

    +

    transaction entity

    10

    Order ID

    order_id

    UUID

    +

    11

    Class ID

    unit_id

    UUID

    +

    12

    Student’s educational profile ID

    person_edu_profile_id

    UUID

    +

  2. Create a Composite Entity endpoint for the person_edu_profile, transaction, and orders entities, where orders and person_edu_profile entities are parents of the transaction entity.

    For details on creating Composite Entities, see Saving multiple entities within a single transaction.
  3. Create the following search conditions:

    1. Create a search condition (unit_edu_organization_id_equals) for searching institution classes with EQUALS support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT unit.unit_id, unit.parallel, unit.name, unit_type.name, unit. students_max_number, COUNT (transaction_id)
        FROM unit
        INNER JOIN unit_type ON unit.unit_type_id = unit_type.unit_type_id
        INNER JOIN transaction on unit.unit_id = transaction.unit_id
        WHERE unit.edu_organization_id='UUID';
        Parameters: UUID
        Constants: none
      • Output parameters:

        UUID, 1, A, general, 25, 5
    2. Create a search condition (person_profile_equal) to check the 'person_edu_profile_id' field with EQUALS support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT person_edu_profile.person_profile_id, person_edu_profile.edu_organization_id, person_edu_state.constant_code  FROM  person_edu_profile
        INNER JOIN  person_edu_state  ON  person_edu_profile.person_edu_state_id = person_edu_state.person_edu_state_id
        WHERE  person_edu_profile.person_edu_profile_id ='UUID'
        Parameters:  person_edu_profile.person_edu_profile_id
        Constants: none
      • Output parameters:

        UUID, UUID, STUDYING
        If the record does not exist Output:
        null
    3. Create a search condition (person_edu_state_equal) to fill out the Student status field with READ ALL and EQUALS support.

      READ ALL
      • Input parameters:

        SELECT person_edu_state_id, name, constant_code FROM person_edu_state ORDER BY name;
        Parameters: none
        Constants: none
      • Output parameters:

        UUID, Studying, STUDYING
        UUID, Not attending, NOT_ATTENDING
        UUID, Excluded, EXCLUDED
        UUID, Graduated, GRADUATED
      EQUAL
      • Input parameters:

        SELECT person_edu_state_id, name, constant_code FROM person_edu_state WHERE  constant_code = 'STUDYING' ORDER BY name;
        Parameters: constant_code
        Constants: none
      • Output parameters:

        UUID, Studying, STUDYING
    4. Create a search condition (order_type_code_equals) to fill out the Order type field with EQUALS support.

      SEARCH BY EQUALS
      • Input parameters:

        SELECT order_type_id, name FROM order_type WHERE  constant_code='INITIAL_ONBOARDING' ;
        Parameters: constant_code
        Constants: none
      • Output parameters:

        UUID, Initial creation of an educational profile
  4. Create the following forms:

    1. A form for entering data to search for a child (start)

    2. A form for entering data into the educational profile

    3. A form for signing data for the educational profile

  5. Create the following business process:

    • Develop a business process for creating a child’s educational profile, where businessKey is child’s full name. Add the following validations:

      • A child’s profile was created in the registry.

      • A child’s educational profile was not created previously.

      The object stored in the database is a nested entity.

      Before completing the business process, determine its status.

3. Expected result

After completing this test, you should have the following:

  • A business process for creating a child’s educational profile in a test registry.

  • Your business process must be available as a service in the user portal.