Mining Microbiome Analytics Platform
BGC Engineering, Vancouver, BC
Full Stack Azure Developer – October 2021– December 2022
Provided solution architecture and implemented POC for a new project for Mining Microbiome Analysis Platform. Microservices architectural style and the CQRS (Command Query Responsibility Segregation) pattern. Heavy utilization of Azure Cognitive Search Engine and Cosmos DB.
The solution UI is comprised of several Microsoft technologies; a data collection application written in PowerApps to be used on mobile phones; an administrative website written in Blazor Web Assembly and Telerik controls secured by AAD, and a public consumer portal written in Blazor Web Assembly and secured by AAD B2C and structured using Clean Architecture (DDD) pattern.
The backend is composed of several Azure technologies; API gateway management service to collect the data from the UI secured by AAD, Azure functions for the microservices APIs, storage in Azure Blobs and table storage of JSON documents, storage in Azure SQL of relational records for analysis, and Cosmos DB. Extensive use of Azure Cognitive Search index for fast web UI search.
Software Engineer - June 2019- September 2020
TRADER is known for their auto trader website https://wwwa.autotrader.ca/
During my 16 month experience working at Trader as a consultant I developed skills on Azure cloud microservices in an architecture that featured well-structured solution patterns such as the event-bus, CQRS, and model-view-controller (MVC) patterns. The solution provided continuous integration with existing enterprise applications and various data stores (Cosmos DB, Azure blobs, and SQL databases), data APIs and front-end web portals. The architecture provisioned the reusable components as NuGet packages and created Continuous Integration/Continuous Delivery (CI/CD) yml pipelines with complete unit testing functional coverage and integration testing for the loosely coupled Azure functions. Specflow was used as Business-Driven Development (BDD) tool. On the front-end I worked on developing Angular and React components in a responsive web design.
Excelleris/Lifelabs, Burnaby, BC
Software Engineer – July 2017-May 2018 (23 months)
Worked on the production support, and development of Excelleris Launchpad, which distributes diagnostic data to medical services providers through web and mobile interfaces. I also worked on developing interfaces for exchanging HL7 messages with external organizations. The development components are written in Microsoft SQL, C++, C#.NET, MVC, Angular JS, and a WCF SOA architecture hosted in both IIS, and Window Services.
Lifelabs serves that data for both healthcare providers and patients using web, and mobile applications. The web application runs on the Lifelabs server and connects using certificate authentication to a plethora of services that handle the business logic and data manipulation. REST services are also used for the UI written in Angular; which in turn connect to the WCF services using certificate authentication. It also allows healthcare providers to send reports and pull HL7 messages by exposing web UI endpoints that wraps around the WCF services to complete the tasks. In summary, the business layer is entirely written in WCF using sync and async request-response message exchange pattern.
Performed team lead and scrum master duties.
Allscripts Health Care Solutions, Richmond, BC
Senior Software Engineer / Consultant– March 2016– December 2016 (10 months)
Worked towards implementing the Meaningful Use 3 (MU3) certification requirements for the use of electronic health record (EHR) and FHIR (Fast Health Interoperability Resources) API. The Allscripts Sunrise Clinical Management application is an integrated enterprise clinical platform for hospitals and health systems. The User Interface is implemented using Windows Presentation Foundation (WPF), C#, LINQ, and connected through a SOA composed of both WCF, and REST Web API, and a data layer on top of SQL database. Used Specflow for building complex automation testing.
The entire business layer is composed of WCF services. I worked on the development and creation of automated tests using Specflow of those WCF services that transform the database model to FHIR model that is served through a REST API to communicate with external clients and internal web applications.
Exan Group Software, Coquitlam, BC
Senior Software Engineer – December 2014 – May 2015 (6 months)
HL7 health system messages integration with external vendors to exchange data from dental information to various medical systems using Iguana broker system. The application is developed using Iguana server to translate HL7 to JSON messages to be served to Web API endpoints to update Oracle database.
Provincial Health Services Authority– Burnaby, BC
Senior .NET Developer/Consultant – November 2013- September 2014 (11 months)
BizTalk integration: developed several applications using C#.NET and VS 2012 against BizTalk.
Developed integration solutions with BizTalk using HL7, WCF, LINQ, and MSMQ. HL7 provides a framework (and related standards) for the exchange, integration, sharing, and retrieval of electronic health information.
Replaced the BizTalk custom pipelines with WCF services that receives and sends HL7 to BizTalk endpoints. This strategy enabled building automated unit testing around the business logic within the WCF layer without the need to host the pipeline in a BizTalk server.