Todd Norris | Digital Excellence

Projects
Take a look at my work.
language
One Patient One List - a web application for unifying work-flow controls over NLP technologies...
C# | ASP.NET | MVC | JAVASCRIPT | HTML ...
apps
Malaya - a cancer learning artificial intelligence using neural networks...
C# | MVC | SQL ...
language
Gain-sharing and Compliance - web application to address Medicare's new bundled payments system...
C# | ASP.NET | WEB API | JAVASCRIPT | HTML | SQL ...
Skills
My skills and proficiencies.
code
C# (C Sharp) - I've been working with C# since it's inception. It is my "go-to" language when building on the .Net platform...
LANGUAGE
storage
SQL - I've been using SQL since version seven. I use SQL for all my database projects...
DATABASE & LANGUAGE
code
JavaScript - I've been working with JavaScript since 2003 and still use it quiet regularly through libraries like jQuery ...
LANGUAGE
About
Who I am and how I got here.
Having a vision (collaborative or independent) and being able to translate that into something tangible is the ultimate reward for me.

I wrote my first line of code when I was twelve years old and I continue to push the limits of technology with a passion for excellence. I like to stretch beyond my creative comfort zone in the interest of delivering solutions that are compelling and surpassing expectations.

I'm a problem solver, that's what I do. I leverage my knowledge, skills and the latest technology to solve problems.

