Projects

Here below are listed the projects I have worked on over more than 20 years. They will give a good impression of my capabilities.

PharmaPartners BV / Firstline Healthcare

january 2019 / today

Software Architect
In  2019  PharmaPartners decided  to move their patient product to a separate businessunit, because the eHealth market had great opportunities, which needed focus to develop to full extend. Within this period our user base grew from 1.5M  to 7M+ registered users and we aim to grow to our full dossier base approx. 13M. This growth and nowadays security concerns need of course to be guided well, which was my core task in these years. Our products MGn (patient portal), MedGemak (mobile app) and Medmij/PGO connectivity are developed and maintained with around 3 scrum teams, which were through the years nearshored and later on more inhouse for better continuity. Our next phase is to migrate our stack towards an DDD-oriented microservices after splitting our API in loosly coupled functional domains.

The four main projects/products I contributed on from requirements, architecture, development to roleout:

MGn (patient portal):   The largest patient portal in the firstline healthcare, which supports appointments, medicationorder, (video) econsult, labresults, self-measurements and consult of medical records as it's core usecases. This product is build upon a SpringBoot stack with a React frontend and integrated with DigiD through Keycloak customizations. This product is under migration for a carve out of the used Grails technology. For DigiD integration we are migrating toward TVS for  supporting more identity providers and upcoming legal requirements. For monitoring this stack we developed and integrated with Splunk, Prometheus/Grafana and Atatus.

MedGemak (mobile app):   Beside the portal PP has a mobile application for a better mobile native experience. Originally this was build on Ionic/Angular but recently migrated to Expo/React. Within this app we developped a 2-factor authentication using Keycloak. For monitoring this stack we developed and integrated with Splunk, Prometheus/Grafana, Atatus and Sentry.

Medmij DVZA:   Realization of an auth and resource server compatible with the Medmij standards. The main challenge was the auth server where we took Keycloak as it's basis, but we needed anti-corruption layer on the DataPower to meet the specs and qualifcation. I developed most of this product within an over-time agreement. Beside the development of the solution there was also a lot quality control processes we needed to adopt. Therefor I did NCSC and ASVS gap analysis and roadmapping for solving the essentials. Added controls and processes for proper lifecycle management, data qualification, access control and monitoring for auditability. Information standards implemented so far are GP-data, PDF/A and Selfmeasurements.

eHealth APIs:   Our APIs made available for 3rd parties having there own apps and portal solutions to seamless integrate with our eHealth platform. Adoption of OAuth token-exchange for ease of integration and decoupling.

Methodology/Software:
IntelliJ, SpringBoot v2 (incl. Spring Boot Admin, Discovery, Gateway, Config), IBM DB2 v11 Database, Keycloak, IBM Datapower (XSLT and gateway scripting), ArchiMate,  SoapUI, Karate, Ranorex, Gatling, Gradle, Spring, OpenSAML, REST, JSON, OpenAPI/Swagger, AngularJS, Git(lab), Jenkins/Gitlab-CI, Sonar, Prometheus, Grafana, Atatus, Sentry, Splunk, Liquibase, JPA, etc.

PharmaPartners BV / Firstline Healthcare

january 2011 / december 2018

Software Architect
After being contracted for 5 years as a freelancer they finally did a offer I couldn't refuse. I became software architect of business unit Huisartsenzorg (GP care) within this period we improved our architectural process. Started a pilot with the Netflix stack (SpringBoot) to have a microservice alternative beside the existing monolith. Through the years we improved this stack with the leassons learned and around 2016 most of our new development was done in the new architecture, which we branded Service Universe.

The three main projects/products I contributed on from requirements, architecture, development to roleout:

Document beheer:   A module for archiving documents in a PDF/A compatible manner in the existing content store. For efficiency we added OCR and embedded a viewer developed by Acrobat to support the many PDF flavours there are, which were than normalized to PDF/A.

MedicomSMART: A module to improve the quality of medical files and processes by generating signals based on medical standards and guidelines developed by Healthbase. The goal was to scan all medical files once per month for each practice. During the phased roleout of this challenging project I did a lot of troubleshooting on performance and stability were the other experts gave up. This project brought Service Universe to a proven platform.

