Technical Development (Cúram) – Answers

1. Are you Cúram certified? How did you attain your certification?

If you are not Certified then say "I am not Curam Certified but preparing for certification and going through Curam Server,Modeling, Client and PPT provided by IBM. Also,along with this i am doing sample exercise provided in the guide.If You are certified then you have to reply as "Yes, I have IBM Curam Developer Certification.I gone through various book and ppt like IBM Curam Server Guide, IBM Curam Modeling Guide, IBM Curam Client Guide and PPT part 1 and 2.Also, i completed exercise which was available in the ppt provided by ibm.”

2.  What is the difference between Medicaid and Medicare?
  • Medicare is a federal program that provides health coverage if you are 65 or older or have a severe disability, no matter your income.
  • Medicaid is a state and federal program that provides health coverage if you have a very low income.
  • If you are eligible for both Medicare and Medicaid (dual eligible), you can have both. They will work together to provide you with health coverage and lower your costs.
3.  Can you tell me a little bit about the food stamps program?

Government benefits provided to eligible low-income people for buying food, issued in the form of an electronic benefit transfer card. Food stamps were formerly issued in the form of paper stamps or coupons.

What is SNAP?

SNAP, the Supplemental Nutrition Assistance Program, is the program formerly known as food stamps. It is a federal nutrition program that helps you stretch your food budget and buy healthy food.

SNAP benefits can be used to purchase food at grocery stores, convenience stores, and some farmers’ markets and co-op food programs.

SNAP benefits are given to you each month on a plastic card called an EBT (electronic benefits transfer) card, which works like a debit card. Paper coupons are no longer used.

SNAP is a nutrition program. It is not a welfare cash assistance program (which is called TAFDC). You do not have to be receiving TAFDC to get SNAP — these are separate programs.

SNAP is a federal entitlement program. This means anyone who is eligible will receive benefits. You will not be taking away benefits from someone else if you apply.

The United States Department of Agriculture (USDA) oversees SNAP at the federal level. In Massachusetts, you apply for benefits through the state agency that administers the program, called the Department of Transitional Assistance (DTA).

4.  How you determine whether a participant is eligible for food stamp from his income?
Households must meet income tests UNLESS all members are receiving Title IV (TANF), SSI, or in some places general assistance.

 

Most households must meet both the gross and net income tests, but a household with an elderly person or a person who is receiving certain types of disability payments only has to meet the net income test. Gross income means a household’s total, non-excluded income, before any deductions have been made. Net income means gross income minus allowable deductions.

Households, except those noted, that have income over the amounts listed below cannot get SNAP benefits.

5.  What is FPL (Food Stamp Poverty Level)?
 

 

FPL chart is provided by Federal to decide household income, please find sample chart as given below

Household Size Gross monthly income

 

(130 percent of poverty)

Net monthly income

 

(100 percent of poverty)

1 $1,276 $ 981
2 1,726 1,328
3 2,177 1,675
4 2,628 2,021
5 3,078 2,368
6 3,529 2,715
7 3,980 3,061
8 4,430 3,408
Each additional member +451 +347
6.  Describe Case Management.

 IBM Curam is having a lot of modules, Case Management is one of them. It is very important module and acting as central part of Curam. Using this module Caseworker maintain all communication between participant and social enterprise organization. it is just like a folder which is having papers related to particular household and their needs. There are many types of case available in Curam OOTB as given below –

  • Application Case
  • Integrated Case
  • Product Delivery Case
  • Issue Cases 

Please follow guide for more deep information.

7.  How do you load the Cúram model and deploy generated components in servers?
 EjbServer project need to import on RSA to load model. Also, we need to configure the rsa_plugin.link under SDP folder in order to reflect Curam related behavior on RSA. Pre Define Ant targets available to generate artifact for server like WebSphere and webLogic.
8.  How and why do you use CIARA?
 Cúram Impact And Relationship Analyzer (CIARA). CIARA represent pictorial diagram to display related and dependent module so developer can analyze its dependencies very easily. 
