Jaison Mathew

Senior Software Engineer at Metropolitan Wireless International Pte Ltd, partner company of Motorola

Senior Software Engineer

Metropolitan Wireless International Pte Ltd, partner company of Motorola Solutions

October 2013 – Present (2 years 10 months)Ayer Rajah Crescent

Project: Ministry of Home Affairs Communications Network 2 

Responsibilities:

  • Development for Integrated Operator Communications terminal in java swing.
  • Software design and development using core java, client –server socket programming, Java Swing for front end development, Java Messaging Service - Hornetq server, ehcache and netty framework.
  • Server side module development using JMS, client socket programming and core java.

Development and Integration testing with Audio Unit for voice routing from/to different sources like trunked radio,VHF, CMS, PSTN phone using client server socket programming.

  • Conduct maintenance training for the support people.

Project: Downtown MRT Phase 3

Responsibilities:

  • Development of back end server modules for gateway tetra communications for Downtown MRT .
  • Software design and development using client –server socket programming Java Messaging Service - Hornetq server, ehcache. MySQL 
  • Development and Integration testing with Motorola gateway servers.

Project: Hadoop Development project as part to Big Data & Hadoop Certification training

  • Hadoop installation and setup in pseudo and fully distributed mode.
  • Map reduce jobs development using Java, Pig, Hive
  • NoSQL development using HBase Anayze the US Healthcare medicare planes for comparison between the county for specific benefits.
[No canvas support]

Project: Medicare Data Analysis.

Faculty Feedback

Prashanth G

Practice Lead - Healthcare at TCS

I have reviewed the project. This is to inform you that the project is completed and meets all the requirements for certification. You may issue the certificate to Jaison.

Problem Statement:

Several Medicare plans are available for senior citizens and other qualified members to enrol into every year, that are offered by different health insurance companies offering these plans. While a lot of information regarding individual plans exist, it is difficult to compare plans based on various criteria to make an informed choice to suit unique situations of individual members as well as for plan benefit designers to compare plans and design benefits that meets unique requirements and are competitive in different markets. The purpose of this document is to detail the analysis of the medicare plans data across US and provide useful summary details.

  1. The primary purpose of this project is to facilitate analysis of Medicare plans to provide meaningful insights that help in choosing appropriate medicare plans by comparing all relevant details regarding these plans that are available in each countries throughout the country.
  2.  While CMS provides rich details on all the plans that are offered county wise, it makes better analysis when each plans that are offered are compared  on the finer descriptions of its cost and coverage details
  3. To implement an efficient system to extract , load and transform all data related to Medicare plans to perform analytics.
  4. Analysis of Medicare plans to compare plan offerings by various criteria’s to select suitable plan for the Members.
  5. Analysis of Medicare plans to compare plan offerings to design suitable benefit plan for different regions


Dataset:

The medicare data can be downloaded from medicare government website from the following location:

https://www.medicare.gov/download/downloaddb.asp