Zorgplein:   A module which enables our HIS with a single sign-on ability to all kind of third party applications. I draft the concept based on the SAMLv2 specification and auditability requirements, implemented the pilot and finalized the module together with a nearshored team. Beside our end of the implementation I also written a implementation guide and example implementation for the 3rd parties to adopt with confidence.

Methodology/Software:
J2SE and J2EE, Eclipse, SpringBoot v1 (incl. Spring Boot Admin, Discovery, Zuul, Config), Oracle WebLogic 12 Server, Blueriq v10,  IBM DB2 v9/v10 Database, ArchiMate,  SoapUI, Ranorex, JMeter, Maven, Spring, AMQP, Protocolbuffer, OpenSAML, Adobe PDF SDK for Java, REST, JSON, AngularJS, IBM Jazz Platform (RTC,RCC), Jenkins, Sonar, Splunk, JooQ, JPA,etc.

PharmaPartners BV / Firstline Healthcare

february 2006 / december 2010

Software Architect (freelance contractor)

PharmaPartners BV is one of the few real solution providers. Their solution consists of SaaS product that supports all the core tasks of general practitioner and pharmacy and their cooperation in GP centers and regional partnerships.

In their segment PharmaPartners is market leader and for 2011 they support 2200 GP’s, 900 pharmacies, 43 hospital pharmacies and 60 healthcare centers, which adds up to registration above 8 million patients.

Their solution was originally build in Cobol and is being migrated towards Java. The current architecture is client/server using internet technologies with Swing as a frontend and EJB’s and Cobol in the backend. 

Since 2007 also web services and ESB's are added to the architecture to cooperate with third parties and the patient portal.

The next phase in their architectural roadmap is to turn it into a real service oriented architecture using technologies like AngularJS, REST, ProtocolBuffer over AMQP, jOOQ/JPA for persistence.


The last year we mainly focussed on the architecture and introduced an architectural proces derived from TOGAF. Using this process we aim to become more aligned with the business needs by doing formal architecture assesment using this assesment we decide together with the business to take the next step of architecture definition. The architecture defintion is realized together with the associated inhouse or nearshored scrum teams. 


Besides the transistion from continuous integration towards continuous delivery to better support our monthly releases, 

we are currently adopting the scaled agile framework to get the business and architectural portfolio better organized, so that the flow through the pipeline towards the scrum teams becomes predictable.

The three main projects/products I contributed are:

Q-Module:   Which developed a query module which enables end users to execute selection, extraction and statistical reports. The engine uses the business layer to access the application data. Standard database reporting was not an option, because there is many logic within the business layer and also the current data model is likely to be normalized further the coming years. 

Aorta: Which developed the integration with LSP (Landelijke Schakel Punt). LSP enables countrywide secure exchange of patient medical records between certified careproviders.


Mijn gezondheid.net: A product for Dutch citizens to interact with their GP or pharmacist. Authentication is managed by DigiD. Core functionalities are repeatition of medicine prescriptions, insight in their medical status, medical passport to take on a journey, making an appointment, having an online consult, etc.


Methodology/Software:

J2SE and J2EE, Eclipse 4/3, Oracle WebLogic 12 Server, Oracle OSB 10.3.1, Cobol Data files and applications, IBM DB2 v9/v10 Database, Cvs, PowerDesigner, ArchiMate, EJB, BO, DAO, Louis , Ant, WS, LspConnect, HL7v3, , SBVZ, COV, XML, XSLT, Quartz, SoapUI, Ranorex, JMeter, Maven, Spring, AMQP, Protocolbuffer, REST, JSON, AngularJS, IBM Jazz Platform (RTC,RCC), Jenkins, Sonar, JooQ, JPA,etc.


Stichting MLS / Micro biological Lab

february 2006 / december 2012

Architect/Projectleader