9.  What are Structs in Cúram and how are they used?
Struct classes are Java classes with public attributes and no modeled methods. A struct is the Java equivalent of a C++ struct. Structs allow for the grouping of domain definitions and other struct classes to form programmatic record definitions. Structs in Cúram work as a value object to hold the data. It Pass data from facade to service and service to entity in the form of Structs. For Example we have Person entity in Curam which will generate PersonDtls & PersonKey Structs by default.
10.  What is a Mass Change and how do rules play a part in it?
Mass Change is a SQL generator you can use to develop and perform custom applications. Using Mass Change, a developer can set up a series of INSERT, UPDATE, or DELETE SQL statements that the end user can execute to perform business functions.

 

Mass Change is also similar to Application Engine, as far as its end results—updating the database. However, unlike Application Engine, Mass Change generates SQL for you. Also, Mass Change definitions contain no processing logic.

You can use Mass Change to:

  • Perform high-volume, set oriented transactions.

  • Copy data from table to table.

  • Archive table data.

  • Perform transactions not normally supported

11.  Have you developed Rules?

Reply based on your experience. if you worked on CER then say Yes and explain about CER and it’s type and functionality. if you don’t know anything about CER then go through the reference manual and post in this website to understand CER.

Cúram Express Rules are used to perform business calculations. A development environment for authoring and testing Cúram express rule sets is available. Rules can be executed at run time. The CER editor is a tool for business and technical users to view create and manage CER rule sets.

12.  Can you generate a Cúram screen?

The UIM Generator tool provides a user interface for automatically generating a UIM page for a particular server interface.

To start the UIM Generator tool:

  1. Open a command prompt and change to the <client-dir> folder.
  2. Run builduimgen .
  3. The first time you run the UIM Generator you will be asked to locate a ServerAccessBeans.xml file. This file is generated by theclient target and can be found in the <client-dir>/build folder.

Once the UIM Generator has started, you should see a screen containing the following:

  • A File menu containing options to view your current configuration settings and to exit the application.
  • A tree on the left hand side which lists all the server interfaces in the application.
  • Two options, Display Phase and Action Phase, which determine when the selected server interface is called in the generated page.
  • A Make Page button which generates the UIM for the current settings.

To generate a page perform the following:

  1. Select the interface you wish to test from the tree (e.g. Register-Person.read).
  2. Select the phase in which the interface should be called, for example, Action. Action phase pages call the interface when the page is submitted. Data can be entered for each input field and a button is generated to submit the page.
  3. Click the Make Page button and you will be asked to specify a location for the generated UIM. You can change the default name if you wish. The location should be in the appropriate component folder of your application.

A UIM file and a properties file are generated. The labels for each field are given defaults based on the name of the server interface property associated with the field.

13.  Have you worked on any Eligibility based system?
 Yes, I worked on Eligibility based system for Medicaid in which it was determining eligibility for a program for a household based on various criteria like age, income, residency, household size etc. In Curam we used CER ruleset to determine eligibility. Please go through eligibility guide for more information.
15.  What is Case in Cúram? Can you elaborate on the processing behind the different Case types in Cúram?
A case is a history of the interactions between a claimant and the organization. It begins with the registration of the claimant or participant on the system. Depending on the nature of the claim, the caseworker may ask several questions to establish the personal circumstances of the claimant. This is known as screening. Using this high-level information, the claimant can be assessed for potential eligibility for several benefits.
Further information is gathered, depending on the products being applied for. Eligibility and entitlement is determined based on the evidence and the rules for the product. The case may then be approved and activated.

Curam Case Life Cycle

Please find generic Case life cycle below –

Select Participants -> Intake/Ragistration -> Record Asseeement Evidence -> Screening/Assessment ->Identify Needs -> select Products -> Record Product Evidence -> Determine eligibility ->Approve -> Activate -> maintain

16.  Have you done any coding/development work before?
 Yes, I was working for ABC project as a senior java/Curam developer. My primary role was get the requirement, analyze, code and test the functionality. Also, i was preparing  Detailed Design Docs for the functionality.
17.  Name me four entities in the Cúram logical model.

 There are many important entity available in curam like

  • CASEHEADER
  • PERSON
  • PROSPECTPERSON
  • EMPLOYER
  • CASEPARTICIPANTROLE
  • FINANCIALCOMPONENT
  • INSTRUCTIONLINEITEM

Please explain about above entities.

18.  What is your experience in administration of Web sphere Administration Server?
 It is up to individual how to give answer.
19.  How comfortable are you in Cúram Data model?
  It is up to individual how to give answer.

 

Yes, I am conformable with Curam Data Model as i worked on many projects and every project required to understand its data model.

