10 Sample implementation
This section shows possible sample implementations, such as Issuing Birth Certificate; Appointment Booking With a Health Care Worker
Use Case Tables and Component diagrams
This is a high-level overview of how the Messaging BB acts internally, but also to cover the expectation for a third party to deliver requests (to and from).
Birth Certificate to Children
This is a Use Case Table to cover providing a birth certificate to a child.
Name | Messaging – Birth Certificate to Children |
Description | The use case explains the implementation of the messaging for the birth certificate to minor children. |
Main Benefits | 1. Provides permanent and official record of a child’s existence. 2. Provides right to an official identity, a recognized name, and a nationality. 3. Provides essential element of national planning for children since it provides a demographic base. |
Trigger (the event that triggers the use case) |
|
Preconditions (list of conditions that MUST be met in order for the use case to be successful) |
|
Data inputs |
3.1 A copy of the birth proof 3.2 A copy of the passport of both the parents 3.3 A copy of the certificate of citizenship if acquired by registration/naturalization 3.4 A copy of the marriage certificate of the parents 3.5 Declaration letter that the child does not hold the passport of any other country 3.6 Scan the documents in PDF format 3.7 Each document can have multiple pages 3.8 The size of each document should not exceed 1 Mb (illustrative) 4. Image 4.1 Passport size photo of the applicant 4.2 Image Dimension of Photograph should be 100(Width) * 120(Hight) Pixel only (illustrative) 4.3 Size of the scanned image is not more than 20kb (illustrative) 4.4 Uploading image should be in jpg format only (illustrative) 4.5 Use the Picture manager for resizing the image |
Actors (a person, a company or organisation, a computer program, or a computer system - hardware, software, or both) |
|
Normal Course (what happens if the event is triggered and the preconditions have been met) |
|
Alternative Course (links to other use cases in case there are different ways how to solve the same use case) | - |
Data output | The messaging Building Block can send a message to applicants through email or SMS. The types of message(s) include:
|
Post-Conditions (the success criteria) |
|
Exceptions (error situations) | In case of any configuration change in messaging or any error in the processing of messaging: 1. An error message is displayed and communicated back to the system that made the request. 2. An error message is communicated in easy-to-understand language to the impacted user. |
Related Building Blocks (related to that particular use case) |
|
Messaging Examples |
User XXXX has been registered successfully. User ID: XXXX Please click here to reset the password or copy the link to your browser <weblink>
Birth Certificate Approved, please make a note of Acknowledgement Number for Future Reference '1202117XXXXX'—Govt. Organization Name. |
Best Practices |
Digital Locker to provide lifelong access to authentic digital documents to citizen’s digital document wallet. The issued documents in Digital Locker system are deemed to be at par with original physical documents as per rule. |
Appointment booking confirmation for health services
This is a Use Case Table to cover the process of confirming an appointment booking when using health services.
ID | Description |
Name | Messaging – Appointment booking confirmation for health services. |
Description | The use case explains the implementation of the Messaging Building Block for the confirmation and acknowledgment of appointment booking of health services. |
Main Benefits | 1. Provides a clear and accessible path for citizens to confirm appointment booking through different digital messaging channels (SMS, email, WhatsApp, Voice message, etc.); 2. Provides transparency for the citizens that need to move to a health facility to consume services; 3. Provides efficient usage of the health services by occupying booking slots accordingly to the demand. |
Trigger (the event that triggers the use case) |
|
Preconditions (list of conditions that MUST be met in order for the use case to be successful) |
|
Data inputs |
|
Actors (a person, a company or organisation, a computer program, or a computer system - hardware, software, or both) |
|
Normal Course (what happens if the event is triggered and the preconditions have been met) |
|
Alternative Course (links to other use cases in case there are different ways how to solve the same use case) | - |
Data output | The Messaging Building Block can send and receive messages from citizens through different communication channels, and keep the status of the delivery along with metadata about it. |
Post-Conditions (the success criteria) |
|
Exceptions (error situations) | In case of any configuration change in messaging or any error in the processing of messaging: 1. An error message is displayed and communicated back to the system that made the request. 2. An error message is communicated in easy-to-understand language to impacted users. |
Related Building Blocks (related to that particular use case) |
|
Messaging Examples |
|
Best Practices |
|
Alert Message
This is a Use Case Table to cover the process of sending alert messages.
Name | Messaging – Alert |
Description | The use case explains the implementation of the messaging for alerts especially alerts linked to cyclone disaster management. |
Main Benefits | 1. Prevent the loss of lives (human and animal) and livelihood. 2. Coordinated efforts for previous, during, and post-disaster events. |
Trigger (the event that triggers the use case) |
It can be customized for warning on landslides and/or earthquakes. It can be tailored and customized for alerts on banking and covid/healthcare. |
Preconditions (list of conditions that MUST be met in order for the use case to be successful) |
|
Data inputs |
|
Actors (a person, a company or organisation, a computer program, or a computer system - hardware, software, or both) |
|
Normal Course (what happens if the event is triggered, and the preconditions have been met) |
|
Alternative Course (links to other use cases in case there are different ways how to solve the same use case) | - |
Data output | The Messaging Building Block can send alert messages to concerned institutions and persons. The types of message(s) include:
· With the help of Telecom Service Providers using Outbound Dialler (OBD) infrastructure in local languages. · With the help of Radio.
· With the help of Telecom Service Providers using SMS. · With the help of an email database. · With the help of social media/website.
· TV. · Electronic and Print Media – Newspaper, Bulletins. |
Post-Conditions (the success criteria) |
User feedback is taken on messaging and factored in. |
Exceptions (error situations) | In case of any configuration change in messaging or any error in the processing of messaging 1. An error message is displayed and communicated back to the system that made the request. 2. An error message is communicated in easy-to-understand language to the impacted user. |
Related Building Blocks (related to that particular use case) |
|
Messaging Examples | Sample Message – SMS for cyclone alert Warning! Cyclone XXXXX will make landfall on Xth Day, 20XX. The wind speed may go up to 180kmph. Please stay at home, be safe. Or please go to the nearest cyclone shelter. |
Best Practices | · Mass Messaging System. · Universal Communication Interface. · Reliable SMS Code. · Common Alert Protocol. · Warning through SMS (Pull SMS Push SMS). · Mobile App Solution: - Notification through a unified mobile app – UMANG (Unified Mobile App for New-Age Governance). · Voice/text bot. · Warning Through social media: WhatsApp, Facebook, Twitter, and Mobile Apps. · Electronic and Print Media for Publicity and Broadcast of Warning: National/Regional Bulletin, Poster and Films, Radio and TV Talks, and Newspapers. · Mode of Dissemination: FAX, GTS, Email, SMS, FTP, Internet, Website, Telephone, Tale-fax, VHF/HFRT, Radio/TV network, IVRS (Interactive Voice Response System) Toll-Free Number, NAVTEX. |
User Journeys with Use Case Tables
User Journey for post-partum mother and childcare
This is a sample user journey to cover post-partum mother and child care.
User Journey | Use Case | Capability | Functional Requirements | Technical Requirements |
Post-partum mother and child care | Mother Registration | Inform the mother about registration through different modalities (SMS[1] , email, WhatsApp, Voice message etc.). See the functional requirements and technical requirements. | Workflow, preconditions such as phone number/contact. The user needs to register/connect its contact data to the Messaging Building Block (mailID, phone no etc)[2] [3] [4] or another Building Block. For example, a) direct MSG Type (Emergency) has concrete API endpoints, blasting all channels/endpoints. Business logic and policy in separate Building Blocks can add MSG type, address: who-to-send-to, MSG channel etc. In reverse communication, a unique identifier is created per user upon registering at the Messaging Building Block.[5] [6] Allowing push and pull models. To be able to understand and apply a routing policy in the particular Application,enabling the Messaging Building Block for routing the Message [7] [8] through specific channels [9] [10] and graceful degradation. | OpenAPI specifications for calling this function; resource models and data structures; [11] internal and external interfaces. Stateless architecture.[12] Microservices require Rabbit MQ; Apache/Kafka or GRPC[13] [14] for data transfer speed purposes. Databases with unstructured data should be treated with Elasticsearch/Logstash. [15] [16] Similarly to the client-to-client pubsub model also the end users can be registered as Message queue clients/subscribers in the Messaging Building Block. Subscription is required to receive a message.[17] [18] The message is put in the queue and communicated to the other Building Blocks[19] [20]. |
Mother confirmation of a child registration | Mother receives a confirmation registration message with a token that identifies that event for future interactions. | |||
Appointment booking | Asking the mother for the booking confirmation of a doctor or vaccination appointment through different communicable channels (SMS, email, WhatsApp, Voice message, etc.). | |||
Appointment reminder | Reminding the mother about the booking. |
Use Case Table for post-partum mother and childcare
ID | UC-C-PIC-001 |
Name | Messaging - Postpartum and infant care (Configuration). |
Description | The use case implements configuration of a Messaging Gateway in infant care use case scenarios. This results in a saved configuration to be issued to all mothers requiring infant care. |
Trigger (the event that triggers the use case) |
|
Preconditions (list of conditions that MUST be met in order for the use case to be successful) |
|
Data inputs |
|
Actors (a person, a company or organisation, a computer program, or a computer system - hardware, software, or both) |
Information Mediator publishes the services of the Messaging Building Block for the other Building Block to use (with available policies). When another Building Block discovers Messaging, it receives X number of policies. Metadata says which policy to pick and where to route it to. Note from the Information Mediator: in order to make your Building Block service available on GovStack, you have to register those services (Open API specs and have a specific business agreement signed between the parties/applications/services). |
Normal Course (what happens if the event is triggered and the preconditions have been met) |
The data required are:
|
Alternative Course (links to other use cases in case there are different ways how to solve the same use case) |
|
Data output |
|
Post-Conditions (the success criteria) |
|
Exceptions (error situations) | In case the policy has not been configured, an error message is displayed and communicated back to the system that made the request. |
Related Building Blocks (related to that particular use case) | Identity Building Block (Required for acquiring authentication token). Workflow Building Block - workflow management. Registries Building Block - stores the data agreement data. Information Mediator Building Block - providing interfaces and publishing the Building Block services, routing policy, etc. Security Building Block - supervision. Consent Building Block - for using personal data. |
Interaction with a third-party application
In case of applying additional business logic-related functionality, third-party applications must be used.
Using a Scheduling BB to send reminder messages, etc. via Messaging BB.
Interaction with Scheduling Building Block | Reminder messages, time-based triggers. |
|
Last updated