The goal for the Paperless project at MLS was to deliver a paperless version of the daily used forms at the labs. Since the lab has to process roughly a couple of hundred forms a day the application’s usability and availability had primer focus by the analists and microbiological specialists.

The implementation of 26 usecases took about 300 mandays with a team of 4 developers in 6 months.

The support of DB2 by Oracle ADF was premature, but we managed to get a stable production version within 2 months.

After stabilization there didn’t occur any blocking or critical incidents.

Currently I am contracted for third line support for all applications delivered by Stichting MLS.

Methodology/Software:

J2SE and J2EE, Oracle 10G Developer 10.1.3, Oracle JHeadstart 10.1.3, Oracle ADF,Eclipse 3.0, Oracle 10g Application Server, Aqua Data Studio, ERwin Data Model , IBM DB2 v8 Database, Svn, Trac (SCM and PM), Jasper Reports, iReports,etc.


Rings To Connect / Weddingring shops

october 2011 / january 2013

Solution Provider / Freelance activity

Rings To Connect is a jewelry shop specialized in wedding-rings. Their assortment reaches approx. 800 sets.

For the front office in the shop I provided a system to register the purchase of weddingrings in small logical steps so all characteristics are properly filled, which prevents later unneeded contact with the customer to verify the order.

Orders are notified to the back office for further handling. Invoices and payments are registered to align the accountancy.

Methodology/Software:

JPA, Spring Roo, Vaadin, Apache PDFBox, SVN, Cloudbees, MySQL, Papertrail Logging, New Relic Monitoring, Jenkins, Sendgrid Mail, AppDynamics Monitoring, Maven


VROM – Rijksgebouwendienst / Government

february 2005 / january 2006

Developer

The business application developed for the Promex (PROgnosis Model EXploitation) project support the RGD in their core business to estimate costs and benefits on the owned or rented real-estate for all ministry departments. Some metrics of this projects are 10 functional modules, construction phase 800 mandays, ca. 1500 businessrules.

According to Oracle this project is currently the largest business application build with the new Oracle ADF technology framework in the Netherlands. Therefor I was asked  to present the leassons learned on their Oracle Usergroup Conference. Tasks within the project consisted of development and software configuration management.

Methodology/Software:

J2SE and J2EE, Oracle 10G Developer 10.1.2, Oracle JHeadstart 10.1.2, Oracle ADF,Eclipse 3.0, Oracle 10g Application Server, TOAD, Oracle 9i Database, Cvs, JEP (Java Math Expression Parser), Jasper Reports, iReports,etc.


Eutilia / Utility Trading

august 2005 / august 2005

Architect

Delivery of the technical design of Eutilia MarketPlace V6.2, which consist of miscellaneous changes on the existing product.

Methodology/Software:

J2SE and J2EE JSP, CommerceOne, JSP, SQL Server.


Eutilia / Utility Trading

april 2005 / april 2005

Architect

Delivery of the technical design of Tender Alert (Eutilia MarketPlace V6.0). The webapplication Tender Alert main responsiblity is alerting tenders by email to subscribed members based on their search profile. The tenders themselves are imported using an FTP feed. Communication with the existing portal is done using SOAP and Hessian (binary protcol).

This technical design has lead to a inhouse contruction phase project of ca. 90 mandays produced by 3 developers.

Methodology/Software:

J2SE and J2EE, JSP, Eclipse 3.1 (M7), JDK 5.0, PostgresSQL Server 8.0, Tomcat 5.5.9, Axis 1.2 final, Velocity 1.4, JasperReports 1.0, Castor 0.9.5, Quartz, Hessian 3.0.13.


VROM – Rijksgebouwendienst / Government

august 2004 / november 2004

Developer

The web application developed for the Dia II project, reports on the real estate objects owned or maintained by the RGD.

The functionality implemented were authorization against Business Object Web Intelligence, coorporation with the Tridion CMS, delivery of easy to maintain jsp pages for contentmanagers using DisplayTagLibrary and generic Struts actions and integration with the MapGuide GIS component.

Methodology/Software:

J2SE and J2EE, Oracle 9i database, 10g JDeveloper, Eclipse 3.1, Log4J, Tomcat, Tridion CMS, TOAD, Cvs, DisplayTagLibrary and Autodesk MapGuide.


Essent / Energy

december 2002 / january 2005

Architect/Developer

As a TAB member (Technical Application Board) we maintain all the business applications of Essent. This maintenance is done on a Change Request, Incident or Project base. TAB is devided in 3 techinal groups, i.e. Oracle, Java and Microsoft. Where Java mostly takes care of the serverside solutions.

Besides his ‘normal’ maintenance task, Michel was active on the Java standards and guidelines, making the business ready for J2EE and enhancing the CCL (CIBER Class Library) initiated by Jordan van Est.

Methodology/Software:

J2SE and J2EE, UML, Oracle 9i -10g JDeveloper, Eclipse 2.1 – 3.0, Log4J, OC4J J2EE container, TOAD, Oracle 8.1.7., Cvs and Visual Source Safe, Ant, JCom (Java-Com Bridge), xFunction (dll API), WMI (Windows Management Instrumentation), Castor XML/JDO, Jakarta POI (API for Microsoft documents), Visual Paradigm, EclipseUML, etc.


Philips Lighting / Semiconductor ndustry

december 2002 / february 2003

Architect/Developer

For the development apartments there was developed a software configuration management website, which enables the apartments in versioning there software products and distributing them through the international server landscape. All transitions through the environments, like development, test, acceptance, production and validation are monitored, audited and authorized.

Methodology/Software:

J2SE and J2EE, UML, Eclipse 2.1.3, Log4J, SAP Web Application Server, Oracle Repository 9.2 (SCM), iBatis (Persistence), Common Controls (Java™ Presentation framework for J2EE™ Web applications), EnterpriseDT FTP API, SSH Tools API.


Essent / Energy

october 2002 / december 2002

Architect/Developer

The application monitors the incoming flow of measurement files towards PI to signal possible failures of PI in advance, which can be acted on by administrators.

The application logic is the following. Incoming files are dispatched towards a compatible reader defined by the contents of the file. During the parsing process measurement and file info is extracted and stored in the database. After successful parsing the stored information is tested on the existance of tags within PI, continuity of measurements, expected measurement count en follow up of final status after preliminary ones.

Currently the application is deployed as an Java service. The next phase will be to make it J2EE compatible so that it can be run within an J2EE container as a component.

Methodology/Software:

J2SE, UML, Jacob (Java-Com bridge), Oracle 9i JDeveloper, Log4J, OC4J J2EE container, J2SE, Poseidon for UML CE, Jalopy plugin.

ASML / Semiconductor Industry

august 2002 / october 2002

Architect/Developer

Research on the Oracle JHeadstart tools, based on Oracle’s J2EE compliant frameworks UIX, BC4J and the MVC-framework for J2EE. Designed and developed a medium-sized webbased J2EE compliant application to help manage company resources using these tools and frameworks. During this project, a number of pitfalls and recommendations were made and documented for future projects using the JHeadstart tools.

Methodology/Software:

JHeadStart (UIX/MVC/BC4J), Oracle 9i JDeveloper, JHeadStart, OC4J J2EE container


Nato C3 Agency / Military Government

february 2002 / july 2002

Architect/Developer

Geographic oriented windows application, which shows the global positioning, tracking and status information of airfields, units, targets, persons and groups. Besides the viewing it has search and select capabilities, Inter process communication (IPC) with other application, advanced raster support and configurability, dispersing of objects for better viewing and printing. The great opportunity for me as OO and Java expert was to implement this application in VB.NET, but unfortunally it never came this far, due to the bankruptcy of InterStation.


Methodology/Software:

VB, UML, ActiveX, DDE (IPC), DAO, Visio (UML design), Visual Studio v6.0, MapX v4.5


MultiKabel / Cable Provider

december 2001 / januari 2002

Architect/Developer

Geographic oriented webapplication, which was used by the employees of the company to easily see the geographical relation between the location of a customer or prospect and their cable network. This way the quotation process could be reduced significantly. Directive mailings towards prospects located around the network, was also seen as a great benefit of the system, because they were easy to connect.