20.  Have you worked on web services? Can you explain on the specific services?

The term web services describes a standardized way of integrating web-based applications. They allow different applications from different sources to communicate with each other and because all communication is in XML, web services are not tied to any one operating system or programming language. This application-to-application communication is performed using XML to tag the data, using:

  • SOAP (Simple Object Access Protocol: A lightweight XML-based messaging protocol) to transfer the data;
  • WSDL (Web Services Description Language) to describe the services available;
  • UDDI (Universal Description, Discovery and Integration) to list what services are available.

Web services can be considered in terms of the direction of flow, outbound/accessing and inbound/implementing, which are supported by the IBM Cúram Social Program Management infrastructure for development and deployment as described below:

Outbound Web Service Connector
An outbound web service connector allows the IBM Cúram Social Program Management application to access external applications that have exposed a web service interface. The WSDL file used to describe this interface is used by the web service connector functionality in IBM Cúram Social Program Management to generate the appropriate client code (stubs) to connect to the web service. This means developers can focus on the business logic to handle the data for the web service. See Outbound Web Service Connectors for details on developing outbound web service connectors.
Inbound Web Service
Some functionality within the IBM Cúram Social Program Management application can be exposed to other internal or external applications within the network. This can be achieved using an inbound web service. The IBM Cúram Social Program Management infrastructure will generate the necessary deployment artifacts and package them for deployment. Once the application EAR file is deployed any application that wishes to communicate with the IBM Cúram Social Program Management application will have to implement the appropriate functionality based on the WSDL for the web service. The infrastructure relies on the web service class to be modeled and it utilizes Axis2 tooling in the generation step for inbound web services. See Inbound Web Services for details on developing IBM Cúram Social Program Management inbound web services.
21.  You have a button on a page which has to be displayed sometimes depending upon user input, How do you do that in Cúram?

We can achieve above scenario using CONDITION element. Please find Description as given below –

The CONDITION element represents the condition under which an ACTION_SET, ACTION_CONTROL, LIST, or a CLUSTER is displayed. If a condition evaluates to true, then the parent element will be displayed; if the condition evaluates to false, then the parent element is not displayed with the following exception: an ACTION_SET or ACTION_CONTROL element will display disabled links if the condition evaluates to false and the HIDE_CONDITIONAL_LINKS attribute on the PAGE element or in the curam_config.xml file has been set to false. Conditional ACTION_SETS and ACTION_CONTROLS are mutually exclusive from one another and therefore the CONDITION element should be set for either one (depending on the requirements) but not both.

Finally, if the condition equates to false for those conditional action sets or action controls which appear as drop down menu items, then a single disabled menu item titled, ‘No Contents’ is displayed (upon selecting the drop down menu icon).

<SERVER_INTERFACE
    CLASS="CaseDetermination"
    NAME="DISPLAY"
    OPERATION="viewDecisionDisplayRulesCategoryXML"
  />
...
  <CLUSTER
    NUM_COLS="1"
    SHOW_LABELS="FALSE"
    TITLE="Cluster.Title.Eligibility"
  >


    <CONDITION>
      <IS_FALSE
        EXTENDED_PATH=
"/DecisionDetails/BasicCase/isEligibleTimeline"
        NAME="DISPLAY"
        PROPERTY="xmlData"
      />
    </CONDITION>
...
22.  Now when we click on one button sometimes it should take you to one page, sometimes to other page. How do you do that?
There is concept called Resolver pages in Curam. Using resolver page we can set multiple page on a single button so based on user input it will navigate to the correct page.

 

You can find example if you are having OOTB code installed in your system, please find sample example below –

ReolverPageExample

23.  What is a Rate table?

 Please read below given post –

IBM Curam Rate Table Configuration and Uses

24.  If we have given a business requirement that needs to be tracked, which user updated the record and when they last updated the record, how will you do you do it in Cúram?

 We can achieve this behavior Audit Fields option available at entity level in modeling. We can enable auditing at entity level as well as operation level.

1. Entity Level:

If Audit Fields (Entity Level) option is switched on then the available pre-configured audit fields will be automatically added to this struct.

This option should be enabled if the struct class is being used as a write operation of an entity which also hasAudit Fields switched on.

audit_entity

2. Operation Level:

