Registration (FGA)
Summary :
Differences between Registries Platform and specification: |
No fully no-code approach during the development of registry regulations. It can also be treated as a benefit in part of the cases because this allows building more complex and specific business flows, which bring more value and usability to an end-user in summary. |
Actions for forms components should be defined in javascript language |
No self-registration using email/phone and password with further confirmation |
No direct integration to external systems from UI forms (except registries running on the platform instances). Integration is modeled on business process level through Trembita / REST API |
No granular UI-form action to role mapping. User task / UI form with all its actions is configured to be accessible to one/multiple roles |
No support for reports granular access control for different services / roles |
No SMS/Voice services |
No QR-code generation (planned for the future) |
No consent management (planned for the future) |
No single Information Mediator BB used, except Trembita event bus for SOAP integrations |
Business process (service, registration) design happens in a BPMN modeller. The Registries Platform do not have any additional component on top of BPMN design tools. |
Key Digital Functionalities :
A no-code development platform | Could be implemented | Low-code development platform for digital services modelling available covering data model, business process, UI-forms, org structure, access management, reporting and notifications, external integrations, etc. |
The online registration services developed with the platform (there is no limit to the number of services that can be developed) | Implemented | Registries Platform provides end-user cabinet interfaces for consuming and providing digital services by citizen and officer user roles |
The no-code development platform is used by authorized personnel, called “analysts”, entrusted by the entities in charge of the registrations to develop the corresponding online services. | Implemented | Low-code development platform is used by authorized personnel registered in administrative realm by entrusted entities and having specialized set of roles |
The online registration services developed with the no code platform are used by the applicants who want to be registered and by the operators in charge of processing the requests. | Implemented | Digital services are consumed by citizen users and provided / processed by officer users through end-user cabinet interfaces |
No-Code Development Platform |
|
|
Rules engine: a tool transforming legal rules relating to a registration (i.e subjects, results, requirements and determinants), defined by a human analyst, into machine-readable statements. See definition and illustration of “rules engine”. | Could be implemented | Low-code development platform provides modeling capabilities for business processes in BPMN notation, scripting business rules, UI-forms field dependencies & validation logic, etc. |
Screens (user interface) and flow builder: a tool for a human analyst to create and organize the screens and fields that are necessary for the registration (application file) and processing. | Implemented |
|
Controls configurator: a tool for a human analyst to define, for each field in the application file and processing screens, what controls will be applied (input format, formulas, actions/checks between fields and with external databases). | Implemented |
|
The Online Registration Services |
|
|
The online registration services (e-services) created through the no-code development platform are adapted to any type of registration. They consist in a succession of online screens and actions through which: | Could be implemented | Online payments support as a part of digital service is not implemented yet (External payment gateways integration planned for 2023) |
an applicant can see/monitor the status of the submitted application file and receive results from the entities in charge of the registration | Implemented | Citizen user can monitor current status and completion result of digital service consumed through his cabinet. There is an option to receive a completion result either through defined communication channel (email, etc.) or in a form of generated signed digital document accessible for download through cabinet. Overall process view / monitoring with current status is not implemented - planned for the future |
Validation: one or more human or automated (“robot” or “BOT role”) operators can review the elements provided, approve or reject an application, send claims to a registry and issue a credential (we call this part: “processing”) | Implemented | Addressed through modeling business processes (BPMN) containing “elements” review steps assigned to roles/officers in charge, persisting data into registry storage, generating digital document signed with a key of registry owner as a form of credential |
For each service, user rights can be defined and statistical reports can be configured (“administration” part) | Could be implemented | Service statistics reports can be configured based on data from “audit” database. No granular report access control per service supported - reports are accessible to all users with “officer” role through special user interface |
Cross-cutting Requirements :
Secure ingress and Egress access mechanisms | Implemented |
|
Inclusion issues | Could be implemented | Functionality for differently abled people not implemented yet |
Functional Requirements :
No-Code Development Platform | ||||
Rules Engine Functional Requirements |
|
|
|
|
RE-1 | Creation of Services | Must have | Implemented | Analysts can create business processes within the scope of the single registry instance. |
RE-2 | Publish service to external instance | May have | Implemented | Each definition of the business process can be published to a registry instance using registry regulation publication pipeline |
RE-3 | Creation of one or more “Registrations” | Must have | Implemented |
|
RE-4 | Definition of the subjects of a registration
1 and 2 can’t be selected simultaneously; 3 and 4 can’t be selected simultaneously. | Must have | Could be implemented | We are not supporting DSL language for the moment. DSL language could be designed to support simple conditions. Proper mechanisms could be introduced (custom step template) to process DSL rules. DMN notation could be used for a simple rules definition as well. |
RE-5 | Definition of the results of a registration
| Must have | Could be implemented | We are not supporting DSL language for the moment. DSL language could be designed to support simple conditions. Proper mechanisms could be introduced (custom step template) to process DSL rules. DMN notation could be used for a simple rules definition as well. |
RE-6 | Requirements of a registration - Documents/Credentials
has to be uploaded
| Must have | Could be implemented | The business process can include steps with a form definition to allow users to upload digital documents. Documents can be digital only. |
RE-7 | Requirements of a registration - Fees
When the fee is calculated, a formula builder will allow the analyst to build the formula, using values from any field in the service and numeric values, combined with the usual operators (+, -, *, /).
| Must have | Could be implemented | We are not supporting DSL language for the moment. DSL language could be designed to support simple conditions. Proper mechanisms could be introduced (custom step template) to process DSL rules. DMN notation could be used for a simple rules definition as well. |
RE-8 | Requirements of a registration - Data/Claims
As for the other requirements, some data can be required only for a specific category of subjects. The analyst can define, through determinants (or combination of determinants) the different categories of subjects and link them to specific required documents.
| Must have | Could be implemented | We are not supporting DSL language for the moment. DSL language could be designed to support simple conditions. Proper mechanisms could be introduced (custom step template) to process DSL rules. DMN notation could be used for a simple rules definition as well. |
RE-9 | Possibility to combine various registrations in one service
In one registration the document/credential may be issued as a result and in another registration the same document/credential may be required as an uploadable requirement. The system must eliminate the overlapping results and/or requirements if the requirements overlap inside the service.
| Must have | Implemented | We have the possibility to have a complex business process including several business processes definition as one BP definition. |
RE-10 | Creation and functioning of determinants
E.g. math functions (SUM, MIN, MAX, AVG, COUNT, MEDIAN, CEILING, FLOOR, ROUND, CONCAT, CONCAT_WS, LEN, REPLACE, UPPER_CASE, LOWER_CASE).
Determinants can be combined by “AND” and “OR” operators. Combinations can be grouped into “groups of determinants”. Group of determinants can be combined through “AND” and “OR” operators. | Must have | Could be implemented | We do not have any explicitly defined determinants |
RE-11 | Definition of a template associated to the result of a registration
On each template, an analyst can create data fields that must be filled by the system and place them on the screen of the template. Fields will have the following characteristics:
In addition to fields, the analyst can create information texts and add images, QR codes on the template screen. | Must have | Could be implemented | We are not supporting of QR code generation with a reference to a business process execution result |
User Interface and Flow Builder Functional Requirements |
|
|
|
|
SF-1 | Application file and layout - Creation of screens and of their sequence
The above screens, when activated, will be displayed, in the predefined order (guide, applicant form, document upload, payment, send). | Must have | Could be implemented | No supporting for payment screen |
SF-2 | Application file - Creation of fields on each screen
Determinants and groups of determinants created in the rule engine can be assigned to each field. A field will be displayed only if the determinants assigned to it are true. | Must have | Implemented | Developer can specify the flow for the screens. |
SF-3 | Processing part - Creation of screens/roles | Must have | Implemented | We have a different approach in this case but the functionality is the same in general. |
SF-4 | Processing part - Ordering of screens/roles in Flow Builder
Therefore, the roles/screens in the processing part will come in an order specified by the analyst and this functionality is called Flow Builder. | Must have | Could be implemented | Mentioned functionality should be explicitly implemented in an official business process for reviewing citizen applications. |
SF-5 | Processing part - creation of fields on processing screens | Must have | Implemented | Officer business processes together with forms could be designed in a visual editor. |
SF-6 | An analyst must be able to add QR-code/barcode scanning function to the service screen | Must have | Could be implemented | We are not supporting QR codes for a moment |
SF-7 | Actions - the analyst must be able to configure triggering of actions when a user or system initiates an event on a screen of a service. | Must have | Implemented | Business processes and forms can communicate via RestAPI with external systems. |
SF-8 | Formulas - Analysts must be able to add formula calculations to and between the fields. The Formulas can be added to numeric fields, int, decimal, date. Calculated values allow calculating values based on the values in other fields of the form. E.g. If the registration subject has more than 2 children, then multiply the social payment times the number of kids. | Must have | Implemented | We can define any formula within a custom javascript code for a UI component |
SF-9 | Preview- Analyst must be able to preview service User Interfaces before publishing the service to the applicants. | Must have | Implemented | This could be done in a way of a preview of developed form, and entire business process functionality could be reviewed on a temporary environment |
SF-10 | Import/Export of service descriptions- Analyst must be able to import/export full service description. | Nice to have | Implemented | All of the business processes and other registry regulations part could be exported from a registry and imported into another registry. |
SF-11 | User can activate text-to-speach feature in the user information capturing forms to read out the screen information. The goal is to help illiterate users with understanding the text on the screen. The feature can read captured information and other e-service information visible in the e-service screens. | Nice to have | Could be implemented | This functionality potentially could be added in future |
SF-12 | The feature enables to capture information from voice answers and ask confirmation if captured information is correct. Voice guide enable the user to follow the e-service wizard and submit applications. | Nice to have | Could be implemented | This functionality potentially could be added in future |
Control Configurator’s Functional Requirements |
|
|
|
|
CC-1 | Controlling the data capturing- Form field value validation
| Must have | Implemented |
|
CC-2 | Controlling the data capturing- Form field value validation from external API
| Must have | Could be implemented | UI components implementation could be extended to have validation possibility via external RestAPI |
CC-3 | Controlling the data capturing- data integrity validation | Must have | Implemented | This logic should be implemented within a same business process |
Online Registration Services Functional Requirements |
|
|
|
|
DS-1 | User Account (A0) | Must have | Could be implemented | No Separate sections for a documents uploaded among all of BP. This could be implemented as a separate BP within a single form. |
DS-2 | e-Service screens | Must have | Could be implemented | The flow of the screen is configured on a BP. |
DS-3 | e-Service data capturing | Must have | Implemented |
|
DS-4 | e-Service data validation | Must have | Implemented |
|
DS-5 | e-Service registrations | Must have | Implemented |
|
DS-6 | e-Service required documents(requirements) | Must have | Implemented | Asking the user for document uploading is a responsibility of BP definition. If the business process should first check if the document exists already in a system and, in case if not exists, should show the form for document uploading - this should be defined explicitly in a BP definition. |
DS-7 | e-Service required fees/payments | Must have | Not the same approach | Payments not implemented |
DS-8 | e-Service movement on screens, roles and submission | Must have | Implemented |
|
DS-9 | e-Service application history | Must have | Could be implemented | Citizens can see only the current status of the application. We can implement proper RestAPI methods to get the required detailed information about BP execution. We can get the data from camunda db via camunda rest api. |
DS-10 | Read information from QR-code/barcode and insert to the form | Must have | Could be implemented | No support for QR codes reading now. Planned. |
DS-11 | System audit log functionality | Must have | Implemented | If some actions should be visible in an audit log, these actions should somehow affect data in a DB, and these data should be marked as historical. |
DS-12 | Back office Operators must have a view to see the list of applications to be processed (task list dashboard). | Must have | Could be implemented | Everything should be implemented as a custom BP definitions |
DS-13 | An Operator of a role must see the received application file screen containing all information submitted by an Applicant and information complemented by other Operators while processing the same file. | Must have | Could be implemented | Everything should be implemented as a custom BP definitions |
DS-14 | An Operator must be able to make a decision in the system by selecting the right decision type (approve, reject, send back for correction). | Must have | Could be implemented | Everything should be implemented as a custom BP definitions |
DS-15 | Operators must have the option to print, sign and upload a certificate. | Must have | Implemented |
|
DS-16 | Operators must have the option to edit application information if corrections are needed. | Must have | Implemented |
|
DS-17 | Operators must have the option to communicate with applicant users. | Must have | Not the same approach | No communication functionality in place (chat or something) |
API interface for application file registration |
|
|
|
|
API-1 | System has an API service that enables to register new application files in Registration BB. | Must have | Implemented |
|
API-2 | System has an API that contains an e-service application file schema with all data fields. Schema can be used by other Building Blocks and components to create alternative e-service channels. | Must have | Implemented | Application schema is a registry regulation management definition. Could be accessible via RestAPI using admin-portal lets say |
Overarching Requirements |
|
|
|
|
REQ-2 | System audit log functionality | Must have | Implemented | Database CRUD related actions are auditable |
REQ-3 | Each building block MUST implement the ability to provision, deprovision and manage Identities and access rights (this may or may not be centralized for the whole architecture as a unified provisioning process). | Must have | Implemented |
|
Data Structures :
All dates should follow ISO 8601 |
|
| Implemented |
|
RFC 7159 - The JavaScript Object Notation (JSON) |
|
| Implemented |
|
Open -API Version 3.1.0 |
|
| Implemented |
|
QR code must be generated with the ISO/IEC 18004:2015 standard |
|
| Could be implemented | QR-code generation is planned for implementation in 2023 |
Data Elements | ||||
Registration | Process through which an entity gets claims recorded in a registry and a credential proving the registration, in exchange of providing some requirements. | Required | Implemented | Digital service process modeled in BPMN notation consisting of data submission, validation & processing, persisting stages. |
Service | Name given to a registration, or to a combination of registrations which can be undertaken simultaneously, by the entity(ies) in charge of organizing the registration process. | Required | Implemented | Digital service parent process consisting of multiple sub-processes or multiple data records persisting operations |
Screen/form | A service is composed of one or several screens defined in the Screen Builder by the analyst. | Required | Implemented | Implemented |
Role screen/form | operator will undertake actions to process an applicant file, usually enter data (eg registration number, or registration certificate) and press buttons (approve, send back for | Required | Implemented | Implemented |
Workflow | A workflow provides a visual representation of a business process. Workflow Engine executes processes that are defined in Business Process Model and Notation (BPMN), the global standard for process modeling. With BPMN, the analyst can automate most complex business processes using an easy-to-adopt visual modeling language. | Not required | Implemented | Implemented. Modeling workflows as business processes in BPMN notation supported through administrative user interface |
Role | Human or bot actor in the workflow who must process the application file in the order set in the workflow.
| Not required | Implemented | Defining custom officer roles and assigning them to particular user tasks in business process supported. |
Institution /entity | Institution in charge of Registration and/or Role. | Required | Implemented | Digital services are scoped to particular registry / institution owner |
Field/claim/data | An attribute asserted by an entity, about itself or another entity | Not required | Implemented |
|
Result/credential | The result of a registration, in addition to the recording of information in a registry, is usually a credential (sometimes called: certificate, license, permit, card, etc.) proving the | Not required | Implemented | Credential generation can be included in business process model in a form of generated digital document signed by registry owner (excerpts) |
Required document | Information (i.e. claims and credentials) which must be provided in a registration process. The requirements may vary according to each subject. | Not required | Implemented | Modeled depending on digital service requirements on UI-form level and validation rules |
Payment/fee | Amount of money to be paid in relation to a registration. | Not required | Not the same approach | Online payments is not supported yet - planned for future |
Determinant | A determinant is an attribute, defined in the rule, which determines/triggers if (1) an entity is subject to a registration and/or (2) what requirements this entity must provide to register. | Not required | Could be implemented | Modeled either on UI-form level through conditionals or on the business process level through alternative flows and business rules scripting |
Services APIs :
The statistics API gives BB operational statistics- number of processed applications (per: operator, registration, service, date). | Could be implemented | Digital services do not have separate statistical APIs. We need to develop a separate component to support a GovStack statistic API. This API could get required statistics data from camunda db. |
The API is built using representational state transfer (REST) software architectural style (What is REST?: REST API Tutorial ) and described in Open API 3 standard (https://swagger.io/specification/) using YAML (a human-readable data-serialization language - The Official YAML Web Site ). Request and response body is in JSON (lightweight data-interchange format - https://www.json.org/json-en.html ). | Implemented |
|
Workflows :
Workflow- Creating a Registration Service (Admin Function) | ||
Analyst/administrator as the main actor in this workflow will create a new e-service by filling the required registration requirements, create screens for the user and publish the service on the web ready to be used by internet users. | Implemented | Low-code development platform provides modeling user interfaces and tooling to create and publish digital services to end-users |
As a pre-condition the user/analyst has authentication credentials and authorization to the service builder- Rules engine. If the service needs to read or write data from external sources (Information Mediator) that requires authorization then this is already authorized for the Registration BB. Registration BB is connected to Information Mediator. | Implemented | Registry regulation administrator must be authorized to use a low-code modeling platform |
As a post-condition, the e-Service has beglossaryen published on the internet for users to use immediately. The optimal time for an Analyst to build the e-service of a simple registration service is 2h. | Implemented | Depends on digital service business process complexity (number of UI-forms, business rules, integrations, etc.) |
User Journey | Implemented | Similar modeling and publishing flow for digital services implemented using DEV and PROD registry instances |
Interaction 1: Authentication and Authorization (Security BB) | Implemented |
|
Data Structures: Existing user authentication | Implemented | External identity provider can be configured for use in platform Keycloak IAM for user authentication |
Data Structures: Authorization | Implemented | Registries Platform uses Keycloak IAM |
Interaction 2: Sequence Diagram via Self-Registration | Not the same approach | Self-registration is supported through UA-gov identity broker usage and on-boarding business process depending on registry requirements for assigning registry-specific user citizen roles, etc. |
Interaction 2: Sequence Diagram for User Self Registration via Foundational ID | Could be implemented | Self-registration via Foundational ID is not implemented, but can be solved by implementing Keycloak authenticator extension and integration with external identity broker |
Interaction 3: Information Mediator (IM) BB | Implemented | Business process integration connectors available for: |
Data Structures: Get list of registered institutions/databases | Not the same approach | Registry platform is not aware of the registries on another platform instances |
Data Structures: Request API descriptions | Implemented | Partially covered by Trembita Event Bus administration UI |
Data Structures: Get service descriptions | Implemented | Partially covered by Trembita Event Bus administration UI |
Interaction 4: Payment BB | Not the same approach |
|
Interaction 5: Setup for Multiple Registration BBs | Implemented |
|
Workflow- Using a Registration Service | ||
Description: flow description | Implemented |
|
Description: payments | Not the same approach |
|
Authentication and authorization (Security BB)- see “Creating a registration service” | Implemented |
|
Information Mediator | Implemented |
|
Interaction 1: Voucher Pre-Activation (Payment BB) | Not the same approach | Payments subsystem is not implemented as a part of Registries Platform. Flow can be modeled as external system integration through REST API protocol |