4.4.1 (2024-10-25)
4.4.0 (2024-10-22)
4.3.1 (2024-09-05)
4.3.0 (2024-08-29)
4.2.3 (2024-08-27)
4.2.2 (2024-08-06)
- add test coverage (#600) (f3f307b)
- bump coverlet.collector from 6.0.0 to 6.0.2 (#603) (13fa016)
- bump ReportGenerator from 5.3.5 to 5.3.8 (#602) (004842f)
- ignore patch dependency updates (#605) (332a13c)
4.2.1 (2024-08-02)
4.2.0 (2024-07-19)
- bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 (#585) (24f6ecd)
- bump xunit from 2.8.0 to 2.8.1 (#587) (957230c)
- bump xunit from 2.8.1 to 2.9.0 (#594) (2f83f4b)
- bump xunit.runner.visualstudio from 2.8.0 to 2.8.2 (#593) (d750880)
4.1.14 (2024-05-30)
4.1.13 (2024-05-20)
4.1.12 (2024-05-14)
- bump action versions (#576) (4ff2b7a)
- use specific alirezanet/publish-nuget action version (#578) (d1089ec)
4.1.11 (2024-05-03)
- bump xunit from 2.7.0 to 2.8.0 (#570) (ebd03c2)
- bump xunit.runner.visualstudio from 2.5.7 to 2.8.0 (#571) (338d472)
4.1.10 (2024-04-19)
4.1.9 (2024-03-19)
- add System.Net.Http namespace reference (#549) (69b309f)
- reference URLs for PlaceOfInjury and ManualUnderlyingCauseOfDeath (#562) (059b4ef)
- bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 (#557) (cde1231)
- bump xunit from 2.6.1 to 2.6.3 (#548) (7770173)
- bump xunit from 2.6.3 to 2.7.0 (#560) (5a81f87)
- bump xunit.runner.visualstudio from 2.5.3 to 2.5.5 (#547) (cad0dfa)
- bump xunit.runner.visualstudio from 2.5.5 to 2.5.7 (#559) (b684be9)
4.1.8 (2023-11-14)
- bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 (#538) (fef3b75)
- bump xunit from 2.5.3 to 2.6.1 (#537) (eab811c)
- update 4th test case (#540) (11c6700)
4.1.7 (2023-10-24)
- default decedent gender to unknown (#529) (172d2b5)
- bump xunit from 2.5.0 to 2.5.1 (#520) (f1cc224)
- bump xunit from 2.5.1 to 2.5.2 (#527) (7766300)
- bump xunit from 2.5.2 to 2.5.3 (#530) (dc803a8)
- bump xunit.runner.visualstudio from 2.5.1 to 2.5.3 (#528) (bd2e686)
- use net6 container; add VS Code debug profiles (#531) (6970a7b)
4.1.6 (2023-10-10)
- adding missing place of injury and description (#524) (6c90377)
- bump xunit.runner.visualstudio from 2.5.0 to 2.5.1 (#521) (4fdcba3)
4.1.5 (2023-9-5)
- add 4th test record (#518) (f852332)
- add support to manually dispatch workflows (#514) (24585f2)
- bump Microsoft.NET.Test.Sdk from 17.7.0 to 17.7.1 (#516) (c00135b)
- bump Microsoft.NET.Test.Sdk from 17.7.1 to 17.7.2 (#519) (7930ab4)
4.1.4 (2023-8-14)
- alias flag on fhir message to 0 (or 1) from blank or null (#513) (0407051)
- bump Microsoft.NET.Test.Sdk from 17.6.3 to 17.7.0 (#510) (0b1319e)
4.1.3 (2023-8-4)
- void flag on fhir message to 0 (or 1) from blank or null (#508) (33f3efb)
- add Fact decorator; remove warning with negative assertion (#509) (1c07be6)
- use GITHUB_TOKEN to auto-merge; close/reopen PR to trigger workflow (#503) (fa27f7d)
- use machine account PAT to create release PR (61dd64b)
4.1.2 (2023-7-26)
- release: default to auto-merge; use deploy key to chain workflows (#501) (517db68)
4.1.1 (2023-7-26)
- partialDate and partialDateTime validation (#492) (5e7e932)
- add #496 to change log (#499) (8498226)
4.1.0 (2023-7-25)
- add setter/getter for Decedents gender (#482) (68c8e03)
- partial date time handling of day, month and year (#496) (3e5b1d3)
- wrap commit message in double quotes to allow the use of apostrophe (') (#497) (ebb1bda)
4.0.10 (2023-7-19)
- handling of missing decedents last name LNAME (#494) (b5d0c30)
- use latest checkout and setup-dotnet action (#489) (569a850)
4.0.9 (2023-7-13)
- ensure correct FHIR date of death and injury handling (#484) (991ae30)
4.0.8 (2023-7-7)
- add DeathRecord.cs annotations and library developers section to README (#477) (3743ba0)
- bump xunit from 2.4.2 to 2.5.0 (#481) (568ec91)
- bump xunit.runner.visualstudio from 2.4.5 to 2.5.0 (#480) (0276b75)
- handle dependabot pull requests (#478) (2b7f1f8)
4.0.7 (2023-6-29)
- correct CLI argument position error between jurisidiction and output directory (#473) (ccbc98d)
- bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 (#475) (c59b91e)
4.0.6 (2023-6-27)
- change BaseMessage.MessageBundle accessibility to public get, protected set (72ae122)
4.0.5 (2023-6-26)
- add VOID and ALIAS handling in IJEMortality class (8a2c10b)
4.0.4 (2023-6-23)
- allow retrieval of all Connectathon records (a5d5f07)
- sync pregnancy status vealue set with IG (61d84c6)
- expected age at time of death for test record #3 (e3fb04b)
- sync VOID message block_count property with messaging IG (731db5b)
- yes-no value set url (#456) (bf042dc)
4.0.3 (2023-6-7)
- Update birth month for test record #3 in Connectathon.cs
- Revert change to remove transportation role component on injury incident
- Update ages in Connectathon.cs
- Update ages and add test method CheckConnectathonRecord3() in DeathRecord_Should.cs
- Update and sync examples files (json and xml) with IG as follows:
- Remove Transport Role and its references
- Remove Death Certificate Reference and its references
- Remove Death Pronouncement Performer and its references
- Remove Decedent Employment History and its references
- Remove Cause of Death Pathway and its references
- Change Mortician, Funeral Home Director, Funeral Service Licensee to us-core-practitioner
- Change Interested Party to us-core-organization
- Change Decendent Pregnancy to decedent-pregnancy-status
- Change Cause of Death Condition to Cause of Death Part 1
- Change Cause of Death Condition Contributing Death to Cause of Death Part 2
- Syncs Connectathon test record generation code and example JSON and XML files with NCHS test plan changes
- Syncs Race and Ethnicity Literal fields with latest VRDR IG build version and adds additional test cases
- Add test cases for COD Coding Acknowledegement use case
- Adds support for multiple message destinations. It implemented this with a comma separated string of endpoints in the MessageDestination attribute.
*## v4.0.0.preview20 - 2023-04-20
- Corrected race literals in code, tests and example json, added component name check on setting race literals to be in sync with IG
- Updated test case to include missing usual occupation text, also made usual industry return null on unknown just as does usual occupation
- Fixed bug where calling UsualIndustry would crash if no text key was provided such as happens in the unknown case
- Incorporates preview19-with-filtering changes
- Added filtering logic
- Added CLI to allow filtering of a single file
- Added multiple tests to test issues we've experienced and testing different filters
- Added documentation for CLI and brief descriptions for each test case
- Additional tests for autopsy performed and results cases
- Fixed decedent education level handling for demographics
- Added handling for pregnancy code 8 - computer generated
- Connectathon test record fixes
- DateOfDeath valueTime formatting correction
- LOINC code display value corrected to "Location of Death"
- NVSS Race and Ethnicity display values corrected
- Test methods added to verify each of the above
- Corrected time values
- Fixed IJE classes to post values to time in format of 00:00:00.
- Updated ICD-10 code verification to support codes such as U071
- Updated display text for the death record certifier types to align with IG
- Updated AgeAtDeath property to expect a dictionary with "value" and "code" rather than "value" and "unit" to match the FHIR IG
- Added helper properties for AgeAtDeath to make it easier to set: AgeAtDeathYears, AgeAtDeathMonths, AgeAtDeathDays, AgeAtDeathHours, and AgeAtDeathMinutes
- Added a tabular data to FHIR Death Record Converter for testing
- Improved errors returned for DSTATE missing vs incorrect
- Fixed Auxno and Auxno2 formatting during conversion
- Fixed IJEMortality handling of NCHS-formatted ICD10 codes
- Return null instead of empty strings for a blank fields in the death record
- Fixed an issue where timezone conversion was causing an incorrect day of death to be returned
- Expanded TargetFrameworks for the VRDR.Client library to include .NET Core 3.1 and .NET Framework 4.8
- Fixed issue with WithinCityLimits field getting overwritten when setting address properties
- Update date and time fields to differentiate between no data provided and explicitly unknown (see https://github.com/nightingaleproject/vrdr-dotnet#specifying-that-a-date-or-time-is-explicitly-unknown)
- Fixed an issue in handling blank race value fields
- Updated handling of middle name properties in IJEMortality class to account for mismatches between the FHIR standard and IJE (see https://github.com/nightingaleproject/vrdr-dotnet#names-in-fhir)
- The library raises an exception if a middle name is set before a first name when using IJEMortality
- The IJEMortality class returns middle name fields of the correct length
- Added missing value for Non-Hispanic to HispanicOrigin value set
- Added support for creating and submitting batch messages to the API
- Fixed SSN length validation
- Updated value mappings after corrections to the VRDR IG
- Fixed CLI MRE/TRX conversion bug
- Fixed issue with parsing empty literal race fields
- Fixed issue that allowed empty strings in alias message fields
- Fixed incorrect error for AgeAtDeathEditFlag
- Fixed null object reference issue when retrieving message ID
- Fixed date handling to correctly distinguish between unknown and unset
- Fixed issue in ICD code handling to correctly support 5 character codes
- Updated Client implementation to increase robustness of token refresh
- Improved support for Status messages
- Added support for linking coding response messages to the submission messages that they code
- Added TS as a jurisdiction code for testing purposes
- Fixed bug where injury incident value was encoded as String instead of CodeableConcept text
- Improved support for Alias messages to allow data to be pulled from a source record
- Improved error handling in microservice to return JSON errors
- Added tools in the VRDR.CLI to convert from Coding Content Bundles to and from MRE and TRX formats
- Added tools in the VRDR.CLI to compare JSON and TRX/MRE formatted data via translation to IJE
- Added support for DateOfDeathDetermination
- Updated the Client to stop using the now-unneeded _since parameter
- Fixed credential handling in Client implementation
- Updated handling of RelatedPerson fields to correctly set Active=True
- Fixed BSTATE issue with connectathon test record
- Fixed an issue with death age unit handling
- Fixed an issue with time handling to correctly include seconds
- Fixed an inconsistent race designator
- Updated FHIR generation code so that empty observations are not produced
- Updated pregnancy indicator handling for Record Axis Codes
- Added TT as a jurisdiction code for testing purposes
- Added initial approach for mortality roster bundle
- Added initial support for status messages
- Improved usability of the command line tool
- Addressed incorrect conversion of non-string values into strings
- Updated documentation to better align with recent library changes
- Added new 2ijecontent and extract2ijecontent services to the command line tool
- Removed erroneous second injury location object from output bundle
- Fixed issue where VRDR DeathRecord properties that return a dictionary were returning null
- Added parsing of generic non-VRDR message bundles to support more flexibility in message-handling APIs built using the VRDR.Messaging library
- Aligned with IG updates
- Eliminated CauseOfDeathPathway and added lineNumber component to Part1CauseOfDeath
- Eliminated fields not in VRDR IG: BirthSex, BirthRecordDataAbsentReason, Occupation, Work
- Updated approach for Location names to support field being required by setting to "BLANK" when not specified
- Made small changes to field types to pass FHIR validation
- Updated examples to match new IG
- Made updates to improve consistency and usability
- Refactored RecordAxis and EntityAxis to use named tuples
- Changed EditFlag properties to have consistent names
- Removed Boolean methods in favor of more consistent Helper methods
- Updated AgeAtDeath property to expect a dictionary with "value" and "unit" rather than "units" and "type" to match the FHIR IG
- Made updates to address bugs
- Fixed errors in CertificationRole and TransportationRole
- Fixed value set mapping for SpouseAlive
- Fixed issue with Hispanic/No/Unknown mapping
- Fixed issue with edit flag properties overwriting other content
- Fixed issue with DeathLocationJurisdiction property setting values incorrectly
- Fixed issue with PartialDateTime extensions being used where PartialDate should be used
- Fixed issue with Messaging library to correctly support changing a Record within a Message
- Made updates to address issues in Canary
- Updated functionality used by Canary to exclude Helper properties from Canary tests
- Fixed FHIR paths to support better test results in Canary
- Added release of VRDR.Client NuGet package
- Addressed inconsistencies in how identifiers were being handled
- Aligned VRDR library to latest VRDR IG at http://build.fhir.org/ig/HL7/vrdr/artifacts.html
- Updated 137 fields to the latest FHIR representation
- Added support for 109 additional fields in the IJE specification that were not previously supported by the IG
- Added helper methods for all coded fields
- Provide constants for all Value Sets, Profile URLs, and Extension URLs
- Moved Connectathon records to VRDR library and updated them for June 2022 testing event
- Updated Canary mappings to prepare for Canary update to align with the new IG
- Aligned VRDR.Messaging library to latest VRDR Messaging IG at http://build.fhir.org/ig/nightingaleproject/vital_records_fhir_messaging_ig/branches/main/index.html
- Renamed classes and properties to align with IG
- Changed DeathRecordSubmission to DeathRecordSubmissionMessage
- Changed DeathRecordUpdate to DeathRecordUpdateMessage
- Changed AckMessage to AcknowledgementMessage
- Changed VoidMessage to DeathRecordVoidMessage
- Changed CauseOfDeathCodingResponseMessage to CauseOfDeathCodingMessage
- Changed DemographicsCodingResponseMessage to DemographicsCodingMessage
- Changed CertificateNumber property to CertNo
- Changed StateAuxiliaryIdentifier property to StateAuxiliaryId
- Changed DeathJurisdictionID property to JurisdictionId
- Added support for new DeathRecordAliasMessage
- New common model of message bundles to support submission messages, coding response messages, and full interjurisdictional exchange messages
- Renamed classes and properties to align with IG
- Added the CertificationRoleHelper method
- Documented the new helper methods in the README
- Copied the Connectathon record generation code into VRDR from Canary (will eventually be removed from the Canary code base)
- Updated code for converting from the Nightingale data format to FHIR
- Added functionality to the VRDR.CLI application for generating Connectathon records from the command line
- Added a ruby script for generating a large quantity of FHIR records using the Connectathon records
- Added a ruby script for converting an Excel file with records in pseudo-IJE format into a set of FHIR records for testing
- Removed support for the now-obsolete netcoreapp2.1
- Added a client library (VDRD.Client) for interacting with the NVSS FHIR API
- Added helper methods for setting field values that use value sets
- Fixed bug in unknown DOB IJE to FHIR conversion
- Return null rather than an error when jurisdiction id is missing from VRDR record
- Fixed FHIRPath and data types to support date absent extension
- Allow casting a message to a Bundle to support the NCHS API
- Return descriptive error when jurisdiction id is missing from VRDR record
- Add support for passing Bundles directly to BaseMessage
- Fixed bug in how nulls are interpreted when loading description files that caused segments of records to be dropped in Canary
- Removed incorrect extra spaces from some race strings
- Fixed bug that caused an error if the receipt year was set to the death year when creating coded response messages
- Improved text that describes expected values for the Death Location Jurisdiction field
- Fixed bug that caused incorrect data to be shown in Canary for Death Location Jurisdiction
- Fixed bug that causes error when calling data absent boolean setter methods
- Add methods for getting and setting AgeAtDeathAbsentReason and BirthRecordIdentifierAbsentReason. A boolean getter and setter returning whether a reason has been set has also been provided.
- Fetch DeathLocationJurisdiction from DeathLocationJurisdiction instead of DeathLocationAddress?["addressState"] in VRDR Messaging
- Updated to STU2 version of the VRDR IG
- DeathLocationJurisdiction must now be specified in order to generate an IJE file
- Country information is now universally represented in the library as a 2 character code (e.g. US instead of United States)
- State information is now univerally represented in the library as a 2 character code (e.g. FL instead of Florida)
- BirthRecordIdentifier.component:birthState is now represented as ISO-3166-2 (e.g. US-MA instead of MA)
- Added support for missing data as per the STU2 IG
- Full list of supported IJE fields is now available.
- Reorder death record properties to reflect order in standard death certificate
- Acknowledgement messages support block_count field for acknowledging bulk void messages
- Added additional required fields to CodingResponseMessage
- Documentation updated to reflect completed migration from CauseCode to CodingResponseMessage
- Blank identifiers are ignored in a Death Certificate Reference
- Default is to have no certificate number rather than an OID
- Added IJE vs. IJE-from-FHIR comparison utility function to VRDR.CLI
- Fixed a bug that allowed blank values in IJE age fields
- Added message related utility functions to VRDR.CLI
- Assorted bug fixes
- Fixed a bug where an identifier was being incorrectly initialized with a GUID
- Assorted bug fixes
- Fixed a bug that would cause an NPE if source was missing from a parsed message header
- Assorted bug fixes
- Fixed a bug that would cause an NPE if a mortician was not present in a death record file
- Fixed a bug where mortician entry was not being correctly identified
- Fixed bug where text description of usual occupation and industry was being put in the code description instead of the codeable concept text
- Updated
DeathRecord
class to match latest VRDR IG changes. - Numerous under-the-covers changes to address IG changes from FHIR STU3 -> R4 and fix errors and warnings from the FHIR validator including:
- Switch location of business identifiers: certificate number from Death Certificate (Composition) to Death Certification (Procedure), state auxiliary identifier from Death Certificate Document to Document Reference, NCHS identifier to Bundle identifier
- Clinical code changes, e.g. 74165-2 "History of employment status" to 21843-8 "History of usual occupation"
- Add required code systems to codings
- Add required (by US Core IG foundation profiles) identifiers to several resources
- Fix display text for codes
- Full state name to two letter state code
- Boolean observations to coded observations with 'Y', 'N', unknown or not applicable values
- Extract Observation component to full Observation, e.g. for Military Service
- Add support for LocationJurisdictionId extension
- Properties that map to a FHIR CodeableConcept now support an addition
text
dictionary key that maps to theCodeableConcept.text
element. - Added
DeathRecord.StateLocalIdentifier
property. DeathRecord.InterestedPartyIdentifier
is now aDictionary
instead of astring
.- Added
DeathRecord.CertifierIdentifier
property. DeathRecord.ResidenceWithinCityLimits
is now aDictionary
instead of abool
.- Added
DeathRecord.ResidenceWithinCityLimitsBoolean
property as a convenience method. - Added
DeathRecord.UsualOccupationEnd
property. - Added
DeathRecord.MilitaryServiceBoolean
property as a convenience method. DeathRecord.MorticianIdentifier
is now aDictionary
instead of astring
.- Added
DeathRecord.FuneralDirectorPhone
property. - Added
DeathRecord.AutopsyPerformedBoolean
property as a convenience method. - Added death pronouncer:
PronouncerGivenNames
,PronouncerFamilyName
,PronouncerSuffix
,PronouncerIdentifier
. - Added
DeathRecord.DateOfDeath
property. - Added
DeathRecord.AutopsyResultsAvailableBoolean
property as a convenience method. - Added
DeathRecord.DeathLocationType
property. - Added
DeathRecord.DeathLocationJurisdiction
property. DeathRecord.ExaminerContacted
is now aDictionary
instead of abool
.- Added
DeathRecord.ExaminerContactedBoolean
property as a convenience method. DeathRecord.InjuryPlace
is now aDictionary
instead of astring
.- Added
DeathRecord.InjuryPlaceDescription
property as a convenience method. - Added
DeathRecord.InjuryAtWorkBoolean
property as a convenience method. DeathRecord.TransportEvent
is now aDictionary
instead of abool
.- Added
DeathRecord.TransportationEventBoolean
property as a convenience method. - Added
DeathRecord.EthnicityText
property for uncoded ethnicity - Added
DeathRecord.RaceText
property for uncoded race
- Improve error handling during message parsing.
- Add
MessageParseException
class. - Added
CauseOfDeathEntityAxisList
property toCodingResponseMessage
andCodingUpdateMessage
.
- Add ability to format output for human readability via
prettyPrint
parameter ofBaseMessage.ToXML
andBaseMessage.ToJSON
. - Move VRDR.Messaging API documentation to new, task-oriented, documentation page.
ExtractionErrorMessage(sourceMessage)
constructor initializes theMessageSource
property fromsourceMessage.MessageDestination
. Removed the defaultedsource
parameter from this constructor.
- Add business identifier properties (
NCHSIdentifier
,StateAuxiliaryIdentifier
,CertificateNumber
) to every message type. - Replace
DeathCertificateText
andCauseOfDeathConditionId
properties ofCauseOfDeathEntityAxisEntry
withLineNumber
property. - Serialized messages use
urn:uuid:...
style resource references everywhere. EntityAxisBuilder.Add
will skip adding an entry if the supplied code is blank.- Add variant of
BaseMessage.Parse
that accepts astring
argument. AckMessage(sourceMessage)
constructor initializes theMessageSource
property fromsourceMessage.MessageDestination
. Removed the defaultedsource
parameter from this constructor.