Table-level auditing is enabled by activating the database table-level auditing option for an operation. This causes the generated Data Access Layer to record audit information for an operation. The type of audit information recorded depends on whether optimistic locking is switched on or off for the operation. If optimistic locking is switched on, the audit information includes the actual differences between the new and old versions of the record. Otherwise, it only includes information about the SQL operation invoked.
The following information is written to the audit table:

  • Date and time – The date and time of the transaction.
  • User ID – The ID of the user who invoked the transaction.
  • Table name – The name of the database table that was modified.
  • Program name – The FID of the function that invoked the transaction.
  • Transaction type – Indicates whether the transaction was online, batch, or deferred.
  • Operation type – Indicates whether the operation was create, read, update, or delete.
  • Key info – The key that was provided to this operation. Note that this may identify one or many records.
  • Details of changed data – These details are logged in an XML format and include the names of the fields referenced by the details struct; the field types; the new version of the field data; and, if optimistic locking is enabled, the old version of the field data.

audit_Operation

 

25.  How do we prevent multiple users from updating the same record at the same time?
 Using optimistic locking  we can prevent multiple update at the same time. it is called concurrency in java.

 

Optimistic locking used at entity and operation level.

26.  How do you define optimistic locking?

Using optimistic locking for concurrency control means that more than one user can access a record at a time, but only one of those users can commit changes to that record. Once one user has modified the record, another user cannot modify it without first re-reading the latest version of the record. Thus it is optimistic in the sense that one user does not expect another to attempt to modify the same record at the same time.

The record being edited is locked for update only while the changes are being committed. This has the advantage of minimizing the time for which a lock is in place.

The disadvantage of optimistic locking is that when a user begins to edit a record, they cannot be sure that the update will succeed. An update that relies on optimistic locking will fail if another user has updated a record while the first user is still editing it.

Optimistic locking is implemented by adding an extra field to the database table. The extra field contains the version number for the record and is automatically incremented each time the record is modified. The generated DAL code checks this version number while the record is being updated, and if the version number on the database table is not the same as the version number on the original record then the update operation is aborted and an exception is thrown.

Optimistic locking is permitted only on Entity classes.

The following operation stereotypes support optimistic locking:

  • modify;
  • nkmodify;
  • nsmodify.

The following operation stereotypes are affected by optimistic locking:

  • insert – The version number field is automatically included in the details parameter and is automatically initialized before being written to the database;
  • nsinsert – If optimistic locking is enabled on an entity class, the version number field must be included in the details struct by the developer and will be automatically initialized before being written to the database.

Optimistic locking is only possible for operations which modify a single database record and whose details struct includes the generated Version Number field. This means that for non-standard operations, it is up to the developer to ensure that the non-standard key parameter always identifies a single unique record and that the Version Number field is included in the details struct. For nkmodify operations, optimistic locking is only possible if the database table contains exactly one record. This field must be called versionNo and its type should be VERSION_NO. The developer must ensure that the model contains a numeric domain definition named VERSION_NO.

In order to support optimistic locking on an operation you must do two things:

  • Switch on theAllow Optimistic Locking option on the entity.

    This will cause the Version Number field to be automatically added to the entity.

  • Switch on theOptimistic Locking option on the operation.

    This will cause the generator to generate code in the DAL for the operation which will check and update record version numbers accordingly.

27.  What other locking options do we have besides optimistic locking?
 IBM Curam Support only Optimistic locking.
28.  What is pessimistic locking?

The pessimistic locking model prevents simultaneous updates to records. As soon as one user starts to update a record, a lock is placed on it. Other users who attempt to update this record are informed that another user has an update in progress. The other users must wait until the first user has finished committing their changes, thereby releasing the record lock. Only then can another user make changes based on the previous user’s changes.

An advantage of the pessimistic locking model is that it avoids the issue of conflict resolution by preventing conflicts. Updates are serialized and each subsequent update starts with the committed record changes from the previous user.

Pessimistic locking is a useful approach when subsequent updates can be delayed until a previous update is completed. This usually implies that updates occur in a short time interval.

29.  Have you developed UIM’s? Explain.

User Interface Meta-data (UIM) format used to specify the contents of the Cúram web application client pages.

UIM is an XML dialect and all UIM files are well-formed XML. The Cúram CDEJ will translate UIM files into JSP files that can be deployed to your web application server.

30.  What is IEG?

