Skip to main content

Software Developer Full Stack

Technology
Foilcon
Toronto, CanadaYesterdayUntil 2026-12-26
Service contract

Job description

HM Note: This hybrid contract role is three (3) days in office. Candidate resumes must include first and last name, email and telephone contact information.

Description

  • The Agency requires a Senior Fullstack Developer contract resource to support the Ontario Clinical Report Exchange (OCRE) project. The resource will help design and build a Java Spring Boot server that replaces the legacy Hospital Report Manager (HRM) solution and supports the secure exchange of hospital clinical reports with electronic medical record systems. The role spans the OCRE integration, backend, and user-interface layers.

    NextGen Connect (Mirth) will process inbound HL7 v2 messages and send the resulting content to Java services, while HAPI FHIR will be used to process FHIR R4 and DSTU2 resources. The resource will also integrate with Ontario Health Enterprise Pub/Sub and develop a ReactJS application that enables EMR users to create physician-specific OCRE FHIR Subscriptions by translating user preferences into Pub/Sub filter criteria. The solution must use OAuth 2.0 and mutual TLS (mTLS) and be packaged for containerized deployment using Docker.

Required Experience:

  • Senior-level hands-on experience developing Java and Spring Boot services and REST APIs, including use of the HAPI FHIR library to process FHIR R4 and DSTU2 resources.
  • Hands-on experience with NextGen Connect (Mirth), HL7 v2 message processing, transformation, validation, routing, acknowledgements, and integration with Java services.
  • Experience in Ontario HRM Standard and hospital clinical report exchange workflows.
  • Strong ReactJS development experience building production user interfaces and integrating them with Java/Spring Boot services and FHIR APIs.
  • Experience with FHIR Subscriptions and event-driven integrations, including translating physician-level user preferences into filter criteria for the FHIR R4B or R5 Subscriptions with OAuth 2.0 and mTLS for secure service-to-service and application integration.

Responsibilities:

  • Design, develop, test, and support the Java Spring Boot server that will replace the legacy HRM solution within OCRE.
  • Use HAPI FHIR to parse, validate, transform, create, and process FHIR R4 and DSTU2 resources used by OCRE services and integrations.
  • Develop and maintain NextGen Connect (Mirth) channels that receive and process HL7 v2 messages and securely send the resulting content to Java services.
  • Implement clinical report processing, routing, acknowledgements, exception handling, and operational controls in accordance with the Ontario HRM Standard.
  • Integrate OCRE services with Ontario Health Enterprise Pub/Sub and the applicable FHIR Subscription workflows.
  • Develop and support a ReactJS application that allows EMR users to manage OCRE subscription preferences for individual physicians.
  • Translate preference selections captured in the user experience into valid FHIR Subscription and Ontario Health Enterprise Pub/Sub filter criteria.
  • Implement OAuth 2.0, mTLS, authorization controls, secure configuration, audit logging, and privacy-aware handling of clinical information.
  • Package and configure application components as Docker containers and support their deployment, configuration, monitoring, and troubleshooting.
  • Create and maintain unit, integration, interface, conformance, regression, and end-to-end tests across HL7 v2, FHIR, Pub/Sub, backend, and ReactJS components.
  •  Collaborate with architecture, product, UX, security, privacy, QA, operations, and EMR integration stakeholders to refine requirements and deliver production-ready functionality.
  • Prepare technical designs, interface specifications, message and resource mappings, configuration documentation, deployment notes, runbooks, and knowledge-transfer materials.

Desired Skills:

  • Experience modernizing a hospital clinical report exchange platform, with detailed knowledge of Ontario HRM specifications, routing, acknowledgements, exception handling, and conformance.
  • Experience with FHIR Subscription and SubscriptionTopic concepts, subscription filtering, practitioner-based routing, and FHIR profile validation using HAPI FHIR tooling.
  • Experience designing accessible ReactJS user experiences for configuration, preference management, or administrative workflows.
  • Experience with automated build, test, container scanning, and deployment pipelines for Java, ReactJS, NextGen Connect, and Docker components.
  • Experience supporting production healthcare integrations, including observability, reconciliation, incident investigation, replay or recovery procedures, and operational documentation.

