Vital Records Common Library (VRCL) FHIR Implementation Guide
2.0.0 - STU2 United States of America flag

Vital Records Common Library (VRCL) FHIR Implementation Guide, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/vr-common-library/ and changes regularly. See the Directory of published versions

Extension: Partial Date Vital Records

Official URL: http://hl7.org/fhir/us/vr-common-library/StructureDefinition/Extension-partial-date-vr Version: 2.0.0
Active as of 2026-06-01 Computable Name: ExtensionPartialDateVitalRecords

Provides values of a partial date for cases beyond what FHIR date can support directly.

Context of Use

    This extension may be used on the following element(s)

If a component is missing, it is assumed unknown.

  • This extension SHOULD NOT be used when the value can be expressed as a date, specifically YYYY, YYYY-MM, YYYY-MM-DD, or a full date.
  • This extension SHOULD NOT be used to express that the date in its entirety is missing/unknown. In this case a simple dataAbsent reason extension should be used on the date.
  • This extension SHOULD be used to express missing components of date including XXXX-XX-DD, YYYY-XX-DD, YYYY-MM-XX, but one or more components of the date is unknown.
  • If a component is missing, the interpretation should be equivalent to it being present, with a data absent reason of 'unknown' or 'temp-unknown'.

When the known components of the date can be expressed as a valid dateTime, the value SHALL be present. So, for example 2022-12-XX, the dateTime value should be "2022-12".

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Extension Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Partial Date
... extension 3..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:year 1..1 Extension Date year (0-9998)
..... extension 0..0 Extension
..... url 1..1 uri "year"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
.... extension:month 1..1 Extension Date month (1-12)
..... extension 0..0 Extension
..... url 1..1 uri "month"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
.... extension:day 1..1 Extension Date day (1-31)
..... extension 0..0 Extension
..... url 1..1 uri "day"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
... url 1..1 uri "http://hl7.org/fhir/us/vr-common-library/StructureDefinition/Extension-partial-date-vr"

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:year.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:month.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:day.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Partial Date
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 3..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:year 1..1 Extension Date year (0-9998)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "year"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
.... extension:month 1..1 Extension Date month (1-12)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "month"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
.... extension:day 1..1 Extension Date day (1-31)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "day"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
... url 1..1 uri "http://hl7.org/fhir/us/vr-common-library/StructureDefinition/Extension-partial-date-vr"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:year.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:month.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:day.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Complex Extension: Provides values of a partial date for cases beyond what FHIR date can support directly.

  • year: unsignedInt: The year portion (YYYY) of the partial date (0-9998).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.
  • month: unsignedInt: The month portion (MM) of the partial date (1-12).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.
  • day: unsignedInt: The day portion (DD) of the partial date (1-31).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.

Differential ViewDifferential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Partial Date
... extension 3..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:year 1..1 Extension Date year (0-9998)
..... extension 0..0 Extension
..... url 1..1 uri "year"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
.... extension:month 1..1 Extension Date month (1-12)
..... extension 0..0 Extension
..... url 1..1 uri "month"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
.... extension:day 1..1 Extension Date day (1-31)
..... extension 0..0 Extension
..... url 1..1 uri "day"
..... value[x] 1..1 unsignedInt Value of extension
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
... url 1..1 uri "http://hl7.org/fhir/us/vr-common-library/StructureDefinition/Extension-partial-date-vr"

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:year.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:month.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:day.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Partial Date
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 3..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:year 1..1 Extension Date year (0-9998)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "year"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
.... extension:month 1..1 Extension Date month (1-12)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "month"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
.... extension:day 1..1 Extension Date day (1-31)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "day"
..... value[x] 1..1 unsignedInt Value of extension
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:dataabsent 0..1 (Complex) unknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..0 Extension
Slice: Unordered, Open by value:url
........ url 1..1 uri "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
........ value[x] 1..1 code If unknown (all 9's), use code 'unknown'. If blank (all ' '), use code 'temp-unknown'
Binding: Value Set - Partial Date/DateTime Data Absent Reason Vital Records (required)
...... value 0..1 string Primitive value for unsignedInt
... url 1..1 uri "http://hl7.org/fhir/us/vr-common-library/StructureDefinition/Extension-partial-date-vr"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:year.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:month.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG
Extension.extension:day.​value[x].extension:dataabsent.​value[x] Base required Value Set - Partial Date/DateTime Data Absent Reason Vital Records 📦2.0.0 This IG

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Complex Extension: Provides values of a partial date for cases beyond what FHIR date can support directly.

  • year: unsignedInt: The year portion (YYYY) of the partial date (0-9998).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.
  • month: unsignedInt: The month portion (MM) of the partial date (1-12).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.
  • day: unsignedInt: The day portion (DD) of the partial date (1-31).
  • dataabsent: code: Provides a reason why the expected value or elements in the element that is extended are missing.

 

Other representations of profile: CSV, Excel, Schematron