Methodology/Software:

J2EE, UML, XML, JSP Taglibrary, Oracle 9i JDeveloper,

Tomcat Servlet Engine v3.2, MapXtreme for Java v4.5, MS Access 97


InterStation Benelux / Geographical Information Systems

oktober 2001 / november 2001

Course Developer and Teacher

During this project I have developed a very complete OO and Java Course, which I later educated to my colleagues developers at InterStation. The topics covered in this course were OO Principals, Modeling techniques (UML), Java Basics (J2SE), Web Development (J2EE) and MapXtreme for Java.


Methodology/Software:

UML, JSE, J2EE, XML, ArgoUML, Oracle 9i JDeveloper, Jboss 2.4,Tomcat v3.2, Oracle 8i


InterStation Benelux / Geographical Information Systems

august 2001 / april 2002

Architect/Developer

Geographic oriented webapplication, which uses a meta-modeled datadictionary to configure the application. In this way the time-to-market of webprojects can be extremely improved.

Methodology/Software:

J2EE, UML, XML, ArgoUML, Oracle 9i JDeveloper, Jboss 2.4, Tomcat v3.2, Oracle 8i/9i, MS Access, mySql


Philips Semiconductors / Semiconductor Industry

february 2001 / august 2001

J2EE Developer

A webapplication based on a semiconductor domain model, which has been approved by the major semiconductor industry in the world. This system will be used to administer the specifications of semiconductor products and will provide tooling and datasheet generating facilities.

Methodology/Software:

J2EE, UML, XML, Rational Rose 2000, Visual Age For Java 3.5, Websphere 3.5, Oracle 8i


Van Gend & Loos EuroExpress / Logistics

april 2000 / february 2001

J2EE Developer

This back-office system with it’s web front-end is the complete remake of the logistic system of VGL. It tracks the goods from origin to destination and co-works with an SAP billing module.

Methodology/Software:

J2EE, UML, XML/XSL, Rational Rose 2000, Visual Age For Java 3.5, Websphere Studio 3.5, Websphere 3.5, VAJ SAP Connectors, DB2


Koninklijk Nederlands Meteorologisch Instituut / Meteorology

january 2000 / march 2001

Designer/Developer

Meteorological bulletin editor with build in grammatical checking, scheduling and distribution of weather reports for the international aviation.

Methodology/Software:

UML, XML, Delphi 4.0 and some shareware Delphi components


Westland Utrecht Hypotheekbank / Finance

september 1999 / january 2001

Lead Developer

Quotation system for financing schemes based on real estate and a variety of funding types. Besides the quotation, a cash flow report is generated for the next 30 years based on the new Dutch system of taxation.

Methodology/Software:

UML, XML/XSL, Delphi 4.0, CueSoft CueXSL, MsAccess97,

own persistency framework


I-DealWare / Stock Trading

may 1999 / august 1999

C++ Developer

Online trading system for financial institutes to support their customers a webbased stock trading application with build in portfolio management.

Methodology/Software:

Webarchitectuur, UML, Solstice Applications for WinNT, Sun Workshop, RoqueWave Toolkit, Sun Solstice X25 toolkit.


Iris / Stock Trading

january 1999 / april 1999

C++ Developer

Trading front-end which can be used in the trading offices of the big investment companies. It consists of a Life feed to London futures and will be pluggable for other markets in the future. The advanced GUI of the application consists for example of workspace saving and administering stock bound triggers.

Methodology/Software:

Client/Server, UML, ObjectStore objectdatabase, StingRay tookit, MsVisual C++ 6.0


Interpolis / Digital Printing

augustus 1998 / december 1998

C++ Developer

One-to-one marketing publishing system, which delivers a datafeed to the digital presses of a printer. The system also tracks the delivery of the brochure till it’s on the doormat of the customer.

Methodology/Software:

Client/Server, UML, Rational Rose, Secant Persistent Object Manager, Ms SQL Server, Ms Visual C++ 5.0