With IEG, information is gathered interactively by displaying a script of questions that a user can provide answers to. Questions are only displayed if they are consistent with the user’s previous answers so that the user is only required to provide answers relevant to his or her needs and situation. The configuration data that is contained within this business object is stored on the following entities:

  • IEGSCRIPTINFO
  • IEGSCRIPTRELS
  • APPRESOURCE
31. Have you written batches using Cúram? Describe.
Yes, I have written some batches using Cúram framework. Batches helps to do bulk processing like update a bulk record or load a bulk records. Also, we can write batches to do some schedule job which needs to do every day or weekly. We can write simple as well as Chunker-Streamer batch using ibm curam batch guideline. Simple Batch is straight forward and sequential but chunker-streamer batch is fast and more secure with capability to run multiple instances.
32. Have you worked on Cúram IEG?

 Yes, I worked on intelligent evidence gathering (IEG). IEG is used for screening of eligibility using question and answer script. it is an xml file with pre defined schema and pre define api. it is using IEG Player to execute the ieg script. Below are the main tables where ieg related files store –

  • IEGSCRIPTINFO
  • IEGSCRIPTRELS
  • APPRESOURCE

We can Say in breif –

IEG is an efficient alternative to traditional information gathering processes. With IEG, information is
gathered interactively by displaying a script of questions that a user can provide answers to. Questions
are only displayed if they are consistent with the user’s previous answers so that the user is only required
to provide answers relevant to his or her needs and situation.
33. What is the difference between Cúram IEG 1 and Cúram IEG 2

 IEG1: The Classic Intelligent Evidence Gathering is called IEG1 which was used earlier version of Curam.

IEG2: Latest version of IEG called IEG2 and it developed using IEG1 as a base version with different approach.

IEG1 cuts down on the organization’s  administrative work by creating the potential for several routes through the same question script. IEG2 eliminates the necessity to develop many scripts for gathering information from different types of users.

We will provide more information once framed.

34. Can you elaborate on the different components in an IEG script?
 

 

The two main components of IEG are the Engine and the Player. IEG scripts are defined in XML and the
Engine interprets the script definitions at runtime and evaluates the answers supplied by the user to
determine the flow of execution. The Engine determines which pages should be displayed to the user and
how many times they should be displayed. The Player presents the pages, questions and other controls to
the user. IEG also builds on other elements of the Cúram Application Suite such as the Datastore (DS)
and the Resource Store (RS).
35. What is the difference in an Intake script and a Triage script?
 Cúram Intake enables an agency to define an Intake process that meets its specific organizational requirements. Cúram Intake provides functionality that supports the following Intake process: Triage, Screening, Application, and Referrals. Each stage of this process can be customized to meet specific organizational needs.
Triage – Identifying a client’s needs and responding to those needs in an expedient manner is an essential function of any SPM organization. In a social context, everyone has six basic needs, namely, food, shelter, health, education, finance, and safety. Cúram Intake enables the caseworker to perform Triage, which results in a list of suitable services, service providers, and programs that helps to meet the client’s needs.
Screening – The Screening process enables a caseworker to determine whether a client is potentially eligible for one or more programs that are based on a set of high-level, guided questions that the organization configures. The caseworker can screen a prospect person or a registered person. Potential eligibility for the selected programs is determined by running eligibility rules against the client’s responses to the questions. A list of recommended government programs most appropriate to the client’s needs are then displayed to the caseworker.
36. Have you worked on the Cúram Citizen Self Service module?
 

 

Improve citizen service, organizational efficiency and social program effectiveness

Cúram Universal Access is a software solution that enables governments to provide citizens a single point of access to all social programs and services for which they are eligible. Universal Access connects citizens to programs, streamlines applications for those programs and reduces administrative work, allowing case workers to spend more time interacting with citizens.

  • Citizen-centric service delivery – Provides access to screening and benefit applications anywhere, anytime.
  • Increased organizational efficiency – Streamlines the application process and reduces application backlog.
  • Quick time to value – Installs and implements in a fraction of the time of other offerings.
  • Platform for the future – Maximizes the value of existing assets and creates a road map for future modernization.
37. How does the IEG Script reads data from the database?
 We can use Call back methods to read data from database and use it while executing ieg at run time.
38. What is a question group in IEG?
 

 