Required Skills:

  • Java, Spring Boot, REST API, and HAPI FHIR development experience, including hands-on processing of FHIR R4 and DSTU2 resources in production-grade services.
  • NextGen Connect (Mirth) and HL7 v2 integration experience, including transformation, validation, routing, acknowledgements, error handling, Java-service integration, and practical experience with the Ontario HRM Standard.
  • ReactJS full-stack development experience and hands-on knowledge of FHIR Subscriptions and Ontario Health Enterprise Pub/Sub, including translating physician-level preferences into subscription filter criteria.
  • Secure application and container delivery experience using OAuth 2.0, mTLS, Docker, automated testing, configuration management, audit logging, and production troubleshooting.

Rated Criteria:

  1. Java, Spring Boot, REST API, and HAPI FHIR experience, including the design and implementation of production services that process FHIR R4 and DSTU2 resources. 25 points
  2. NextGen Connect (Mirth), HL7 v2, and Ontario HRM Standard experience, including message transformation, validation, routing, acknowledgements, error handling, and Java-service integration. 25 points
  3. ReactJS, FHIR R4B Subscriptions, subscription filter criteria. 25 points
  4. OAuth 2.0, mTLS, Docker, secure application development, automated testing, deployment support, and production troubleshooting experience. 25 points
Total: 100 Points

Deliverables:

  •  A production-ready Java Spring Boot server that implements the assigned OCRE capabilities and supports replacement of the legacy HRM solution.
  • HAPI FHIR components for parsing, validating, transforming, creating, and processing FHIR R4 and DSTU2 resources.
  •  NextGen Connect (Mirth) channels and configurations for HL7 v2 ingestion, processing, validation, routing, acknowledgement handling, and integration with Java services.
  •  Ontario HRM Standard mappings, processing rules, conformance artifacts, and exception-handling components required by the assigned workflows.
  •  Integration components connecting OCRE services with Ontario Health Enterprise Pub/Sub and the applicable FHIR Subscription workflows.
  •  ReactJS components that allow EMR users to create and manage physician-specific OCRE subscription preferences.
  • Preference-to-filter mapping logic that produces valid FHIR Subscription and Ontario Health Enterprise Pub/Sub filter criteria.
  • OAuth 2.0, mTLS, secure configuration, audit logging, and Docker packaging required for deployment and operation of the solution.
  • Unit, integration, interface, conformance, regression, and end-to-end test assets, together with defect fixes and release validation support.
  • Technical designs, API and interface specifications, message and resource mappings, configuration notes, deployment instructions, runbooks, demos, and release-support materials.

Knowledge Transfer Details:

  • The resource will provide ongoing knowledge transfer to the Ontario Health OCRE team throughout the engagement.
  • The resource will document Java/Spring Boot services, HAPI FHIR processing, NextGen Connect channels, HL7 v2 and FHIR mappings, Ontario HRM Standard implementation details, Pub/Sub integration, ReactJS components, security configuration, and Docker deployment procedures.
  • The resource will participate in code reviews, design walkthroughs, interface and data-mapping reviews, demonstrations, release reviews, operational-readiness reviews, and technical handover sessions.
  • All key source code, configuration, tests, technical documentation, runbooks, and lessons learned will be shared with Ontario Health leads before the end of the engagement.
  • The resource will support transition planning so Ontario Health staff and successor resources can operate, maintain, troubleshoot, and enhance the delivered OCRE components.
  • The resource will ensure full knowledge transfer is provided to the Agency team before end of engagement. Some of this might occur at the end of the engagement but will also be shared as information is obtained/consolidated. Key deliverables will be shared with team.
  • The resource must provide all related documentation as part of knowledge transfer protocol. Documents will be reviewed by the appropriate leads and signed off by manager/director.
  • The resource will work collaboratively with the Agency team throughout the assignment and ensure key deliverables, milestones, and documentation are shared.
  • A walkthrough of any demos, development, etc. will be required before the end of the engagement.

  Must Haves:

  • Java, Spring Boot, REST API, and HAPI FHIR development experience, including hands-on processing of FHIR R4 and DSTU2 resources in production-grade services. 
  • NextGen Connect (Mirth) and HL7 v2 integration experience, including transformation, validation, routing, acknowledgements, error handling, Java-service integration, and practical experience with the Ontario HRM Standard. 
  • ReactJS full-stack development experience and hands-on knowledge of FHIR Subscriptions and Ontario Health Enterprise Pub/Sub, including translating physician-level preferences into subscription filter criteria. 
  • Secure application and container delivery experience using OAuth 2.0, mTLS, Docker, automated testing, configuration management, audit logging, and production troubleshooting. 

Interested in this role?