With a career spanning two decades, I've had the opportunity to work with some exceptionally talented people and pick up a few awards along the way.
Contact
Reach out and say hello.
Enter the code from above:
manage_accounts Projects
languageOne Patient One List
Sarah Cannon SCRI / HCA
I develop a front-end for unifying work-flow controls over NLP technologies at the medical facility level.
PROBLEM:
The business needs to be able to control, document and track triggers that target a third party (purchased) NLP back-end.
SOLUTION:
Create an intuitive web app that allows users to easily assign, schedule and document a facility's work-flow through the NLP process.
DETAILS:
HL7 data and pathology reports drive the available options for the medical facilities. This project is a vision of the CIO. I work closely with him to make it a reality. He has requirements for categories and roles that help me to design the structure and work-flow process.
HIGHLIGHTS:
Supporting a colleague's vision for the advancement of medical care is always rewarding. I was solo on this project.
TECH:
C# | ASP.net | Web API | JavaScript | jQuery | CSS | HTML | Active Directory | SQL
appsMalaya
Sarah Cannon SCRI / HCA
I set out to push health-care and my team to the next level. I create an Artificial Intelligence that wants to learn about cancer. It's a personal goal to help find a cure by classification and prediction.
PROBLEM:
How can I leverage my knowledge and skills to have the biggest impact on advancing the treatment and cure for the millions suffering with cancer.
SOLUTION:
Create an artificial intelligence that uses machine learning to teach itself the signs, statistics, fundamentals and genomics of cancer.
DETAILS:
This was a personal project for me. In my initial concepts, I recognized the physical limitations of human perception and understanding of large amounts of unstructured data. I also recognized the technical limitations of singular computations in today's CPUs. After some discovery, I also recognized I couldn't leverage any third-party technology. I would have to build my own, specific to health-care. I would also need to provide undisputable results to acquire buy-in from my colleagues and the leadership team. I created Malaya to address all these obstacles and deliver market leading results. I consider it my greatest achievement in Computer Science thus far. At the core, it is two parts. One consisting of Artificial Intelligence and the other of Machine Learning. Many people misunderstand and think these two fields are the same but they're not. You can think of A.I. as an agent that communicates and appears to think like a human. M.L. on the other hand, is the ability to “learn” without having to be explicitly programed. Malaya uses a “Supervised Learning” technique. Since I have access to the data of patients that have been diagnosed with cancer, I use that data to “Train” Malaya. I created a Super Vector algorithm that builds the model it uses as a classification system. Malaya uses this model to predict “unknown or undiagnosed” medical data with a 97% accuracy and it can do it in milliseconds. The training sessions can be quite lengthy though. The model must consist of “all” cancer diagnosed data. This is where the singular computation problem I spoke of earlier comes in. To accommodate this, I created a Neural Network that consist of web API nodes that use an F7 to distribute the workload over many machines. All my layers scale well and I made sure the structure and technology I created was ambiguous.
HIGHLIGHTS:
The ability to utilize my talents to help people and potentially save lives is always rewarding... but doing that while learning new tech and sharing that knowledge with my team too? Priceless.
TECH:
C# | ASP.net | MVC | SQL | Entity Framework | JavaScript | jQuery | CSS | HTML | Heavy Math (algebra)
languageGain-sharing and Compliance
HCA (Hospital Corporation of America)
Medicare moves toward bundled payments, combining the payment over an episode of care. I create work-flow technologies to manage the process.
PROBLEM:
Our business must identify facilities and physician in our system that can participate. We must comply with Medicare's requirements, including audits.
SOLUTION:
Create an MVC / Web API application with Entity Framework and use our existing core architecture for auditing, email notifications and work-flow. Recording every step of the process to meet requirements.
DETAILS:
Health-care entities will be able to bid on contracts and be responsible for the entire treatment process. Before the bidding can take place, our business must identify facilities and physician in our system that can participate. Once identified, there are steps that must be completed and recorded to comply with Medicare's requirements. I built a structure that scales by taking advantage of the “visitor” design pattern. I separate the checklist from the answers, giving the end user (administrators) the ability to create their own checklist. This reduces the cost of future development and allows me to focus on analyzing productivity for enhancements.
HIGHLIGHTS:
At the time, the Affordable Care Act's future was uncertain and constantly changing. Because this would affect Medicare and the work we do, there were a lot of changes to the requirements which extend my time-lines. I was solo on this project.
TECH:
C# | ASP.net | MVC | Web API | JavaScript | jQuery | CSS | HTML | Entity Framework | SQL | Active Directory | Kendo Controls
languageNavQue
Sarah Cannon SCRI / HCA
The patient navigators need to be able to validate medical records for cancer patients. I come to the rescue with computer science.
PROBLEM:
The business needs to be able to validate medical records. If the record is invalid for a specific type of cancer, the end user needs to be able to identify the problem, correct the issue and document. If the record is valid the data needs to be moved into another system, application and database.
SOLUTION:
Create an MVC / Web API application with Entity Framework and use our existing core architecture for auditing, email notifications and work-flow. Recording every step of the process to meet the business requirements.
DETAILS:
I got a lot of input from the end users and the business which drove what data I needed to retain and the UI work-flow. Its straight forward until I get to the back end where there is heavy lifting with existing structures, applications and databases. This was a team effort.
TECH:
C# | ASP.net | MVC | Web API | JavaScript | jQuery | CSS | HTML | Entity Framework | SQL | Active Directory | Kendo Controls
languageVSAM
Sarah Cannon SCRI / HCA
I get asked to help with an MVC application for validating system access (VSAM). The project is behind schedule and needs attention. FDA guidelines and requirements drive the process...
PROBLEM:
Move current validation paper process to a digital format with automatic auditing and work-flow. Must be built using stringent FDA guidelines and provide a path for random audits.
SOLUTION:
Create an MVC web application with Entity and use our existing core architecture for auditing, email notifications and work-flow.
DETAILS:
IT maintains a user document for each software system we have. Every time they grant or revoke access to these systems they have to document who requested the access, who the access is for, the user's information, who approved the access and so on... The FDA and other government agencies randomly audit our data and monitor our processes. Moving to the electronic process will make it easier for all users involved and streamline the audit process. Solving this problem technically isn't difficult however, development issues arise with properly ranking Agile stories that deal with the FDA requirements. Everything must be documented and a specific path to the process is required.
TECH:
C# | ASP.net | MVC | JavaScript | jQuery | CSS | HTML | Entity Framework | SQL | Active Directory | Kendo Controls
languageSarah Cannon Patient Id
Sarah Cannon SCRI / HCA
I get the opportunity to create a REST framework and an MVC application to support Doctors, Nurses, Physicist and Researchers with their quest to find a cure for cancer at Sarah Cannon. It feels good to apply your skills to a great cause...
PROBLEM:
Doctors, Physicist, Nurses, Navigators and Researchers need a way to look up a patient, their records, documents and doctor/hospital visits in real time.
SOLUTION:
Leveraging NLP technology we could quickly target patient data for specifics like lung nodule or tumors. We could gather the data, format and normalize it for better access. Then create a MVC application that would serve the data to other internal application and the CPL MVC site itself. This would automate processes and make the information device/platform agnostic.
DETAILS:
Patient data and records have a simple data structure requirement that is too flexible to really make any meaning of the content. Medical organizations use all types of different data servers. What you end up with is huge blobs of data that has to be processed into a usable, readable structure. Volume is an issue as well. I spent a lot of time designing structures and creating processes that had to jump over different domains. Security was a big issue not only with storage but serving the information as well. Since we had other applications making request through CPL, we relied on AD (Active Directory) and powerful encryption techniques. I built ASP.net 4.5+ MVC controllers to handle request and return information. This is scalable and works really well because I could expose the API to not only the CPL web applications but to other applications as well, saving on cost and time. I created a custom attribute for security and permissions. The attribute is placed on all actions in each controller. I also created HTML Helpers that allowed me to overload methods, serving the information in many different types of formats like HTML, JSON, XML, etc...
HIGHLIGHTS:
The complexity and volume of the data allowed me to use new tools and technology that I hadn't worked with before- NLP & Hadoop (Cloudera) specifically. Hadoop does not replace SQL, you'll still need it for transactional request. Hadoop does the heavy lifting of big data. Between Hadoop and Android, I've been using Java quite a bit lately. At the time of me writing this, I've released 2 builds in a small feedback beta group, with great feedback - a luxury I don't always have. The CPL framework and web application, along with Cloudera will be released in the second quarter.
TECH:
C# | Java | ASP.net | MVC | SQL | NLP (Natural Language Process) | Hadoop (Cloudera) | JavaScript | jQuery | CSS | HTML | Kendo Controls
languageSSI ClickON® Billing
SSI Group Inc.
Recently I was tasked with temporarily helping our Agile Sustainment team with their SSR backlog in the company's current Billing products. Sustaining clients on older tech before we roll out a major upgrade...
PROBLEM:
The majority of the company's engineering talent was tasked with producing new products. Eventually the Sustainment team was overrun with bugs from the released (production) software.
SOLUTION:
Clear out the back log of bugs entered by clients
DETAILS:
Sustainment has a back log of 250 bugs. They use the Kanban version of Agile so a development pipeline structure was in place and that was good. I chose a strategy to pull stories (SSR tickets) that I could do the fastest first. Then I would work my way to the ones that would extend QA time-lines. Since these issues were associated with clients, the faster I could turn these around, the more clients I could help, building our momentum. This approach has proven successful. Many of the issues surrounded industry changes in medical forms. I spent a lot of time tracking down bugs by jumping between projects, stepping through functions and methods. The code consisted of T-SQL, JavaScript, VB.net, and C#. I would make the appropriate changes, test, then get verification from a colleague. Then I would check in my work to TFS (Team Foundation Server 2012), get the latest and repeat. Builds are done every two weeks in this department. After we make the build, it is sent to QA.
HIGHLIGHTS:
The complexity of the structure required VMs and remote debugging that I'd initiate through the OS process tree in the VMs. Mastering all the windows started out to be pain. After I got a rhythm going, I could navigate with my shortcut keys and do my thing. This project also required heavy researching as client customization, over the years, had been coded directly in the base classes. In the last 4 week of me writing this, we've increased our output numbers, crushing 200+ bugs.
TECH:
C# | VB.net | ASP.net | SQL | JavaScript | CSS | HTML and Some Fox Pro
languageSSI Broadcast
SSI Group Inc.
After showing my Visual Studio video at Innovation Week, I was approached to create some videos showcasing upcoming software products and services. I seized the moment as I visualized an opportunity for Azure, MVC and a platform for me to share my cloud development knowledge with the company...
PROBLEM:
The Company needed a video solution to communicate with all departments and clients about products that were currently in development, especially after each sprint. This communication line needed to be technical enough to keep the attention of engineers but not so technical that it's go over the heads of clients and non-technical staff. Many of the employees are off site, complicating distribution and security. You have to keep in mind that these products are not released yet.
SOLUTION:
I developed a scalable, secure, MVC web application and Cloud storage that would meet the requirements.
DETAILS:
The web app required a company email address for registration and validation. I hosted the videos in storage blobs in Azure containers that I set to private. The only way to access the videos is through a URL I dynamically generate in a controller from the MVC site. The URL contains a Shared Access Policy that contains an expiration date/time. For even more security I created a cloud library project in Visual Studio that restricts it's assembly visibility to the MVC 's assembly. Then I replicated the Azure containers across the country with load balancing (at the time, Microsoft had not yet built out their CDN). The MVC pattern itself offers scalability when structured correctly and with a few lines of code I can scale Azure by adding a streaming media server to consume and distribute the videos in the containers. This offers a complete scalable solution for years and years to come. All that was left was to create the videos. Gathering information from agile product owners and my own agile stories I coded, I was able to deliver both technical and non-technical communications is the form of videos. I used HTML 5 video tags with mp4 containers for cross browser support. I also used SignalR to simulate broadcasting by starting the videos once everyone was connected. I also used SignalR as a chat relay for questions or comments during the presentations. Using my own rendering engine (EGO Studio), I added particles and 3D objects for the motion graphics to the package.
HIGHLIGHTS:
This project was a lot of fun because I was given more creative freedom than usual but this also meant I had to wear many hats and create some tools from scratch. This affected deliverable frequency. Initially, it was a bumpy road but as things started to take shape, everyone was on board and I made a few fans and some new technology we could use in the process. I wish I could actually share some of the amazing videos we created. They show off all the hard work my colleagues and I have done but due to contractual obligations they are property of SSI Group Inc.
TECH:
Azure API | C# | ASP.net | MVC | SQL | JavaScript | jQuery | Bootstrap | CSS and HTML
languageSSI ClickON® Billing 4
SSI Group Inc.
The rewrite of Billing 4.0. Major upgrades incoming... Working on the G2 Scrum Team, Life Runs on Code. Doesn't it?
PROBLEM:
Older web application is broken, outdated and dependent on obsolete platforms. The company needed a scalable replacement solution quickly that doesn't sacrifice functionality.
SOLUTION:
Rewrite the older web application, all of it's technology and structure - meeting requirements.
DETAILS:
ClickON® Billing is a medical claims management solution that facilitates the electronic editing, validation and transmission of institutional and professional claims. An enterprise solution that provides edits at the HIPAA, payer and provider levels. This ASP.Net 4.5 MVC application is hosted on a server farm and load balanced to serve 100,000 users simultaneously. The multi-tier service layers utilize 4000+ SQL databases daily. It is scalable and efficient. The project is broken out into multiple tiers (network layers) and then multiple projects (OOP for security, Data, MVC site, Validation, Transmission and so on…). Abstract classes are used as contracts for communication across all the objects and layers. The structure is efficient because it enforces responsibility by making the most of polymorphism and encapsulation. The single sign on project (SSO) is a prime example of this. All projects (high level objects) must communicate with SSO for security, permissions and licensing. Abstract classes and interfaces form an inheritance that enforces the SSO's responsibility to all objects. Flexibility is offered through multiple overloads for constructors, methods and operators. This allows the compiler to do its job properly and increase the quality of all code, for all objects, that reference one another. This department consist of several Scrum Teams. We pull stories, develop, unit test and then check in our work to TFS. Each Scrum Team has a tester who test the stories against functionality. Sprints last 2 weeks and end with a Sprint Demo and a Retro where we discuss how we can improve the next Sprint.
HIGHLIGHTS:
This project's structure itself defines and communicates the relationships and responsibilities for each object involved in a specific task. This is how good planning in the beginning of a project can pay off later in a system's lifespan. It's all about scalability.
TECH:
C# | ASP.net | MVC | SQL | Entity Framework | JavaScript | jQuery | CSS | HTML | nCache | Kendo Controls | Unit testing
appsSSI ClickON® Billing Job Server
SSI Group Inc.
I get the opportunity to build a Job's Engine from POC (proof of concept) to production. Flying solo...
PROBLEM:
Existing Job application is written on old Fox Pro technology that is no longer supported and cannot take advantage of multi-threaded, modern hardware.
SOLUTION:
Rewrite in C# and structure for multi-threading. Build a Windows Service that can open a pool of Jobs.
DETAILS:
A multi-threaded C# console application distributed over a large scaled server farm, the Job Engine loads jobs dynamically by creating objects by name using attributes. Most of the jobs process medical claims for hospitals and physicians. Using the Entity framework with over 4000 SQL databases. This application processes over 600 million transactions totaling in excess of $800 billion in billed electronic claims revenue for care providers annually. The job engine was built from the ground up with scalability in mind. I wanted to make it flexible, scalable, easy to develop jobs for and easy to support. Internal logging records every major step of the process as well as a serialized snapshot of all the properties and objects. These items can be downloaded from the database and loaded into a test environment for debugging in the Visual Studio 2012-2013 IDE. The solution comes with a service that uses a dispatch pattern to distribute the jobs over Windows Communication Foundation. This allows for scalability and flexibility over the network by allowing the dispatcher to be paired with the engine on one server or a one to many server setup, depending on network traffic. The dispatcher service can also be configured to assign specific job types to specific job engines. The job engine logs stats about how long a job takes to complete, CPU usage and memory usage. These stats drive the configuration and distribution model over the network. The engine can handle multiple jobs at one time on different threads, creating an application pool environment similar to IIS. Lifetime variables can be configured in engine, controlled through dispatch or the engine can learn for itself over time. Because developers needed to be able to customize jobs for specific clients, I broke part of the solution out into 3 separate libraries- shared, parts and the jobs themselves. This allows me to dynamically load customized jobs through late binding. The shared library consist of interfaces and abstract classes that force types and methods between the engine and the jobs. The parts library contains atomic code with virtual methods. This class can be inherited as a base class thus allowing the atomic code methods to be overridden for job customization. The atomic library also minimizes duplicate code since all jobs reference it.
HIGHLIGHTS:
I developed jobs.exe using the visitor pattern. Under Agile and the Scrum framework, I continue to work on the engine and jobs. Jobs.exe was developed to replace older technology and take advantage of multi-threaded chip-sets in modern high performance servers.
TECH:
C# | Multi-threading | T-SQL
appsJCMT
LexisNexis Group
If the CEO (my boss) ask for a CRM, you give him a CRM. Through heavy research, I remove internal pain points and streamline the work-flow for many...
PROBLEM:
The Company needed a Client management tool and a normalized data structure to store vast amounts of client information including licensing information.
SOLUTION:
I developed a scalable, secure, Windows Application that allowed all users on the network access to view, edit and add client data. I also designed a normalized data structure in SQL with one to many relationships.
DETAILS:
Keeps track and helps users manage all aspects of the client in one package. Quick access to phone calls, appointments, meetings, emails, faxes, letters, notes, quotes, invoices, A/R, support incidents, products, services, software, support plans, contracts, environments, shipping, contacts and profiles... It is the root of the business. Harnessing .net technology and history tracking data in SQL to not only manage the clients but give all teams in the business the ability to target specific goals and enforce business strategies, pushing the company forward with precision.
HIGHLIGHTS:
I used interfaces to overcome multiple inheritances issues with the functionality in each of the tab pages. Because the end users needed the ability to load multiple licenses for each client, I used the Factory Method to handle the derived classes. A Singleton object holds the data for each license and is created on it's own thread to keep the UI reactive. A network authentication/permissions hierarchy is used for security and connecting to Exchange and the Active Directory.
TECH:
C# | SQL
appsSCOMM
LexisNexis Group
Support needs support. I'm all in...
PROBLEM:
The Company's Support team needed to combine 3 different application's functionality in one application. They also needed a way to communicate with each other through a chat system and a knowledge-base that was searchable. Managers needed a way to measure performance and recognize troubled clients in real-time.
SOLUTION:
I developed SCOMM, a Client Support desktop application. Seamlessly integrated with Microsoft Exchange, the phone system and SQL. I created data transfers using SSIS packages, importing and cleaning data from old flat file systems into the new SQL Client Database I created for JCMT. I also created a chat relay server and a telephone remote as a windows services.
DETAILS:
Support reps track time and work client issues- communicating via the phone system, email or the website. Tools include client details, asset management, support level management, knowledge-base, ticket work-flow, escalation and assignment. Instant report access gives management the ability to recognize strengths of personnel delivering optimum utilization. Harnessing .net technology and history tracking data in SQL to not only manage the clients but give all teams in the business the ability to target specific goals and enforce business strategies. The heart of this support solution is the communications processing that happens in the background. If a client calls in with a critical issue, every department is notified. This eliminates sales teams blindly selling to clients with existing issues. This application features a network authentication/permissions hierarchy and an auto update feature for update deployment.
HIGHLIGHTS:
Because Client Service Developers could create .net custom libraries, I used Abstract Classes to force complete implementation. Base classes with virtual methods could be overridden to offer flexibility while maintaining the Proxy structural pattern.
TECH:
C# | Telephony | SQL
languageLexisNexis Firm Insight
LexisNexis Group
How come your competition is able to get a better ROI than you? Automated peer group benchmarking brings insight... Firm Insight.
PROBLEM:
The company CEO wanted to offer a new product that would allow law firms and their partners to compare themselves financially with other, similar firms. The firm could take this information, cross examine the data and make internal changes to achieve better performance.
SOLUTION:
Our development team developed his vision.
DETAILS:
LexisNexis Firm Insight (formerly Juris Insight) is an automated peer group benchmarking web application and service written in C#.net with a SQL cubed back end. Users set up an account on the site and download an application (service) that is installed on their network that connects to their SQL database. The service polls the database for business data that is encrypted and then anonymously sent to the Insight web service over an SSL connection. The end user can then log on to the site and see live benchmarking results and compare their law firm to other firms in the same quartile. Break down comparisons can be done by type of law, firm size, income, per partner income and more... This gives the law firm the ability to measure itself with other firms that are more efficient or banking bigger profits and see the business processes that they used to achieve the results. This insight is what it's all about - It's an extremely powerful tool.
HIGHLIGHTS:
This project was the first and only time I've worked SQL Data Cubes. It was exciting trying to wrap my head around querying in multiple dimensions of data but this technology was new and had initial performance issues. After a few patches from Microsoft, the performance increased. We leveraged our partner relationship with Microsoft to make our release window.
TECH:
C# | ASP.net | SQL | JavaScript | CSS | HTML | SQL Reporting Services
languageJOES
Juris Inc.
Real-Time Sales Data. I get an opportunity to streamline the sales channel, collecting data that will help with projections...
PROBLEM:
The company needed an electronic way to complete sales transactions. Data needed to be recorded to measure performance and length of sale process.
SOLUTION:
I developed JOES (Juris Order Entry System) an ASP.net, data driven web application that automated many processes. Reducing sales closing and shipping time.
DETAILS:
The Juris sales channel was driven by a team that entered the orders into an application that only encapsulated the final process, the financial transaction. I saw an opportunity to leverage .net technology and SQL to record the entire process. This would give us a better idea of how long an order took to complete from start to finish. I knew that I could also store the proposals in SQL and give the sales team a dynamic template to work with that would ensure our message to the client was the same no matter who delivered it. JOES gave the sales force a one stop shop for everything they needed. They could select the products and services and a proposal was automatically created. They could then export the proposal to PDF or Word. All they had to focus on was selling. In the final steps of the sales procedure, credit cards could be processed and upon approval, the site automatically created invoices, billing imports for A/R, queue the items to be shipped and then automatically set up the new client. JOES streamlined the work-flow and ensured accuracy giving us a wealth of knowledge on our sales process. We were able to break down a sales order to the module level. Even shipping cost could be monitored via SQL Reporting Subscriptions.
HIGHLIGHTS:
This project's release was very rewarding for me because it gave me an opportunity to help a large amount of people and their day to day work experience and flow. This was the year I won the President's Award.
TECH:
C# | ASP.net | SQL | JavaScript | CSS | HTML | SQL Reporting Services
appseBill
Juris Inc.
I create a windows service that is responsible for processing over a million dollars of income monthly. No pressure, right?
PROBLEM:
Company used it's own product for billing. All internal products recorded time and billing. The company needed a way to gather all the time and billing information on a schedule and create billing files that could be imported into it's own software for billing.
SOLUTION:
Create a Windows service that would collect billing information from multiple databases, 3rd party vendors and generate billing files for A/R.
DETAILS:
eBill is a time and billing windows service that communicates with the SQL database running through the support, subscription and contract data - creating billing files that can be emailed or imported into other programs for A/R. Essentially it creates time entries each month on a set schedule. It can be set up to deliver preliminary billing files that can be scrutinized prior to the final billing process. eBill also connects to 3rd party vendors to import accounting data for service and products the vendor provided to clients on the companies behalf.
HIGHLIGHTS:
The service was pretty much hassle free. From time to time 3rd party vendors would change the credentials used to consume their web service which would require an update. The last major code change dealt with policy changes that allowed customers to rollover unused support time. I created a stored procedure to accommodate the new calculations. This kept all the business logic on the back-end.
TECH:
C# | SOAP | T-SQL
appsJEMail
Juris Inc.
Please don't Spam the clients...
PROBLEM:
The company's Marketing team needs a way to bulk email specific users at the firm.
SOLUTION:
Create a Windows Application that lets Marketing generate an email list by identifying user's roles at the firm.
DETAILS:
JEmail is a bulk email application that allows users to target email communications by product, software, services, contract types, positions, location, size and many other pieces of the client's profile data. The email communication can be loaded from HTML, word, text, and image files. Exchange profiles are used to differentiate the "FROM" address. Permissions on the client contacts table in the database determine the types of communications the client would like to receive. JEmail works with Exchange to deliver the communication. This application features a network authentication/permissions hierarchy and an auto update feature for update deployment.
HIGHLIGHTS:
This application was my first opportunity to take advantage of .net 2.0's multi-threading capabilities. I used delegate signatures to communicate between threads and the form's Win32 message pump. This allowed me to update the windows UI and the task's status. I also used the Thread Pool and ManualResetEvent objects to signal thread completion. Mutexed Wait-handles helped in raising events and managing multiple threads.
TECH:
C# | T-SQL
languageJuris.com Client Portal
Juris Inc.
Client convenience, always a win win...
PROBLEM:
The company needed an electronic solution for allowing their clients to view/pay bills and connect with the company on many levels.
SOLUTION:
Create a web Application that gives the company's clients the ability to self-serve. Make it simple and convenient.
DETAILS:
The Juris.com client portal is an ASP.net web application that is data driven via SQL. The site is packaged with several sophisticated tools that offer the end user unparalleled communication channels to the Support and Sales teams while at the same time, self help and account management are often held as favorites by clients. Features include: Over 30 charts and reports ranging from support usage to billing information, support chat, support request forms, knowledge-base, user profile-permissions, wish list, WebEx, 3 RSS news feeds, user groups, forums, view bills, on-line payment and downloads. Site access is limited by the client's support plan. The site also includes an intuitive administration area for our internal employees. Non-technical Juris employees can update news feeds, downloads and documentation for our clients. The tool manages the access to these items within the administration tool itself. Service plans, product, and license types must be associated with every entry. Data intelligence retained from the site coupled with the data on items added through the administration UI are used to drive the business. I retain all search words, downloads, and page views. Reports created for SQL Reporting Service offer the information in multiple formats for easy consumption. Each week I take these reports to my board meeting.
HIGHLIGHTS:
I spent a lot of time designing the portal. UI details were important because I wanted the clients to be able to use their initiative, imagination and common sense to do powerful things. The company had several local clients that I would solicit feedback from throughout the entire development and design process. I would mock up chat applications, payment tools, forms etc... and record the end user's interaction. I would use that information to drive the project. I installed an SSL certificate on the server for encryption, create ASP.net forms for user inputs and used Dundas's Controls for dashboards. I created a SQL replication database for security and decoupling. This project was rewarding because of the number of people it affected. Internally, several work-flow process were streamlined. Employee duties and responsibilities had to be changed, freeing resources for other high priority work. 30, 60 and 90 day out monies were recovered because the company and it's clients could instantly process payments. Externally, the company's clients no longer had to wait on the phone for support or to make their account current. You could pay your own bill and/or enter a support request that would record your issue, collect all your system information and queue a support rep to call you back.
TECH:
C# | T-SQL | C++ | JavaScript
engineering Skills
code C# (C Sharp)
What is it: C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, procedural, generic, object-oriented (class-based), and component-oriented programming disciplines for Managed Code.
My Experience: I've been working with C# since it's inception. It is my "go-to" language when building on the .Net platform.
storage SQL
What is it: SQL (structured query language) is a special-purpose programming language designed for managing data held in a RDBMS (relational database management system).
My Experience: I've been using SQL since version seven. I use SQL and SQL Server for all my database projects. While I'm not a database administrator, I'm well versed in designing relational database architecture and the queries to insert / retrieve the data.
code JavaScript
What is it: JavaScript is an object-oriented computer programming language used within web browsers for client-side scripting needs.
My Experience: I've been working with JavaScript since 2003 and still use it quiet regularly through libraries like jQuery.
code HTML
What is it: HTML (HyperText Markup Language) is the main markup language for creating web pages and other information that can be displayed in a web browser.
My Experience: I've been using HTML for over 2 decades. I use it almost every day and depending on project requirements, I implement HTML where ever it's supported.
api Web API
What is it: Web API is an application programming interface (API) consisting of one or more publicly exposed endpoints to a defined request / response message system, typically expressed in JSON or XML, which is exposed via the web - most commonly by means of an HTTP-based web server.
My Experience: I've been using Web API since 2007. Mostly restful web services (JSON) since 2012 with SOAP and WSDL before that. I use Web API in ASP.Net every day.
integration_instructions ASP.Net
What is it: ASP.Net is a server-side Web application framework designed for Web development to produce dynamic Web pages.
My Experience: I've been using ASP.Net since its inception and Classic ASP before that. I use ASP.Net regularly.
integration_instructions MVC
What is it: MVC is a Framework built on the top of the Microsoft .Net Framework to develop web applications with a Model View Controller pattern.
My Experience: I've been using MVC since .Net 3.5. The Ajax and html helpers make MVC very powerful and ease the implementation of Unit Testing due to the MVC structure. I use MVC everyday.
code CSS
What is it: CSS (Cascading Style Sheets) is a style sheet language used for describing the look and formatting of a document written in a markup language.
My Experience: I've been using CSS since 2003. I use CSS in every website project I develop. I use it every day.