A question group is a logical set of questions that should be asked at the
same time. Question groups can exist outside of scripts and can be reused
across multiple scripts. At runtime, a question group appears as a list of
questions and/or labels on a single page. Question groups may contain one
or more questions or labels, or any combination of both.
39. Have you used Workflows? Describe.
 Yes, I used IBM Curam Workflow to automate the business process and routing of Task from individual or groups. Please find brief description below –

 

The Cúram Workflow Management System (WMS) serves two main functions. The first is to support the automation of business processes. The
second is to facilitate the routing of work among individuals and departments. The main components of this system are Workflow Process Definitions, the Workflow Engine, the Inbox and Task Management, and the
Workflow Administration application. Each one of these plays a role in one or both of these functions.
 
40. What is the escalation strategy?
 Tasks are used to assign and track the manual work of users in the application. The Workflow Engine creates tasks to complete manual activities and assigns these tasks to users based on an allocation strategy. Task deadline strategies can also be created to ensure that the task is actioned by a user and completed by that user in a timely fashion. These deadline strategies can be defined to deal with any tasks that exceed defined deadlines.
41. What is a transition?
 

 

Transitions provide the links between activities. They are the primary flow control construct and dictate
the order in which activities will be executed. Transitions are unidirectional and an activity can have
multiple outgoing and incoming transitions forming branch and synchronization points respectively. Since
every process definition must have one start and one end activity , a process definition can be thought of informally as a directed graph in which activities are the
vertices, transitions are the arcs and every path from the start activity eventually leads to the end activity.
42. What kind of transitions are there?
 

 

To link the various types of activity together in a workflow process, transitions are used. Their primary function is to dictate the order in which activities are executed. There are three types of transitions in a process definition. They determine how branch points and synchronization points relate to each other. Branch points can be of type XOR (Choice) or AND (Parallel). Corresponding branch and synchronization points must be of the same type. A branch point of type XOR indicates that the first transition that can be followed will be. A branch point of type AND indicates that all transitions that can be followed will be.

Transitions can optionally have a condition to decide whether or not a given transition will be followed. A condition is a list of expressions that perform logical operations.

43. In the Batch work how do you control the commit frequency of your update?
 In IBM Curam Batch we define chunk size and based on chunk record processing we control commit.

 

Need to check, please provide if know the answer.

44. Do you have any exposure to Cúram V6?
 Yes, Currently i am working on V6. It is having various changes from 5.2 and major change was its user interface. We need to follow ibm curam guides to get more information.
45. What type of documentation have you done in your project?

I worked on various documentation in my previous project, please find it below –

  • TDD: Technical Design Documents to document all technical artifacts which was required to develop new/updated functionality.
  • Fit/Gap Docs: This documents we used to document gap between requirement and Curam available functionality.
  • FDD: Sometime i got work to update and create new functional design document which contain functional information.
46. Can you generate a Cúram screen?
 Yes, Using UIM Generation Tool. The UIM Generator tool provides a user interface for automatically generating a UIM page for a particular server interface.

 

To start the UIM Generator tool:

  1. Open a command prompt and change to the <client-dir> folder.
  2. Run builduimgen .
  3. The first time you run the UIM Generator you will be asked to locate a ServerAccessBeans.xml file. This file is generated by theclient target and can be found in the <client-dir>/build folder.

Once the UIM Generator has started, you should see a screen containing the following:

  • A File menu containing options to view your current configuration settings and to exit the application.
  • A tree on the left hand side which lists all the server interfaces in the application.
  • Two options, Display Phase and Action Phase, which determine when the selected server interface is called in the generated page.
  • A Make Page button which generates the UIM for the current settings.

To generate a page perform the following:

  1. Select the interface you wish to test from the tree (e.g. Register-Person.read).
  2. Select the phase in which the interface should be called, for example, Action. Action phase pages call the interface when the page is submitted. Data can be entered for each input field and a button is generated to submit the page.
  3. Click the Make Page button and you will be asked to specify a location for the generated UIM. You can change the default name if you wish. The location should be in the appropriate component folder of your application.

A UIM file and a properties file are generated. The labels for each field are given defaults based on the name of the server interface property associated with the field.

47. How does Cúram handle security?
 IBM Cúram uses it’s Security module which is providing xml technologies to implement. security dmx file needs to update to provide access on different module. TBD
48. Have you used any tools in Data conversion projects?
 We used ETL Tool (Information) to convert legacy data to curam related data. Please answer as per your project.
