Software Engineer
Senior Software Engineer for backend Carium microservices. Duties included design, implementation and test of various backend microservices to power Carium’s mobile applications and web based interfaces. Designed and implemented RESTful core Fast Healthcare Interop Resources (FHIR) relational database service. Designed and implemented data-driven finite state machine (FSM) engine to allow customization of programs on a per organization basis. A program/FSM specification is realized as a JSON document based upon a defined schema and processed by the FSM engine. Designed and implemented data-driven interaction profile (IP) engine, composed of JSON based specifications to allow FSM programs the ability to monitor conditions and trigger actions/events. * One-time or recurring schedules. * Threshold crossings in a time series database. * Various interactions with the user via the mobile applications. * Sending templated email and SMS notifications to mobile applications. * Initiating an “interview” to gather information from the user, including the ability to act upon the responses. * Assigning informational content to a user in a mobile application. * Alerting the provider (doctor or care advocate).Designed and implemented a domain specific language (DSL) in python in order to facilitate FSM and IP program authors while implementing a program. The DSL provides basic building blocks that when chained together output the final JSON specification required. Due to the JSON spec and the complexity of the FSM and IP JSON schemas, the DSL provided an a) average 10x reduction in lines of code required, b) ensured correctness by construction due to static validations and c) included programming constructs such as conditionals and looping. The DSL purpose is to enable members of the medical team to author/customize programs with little programming knowledge.