Celegence LLC
April 2000
November 2022
Software Design
Tech Strategy

My initial engagement with Celegence was focused on defining and documenting the architecture for a new Clinical Evaluation Report (CER) management platform they were just starting to develop. After learning the process used to research, draft, submit, and update CERs and reviewing both the short-term and long-term objectives for this product, I worked collaboratively with members of Celegence's technical leadership team and engineering staff to construct and refine a proposal for the architecture of this new system.

This proposal covered each of the following items:

  • High Level Overview: A diagram and description of how this system fit into the larger picture of the CER management process, identifying all stakeholders involved in this process and each external dependency that would be relied upon to construct and manage these reports.

  • Component Diagram: A diagram depicting each of the internal components that would power this platform and how they would be connected. A definition of the the role and responsibilities of each component was provided alongside this diagram. All external integrations were also shown and a description of the type of integration and data to be transmitted through each was provided.

  • Data Model Diagram: A full ERD for the proposed data model, clearly identifying the structure and relationships of each model to be managed within the system.

  • Primary Workflow Sequence Diagram: A sequence diagram outlining the actions and decisions performed throughout the course of researching, drafting, submitting, and updating a CER. This diagram identifies the stakeholder or system responsible for each actions as well as their order and any dependencies that exist between them.

  • Deployment/Infrastructure Diagram: An overview of the infrastructure proposed to power this platform, identifying the associated AWS service that would be used to operate each component and the dependencies between each service.

  • API Specifications: A set of Swagger API specifications outlining the HTTP verb, URL, request payload, and response payload for each endpoint exposed by the backend services of this system.

  • Implementation Project Plan: An outline of the development tasks that decompose the systems to be built, identification of key dependencies between these task, and a proposal for the ideal team structure to execute on this initiative.

The following is a combined overview of the diagrams outlining the proposed architecture (obscured to maintain IP/confidentiality):

CAPTIS Architecture - Combined Diagrams

After delivering this initial proposal, I was asked to continue supporting the development of this platform as a design consultant, answering questions and providing guidance about the design as the team embarked on its implementation, while also servicing as a member of the engineering team directly implementing various features. In particular I took responsibility for our integration with downstream article repositories such as PubMed and Google Scholar, developing this in a manner that allowed for other data sources to be added in a seamless manner down the road.

I was also tasked with investigating key areas of unknown and risk on the roadmap for the platform. This included features such as support for collaborative, real-time report editing and article content scraping/ingestion. In these cases, I performed a technical investigation of the options available, evaluated the tradeoffs associated with each, documented my findings, and presented them back to the team with a proposed path for accomplishing the stated objective. This provided both a decision for the problem at hand but would also provide a concrete artifact for the team to reflect on in case the decision ever needed to be reviewed or revisited with an updated understanding of the requirements, constraints, or acceptable tradeoffs.

After the product launched, I transitioned out of my role as a member of the engineering team. I remained involved for a period of time with the leadership team to provide guidance and feedback on key technical decisions related to the product. This was conducted through bi-weekly meetings, reviewing and discussing the key challenges facing the team, and targeted investigations into areas of particular interest (e.g. PDF report generation capabilities, security/privacy management procedures, etc).