49. In Cúram, if you want to hide a cluster or something on the screen, describe two different ways that you can do it.
 We can use condition element to hide cluster based on data coming from back-end. TBD
50. How do we map data collected from an IEG script to Evidences?
 IEG Script insert data in below tables while running –

 

DataStoreEntity : Store Data in XML format based on entity like person, relation, income etc.

DataStoreEntityRole: This table store relationship between entities like Person entity belongs to which application entity.

Application creation will use data from these tables to generate evidences.

51. What is Persistence Infrastructure (PI) and Module.java?
The persistence infrastructure uses façade-layer logic to translate data that is received from a user interface screen into a format suitable for passing into a service-layer API call. It also translates the data that is returned from a service-layer API call into a format suitable for returning to a user interface screen.

 

We configure implementation class to interface mapping in Module.java file.

Example

public Class Module extends com.google.inject.AbstractModule{

@Override

protected void configure(){

bind(AIRSample.class).to(AIRSampleImpl.class)

}

}

Also, We need configure this class entry in MODULECLASSNAME.dmx file –

<?xml version="1.0" encoding="UTF-8"?>

<table name="MODULECLASSNAME">

   <column name="moduleClassName" type="text"/>

   <row>

     <attribute name="moduleClassName">

        <value>curam.sample.AIRSampleImpl</value>

    </attribute>

   </row>

</table>

52. How do we customize an existing PI code?
 TBD


53. Is Code table Merge or override?

Code Table Merge.
You can override these code tables by placing new code table files in the SERVER_DIR/components/codetable directory, where is any new directory created under components that conforms to the same directory structure as components/core. This override process involves merging all code table files of the same name according to a precedence order. The order is based on the SERVER_COMPONENT_ORDER environment variable which contains a comma-separated list of component names.


54. Is Message file Merge or Override?

The Message File Merge.
You can override these messages by placing new message files in the SERVER_DIR/components/message directory, where is any new directory that is created under components that conform to the same directory structure as components/core. This mechanism avoids the need to make changes directly to the out-of-the-box application, which would complicate later upgrades.
This override process involves merging all message files of the same name according to a precedence order. The order is based on the SERVER_COMPONENT_ORDER environment variable. This environment variable contains a comma separated list of component names: the left most has the highest priority, and the right most the lowest.


55. What is your roles and responsibility in your Project?

Please Answer this question based on your current project roles and responsibilities.


56. Can you please explain your previous project experience?

Please explain your previous Project information to interviewer. Please consider below points – Project Business Requirement Project Module used Project Technologies used Explain with Some Business Scenario Your Role & Responsibilities


57. Do you know IEG?

Yes, I know IEG.
IEG is an efficient alternative to traditional information gathering processes. With IEG, information is gathered interactively by displaying a script of questions that a user can provide answers to.Questions are only displayed if they are consistent with the user’s previous answers so that the user is only required to provide answers relevant to his or her needs and situation. This creates a user-friendly environment that can be effectively implemented for a range of processes including client information intake, benefit assessment triage, online eligibility assessment, and so forth.


58. Do you know Ruleset?

Yes, I know Ruleset. CER is: a language for expressing the rules for business calculations (in “rule sets”); and a development environment for authoring and testing these rule sets.
a runtime environment for executing rules.


59. What are the CER RuleSet Benefits?

It provide a lot of benefits which are given below –
Simplicity
Flexibility
Localization Support
Validity
Testability
Dynamic support
Spreadsheet-like behavior


60. What are the different Workflow activity types?

Activities are central in a workflow process as they are the steps at which the business processing for the workflow takes place. There are various activity types supported by the Cúram WMS and these are all described in the Activities section of the document. Activity Types are – Base Activity
Automatic
Event Wait
Manual
Decision
Subflow
Loop Begin and Loop End
Parallel
Activity Notifications


61. What is the linking /common entity for all Cúram participants?

The ConcernRole is a key entity which links all of an individuals separate participant types


62. What are the different case types in Cúram and in which entities the details are stored?

There are differnt type of case available in the IBM Cúram, Please find it below – Application Case Integrated Case Product Delivery Case Investigation Case Issue Case The Data related to Case persist in various table and it totaly depend on the type of the case. The Main entities related to Case are CaseHeader, CaseStatus.