I used it on this. 🙂
integration_instructions Entity Framework
What is it: Entity Framework is an ORM (object-relational mapper) framework that gives you access to data through domain specific objects.
My Experience: I've been using Entity Framework since the release of .Net 4.0.
loop Ajax
What is it: Ajax (Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create asynchronous web applications. Data can be passed between the browser and the server without the entire page having to be reloaded and rebuilt.
My Experience: I've been using Ajax since 2009. I use Ajax every time I need to dynamically update the UI or save data from the UI to the DB.
integration_instructions jQuery
What is it: jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
My Experience: I've been using jQuery since 2007. I use it almost every day, most recently on this website.
psychology Machine Learning
What is it: Machine learning is a field of computer science that gives computers the ability to learn without being explicitly programmed.
My Experience: I've been working with Machine Learning since 2016, primarily for classification predictions. I'll use it in conjunction with supervised learning algorithms to support my artificial intelligence layer. Most recently, in my Malaya AI's neural network to classify and predict cancer.
integration_instructions WCF
What is it: WCF (Windows Communication Foundation) is a communication framework for building SOA (service-oriented applications).
My Experience: I've been using WCF since .Net 3.5. Its very flexible and I like that the endpoints are on their own thread. I recently used WCF in my Jobs Engine project to dispatch commands to multiple job pools.
cloud Azure
What is it: Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed data-centers.
My Experience: I've been using Azure Cloud Services for several years now. The price point is good and it scales really well but depending on security requirments, it can be difficult getting buy-in from IS/IT.