Pig Latin Scripts
REGISTER /usr/local/pig/lib/piggybank-0.12.0.jar;
DEFINE CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage; 
planinfocountylessthan3000 = LOAD '/Data/Project/PlanInfoCounty_FipsCodeLessThan30000.csv' USING CSVExcelStorage(',', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER');
a = FOREACH planinfocountylessthan3000 GENERATE $0 as contractid, $1 as planid, $2 as segmentid, $3 as year, $5 as planname, $74 as countyfipscode;
b = FILTER a by year is not null and contractid is not null and planid is not null and segmentid is not null;
store b INTO '/Output/Project/planinfocounty_data_lessthan3000.txt' USING  PigStorage(',', '-schema');

REGISTER /usr/local/pig/lib/piggybank-0.12.0.jar;
DEFINE CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage; 
planinfocountymorethan3000 = LOAD '/Data/Project/PlanInfoCounty_FipsCodeMoreThan30000.csv' USING CSVExcelStorage(',', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER');
c = FOREACH planinfocountymorethan3000 GENERATE $0 as contractid, $1 as planid, $2 as segmentid, $3 as year, $5 as planname, $74 as countyfipscode;
d = FILTER c by year is not null and contractid is not null and planid is not null and segmentid is not null;
store d INTO '/Output/Project/planinfocounty_data_morethan3000.txt' USING  PigStorage(',', '-schema');

REGISTER /usr/local/pig/lib/piggybank-0.12.0.jar;
DEFINE CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage; 
planservice = LOAD '/Data/Project/vwPlanServices.csv' USING CSVExcelStorage(',', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER')
 AS (language:chararray, year:chararray, contractid:chararray,planid:chararray,segmentid:chararray,categorydesc:chararray,categorycode:chararray,
benefit:chararray,packagename:chararray, packageid:chararray,sortorder:chararray);
a = FOREACH planservice GENERATE language, year, contractid, planid,segmentid, categorydesc,categorycode, benefit;
b = FILTER a by language == 'English' and year is not null and contractid is not null and planid is not null;
store b INTO '/Output/Project/planservice_input_data.txt' USING  PigStorage(',', '-schema');
HIVE Scripts
crate database project;
use project;


create EXTERNAL  table planservice
	(language STRING,
              year     STRING,
             contractid STRING,
             planid     STRING,
             segmentid  STRING,
             categorydesc STRING,
             categorycode STRING,
             benefit STRING)
         ROW FORMAT DELIMITED
         FIELDS TERMINATED BY ','
         LINES TERMINATED BY '\n';

LOAD DATA INPATH 'hdfs:/Output/Project/planservice_input_data.txt/part-m-00001' INTO TABLE planservice;
LOAD DATA INPATH 'hdfs:/Output/Project/planservice_input_data.txt/part-m-00002' INTO TABLE planservice;

create EXTERNAL  table planinfo
	(contractid     STRING,
         planid         STRING,
         segmentid      STRING,
         year           STRING,
         planname       STRING,
         countyfipscode STRING
         )
	 ROW FORMAT DELIMITED
	 FIELDS TERMINATED BY ','
	 LINES TERMINATED BY '\n';

LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00000' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00001' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00002' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00003' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00004' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00005' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00006' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00007' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_lessthan3000.txt/part-m-00008' INTO TABLE planinfo


LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00000' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00001' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00002' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00003' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00004' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00005' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00006' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00007' INTO TABLE planinfo
LOAD DATA INPATH 'hdfs:/Output/Project/planinfocounty_data_morethan3000.txt/part-m-00008' INTO TABLE planinfo



CREATE TABLE planbylowpremium AS
SELECT A.contractid
 ,A.planid
 ,A.segmentid
 ,A.categorydesc
 ,A.categorycode
 ,B.planname
 ,B.countyfipscode
 ,regexp_extract(A.benefit, '<[a-z]>[$](.*)', 1) AS premium
FROM planservice A
INNER JOIN planinfo B ON A.contractid = B.contractid
 AND A.planid = B.planid
 AND A.segmentid = B.segmentid
WHERE A.benefit LIKE '%remium%'
 AND regexp_extract(A.benefit, '<[a-z]>[$](.*)', 1) > 0 order by premium;



CREATE TABLE planbydoctorcopay AS
SELECT A.contractid
 ,A.planid
 ,A.segmentid
 ,A.categorydesc
 ,A.categorycode
 ,B.planname
 ,B.countyfipscode
 ,regexp_extract(A.benefit, '<[a-z]>[$](.*)', 1) AS copay
FROM planservice A
INNER JOIN planinfo B ON A.contractid = B.contractid
 AND A.planid = B.planid
 AND A.segmentid = B.segmentid
WHERE A.benefit LIKE '%copay%' and  (A.benefit LIKE '%Primary care physician visit%' or  A.benefit LIKE '%Specialist visit%' )
AND A.categorydesc = 'Doctor\'s Office Visits' 
AND regexp_extract(A.benefit, '<[a-z]>[$](.*)', 1) > 0 order by copay desc;



CREATE TABLE planbyfreeambulance AS
SELECT A.contractid
 ,A.planid
 ,A.segmentid
 ,A.categorydesc
 ,A.categorycode
 ,B.planname
 ,B.countyfipscode
 ,regexp_extract(A.benefit, '<[a-z]>(.*)', 1) AS service
FROM planservice A
INNER JOIN planinfo B ON A.contractid = B.contractid
 AND A.planid = B.planid
 AND A.segmentid = B.segmentid
WHERE A.categorydesc = 'Ambulance Services'  AND ( A.benefit like '%You pay nothing%' or 
 A.benefit like '%you do not have to pay for the ambulance services%'
or regexp_extract(A.benefit, '<[a-z]>(.*)[%]', 1)  = '0');

CREATE TABLE planbydiabetes AS
SELECT A.contractid
 ,A.planid
 ,A.segmentid
 ,A.categorydesc
 ,A.categorycode
 ,B.planname
 ,B.countyfipscode
 ,regexp_extract(A.benefit, '<[a-z]>(.*)', 1) AS service
FROM planservice A
INNER JOIN planinfo B ON A.contractid = B.contractid
 AND A.planid = B.planid
 AND A.segmentid = B.segmentid
WHERE A.categorydesc = 'Diabetes Supplies and Service';


CREATE TABLE planbydiabetesmentalhealthcare AS
SELECT A.contractid
 ,A.planid
 ,A.segmentid
 ,A.categorydesc
 ,A.categorycode
 ,B.planname
 ,B.countyfipscode
 ,regexp_extract(A.benefit, '<[a-z]>(.*)', 1) AS service
FROM planservice A
INNER JOIN planinfo B ON A.contractid = B.contractid
 AND A.planid = B.planid
 AND A.segmentid = B.segmentid
WHERE A.categorydesc in ('Diabetes Supplies and Service', 'Mental Health Care');
processing person-icon