15 thoughts on “Technical Development (Cúram) – Answers”

  1. It is a great work. I was searching for such informative on the net and could not find anywhere.
    The wordings are easy to understand and informative.
    Please keep posting.

  2. Hi Dharm,

    Need your insightful advise regarding choices for Batch Streamer processRecord implementation:

    To read and update records from the same entity one by one, which one of the two possible options give below would you recommend for processRecord method:
    i) Creating a new entity factory instance object inside processRecord method itself. OR
    ii) Creating a Guice-@injected class reference variable of the entity in the Streamer and using it in the processRecord to invoke read/update.
    (assuming the entity key is being passed from the chunker as recordID)

    1. Thanks a lot for posting your question here!

      There are many things we have to consider before implementing any logic using Guice like
      * it is very heavy tables and records will be more then don’t use
      * it is required to refresh the records in cache memory on every update or insert so it will take one extra effort in coding

      Using Factory Instance
      * We can use Factory Instance to read and update the records but we have to see number of records involved in this process.
      * I would suggest to move your update logic to chunker as update all records in single connection in place of connecting db again and again as this process is not advisable.

      Please let me know if you need more information.

      1. Thank you so much for your prompt response!
        Your clarification was very helpful in improving my understanding. I will keep these points in mind.

  3. how can you create an operation (say nsmulti) and get columns from multiple tables in a struct? It looks we create operations on entities and can only get columns from that entity. Is that true?

  4. Please find some more question below –
    * Is Code table Merge or override?
    * Is Message file Merge or Override?
    * What is your roles and responsibility in your Project?
    * Can you explain please your previous project experience?
    * What was your toughest assignment?
    * Java oops concept with example like encapsulation, dynamic binding, inheritance etc.
    * Do you know IEG?
    * Do you know Ruleset?
    * How to customize Evidence Entity and Non Evidence Entity?
    * What is resolver and How it works?

    1. * Is Code table Merge or override?
      Code Table Merge.
      You can override these code tables by placing new code table files in the SERVER_DIR/components//codetable directory, where is any new directory created under components that conforms to the same directory structure as components/core.

      This override process involves merging all code table files of the same name according to a precedence order. The order is based on the SERVER_COMPONENT_ORDER environment variable which contains a comma-separated list of component names
      * Is Message file Merge or Override?
      The Message File Merge.
      You can override these messages by placing new message files in the SERVER_DIR/components// message directory, where is any new directory that is created under components that conform to the same directory structure as components/core. This mechanism avoids the need to make changes directly to the out-of-the-box application, which would complicate later upgrades.
      This override process involves merging all message files of the same name according to a precedence order. The order is based on the SERVER_COMPONENT_ORDER environment variable. This environment variable contains a comma separated list of component names: the left most has the highest priority, and the right most the lowest.
      * What is your roles and responsibility in your Project?
      Please explain as per your Project and Roles.
      * Can you please explain your previous project experience?
      Please explain as per your Project.
      * What was your toughest assignment?
      You can prepare any good tough thing and explain how you handle that.
      * Java oops concept with example like encapsulation, dynamic binding, inheritance etc.
      * Do you know IEG?
      Yes, I know IEG.
      IEG is an efficient alternative to traditional information gathering processes. With IEG, information is gathered interactively by displaying a script of questions that a user can provide answers to.

      Questions are only displayed if they are consistent with the user’s previous answers so that the user is only required to provide answers relevant to his or her needs and situation. This creates a user-friendly environment that can be effectively implemented for a range of processes including client information intake, benefit assessment triage, online eligibility assessment, and so forth.

      * Do you know Ruleset?
      Yes, I know Ruleset.

      CER is:

      a language for expressing the rules for business calculations (in “rule sets”); and
      a development environment for authoring and testing these rule sets.
      a runtime environment for executing rules.

      * How to customize Evidence Entity and Non Evidence Entity?
      Please see topic below –
      https://knowledgewala.comibm-curam-entity-class-customization/
      * What is resolver and How it works?
      Please see the topic below –
      https://knowledgewala.comibm-curam-user-interface-metadata-uim-important-code/

  5. What Are CER RuleSet Benefits?

    It provide a lot of benefits which are given below –
    Simplicity
    Flexibility
    Localization Support
    Validity
    Testability
    Dynamic support
    Spreadsheet-like behavior

Leave a Reply

Your email address will not be published. Required fields are marked *