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.