Skip to content

Supporting Multiple IGs

smacadam edited this page Apr 11, 2024 · 3 revisions

Background

  • There are multiple versions of the VRDR IG​
    • VRDR STU2.2 (current) vrdr-dotnet 4.1.8 ​
    • VRDR STU3.0 (future) vrdr-dotnet 5.0.x​
  • These IG versions are not compatible in either direction​
    • A VRDR STU2.2 record is not compliant with VRDR STU3.0​
    • A VRDR STU3.0 record is not compliant with VRDR STU2.2​
  • Jurisdictions will not update all at once so we will need to support STU2.2 and STU3.0 at the same time​
    • Any given jurisdiction will need to support one version at a time​
    • NCHS and STEVE will need to support all versions

Options Explored

  • The existing VRDR .NET library could offer distinct DeathRecord and DeathRecord3 classes, supporting both versions of the IG in the same library​
  • Different release version numbers of the existing VRDR .NET library could support different versions of the VRDR IG
  • VRDR and VRDR3 Libraries

Selected Approach

After presenting to NCHS ITB, Naphsis, Ruvos, CTE and MITRE (March 2024), the preferred approach is to implement different library versions for different IG versions.

  • This is a fairly common pattern for releasing software​
  • The software to IG version would be 1 to 1​ and easy to understand which IG you are aligned with.
  • For maintenance, CTE will use the old repo for the STU 2.2 implementation and the new monorepo for STU 3.0​
  • Would require NCHS and STEVE to maintain two separate code bases for consuming messages and could increase code coordination challenges​

Example of how this option will look in practice:

IG Version Software Guidance to Jurisdictions
VRDR STU 2.2 vrdr-dotnet 4.x.x Continue supporting the VRDR STU 2.2 IG in dev, test, and prod. Use the vrdr-dotnet 4.x software
VRDR STU 3.0 vrdr-dotnet 5.x.x The 5.x version will be available on nuget soon. You can use it to start developing your system for the eventual inclusion of VRDR STU 3.0. Do not update test or prod software to 5.x until NCHS provides STU 3.0 support.
BFDR STU 2.0 bfdr-dotnet 1.x.x The 1.x version will be available soon on nuget. You can use it to start developing your local system to create BirthRecords. NCHS will announce when the test environment supports submitting natality data.
Clone this wiki locally