Release 5 Preview #3

Extension: relativeDateTime

FHIR Infrastructure Work Group Maturity Level: 1InformativeUse Context: Any

URL for this extension:

http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime

Status: draft. Extension maintained by: Health Level Seven, Inc. - CDS WG

A date/time value that is determined based on a duration offset from a target event.

Context of Use: Use on Element ID Element

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. relativeDateTime0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime
relativeDateTime: A date/time value that is determined based on a duration offset from a target event.


Use on Element ID Element
... target1..1Reference(Resource)The event that the date/time value is relative to.

... targetPath1..1stringThe path to the element that defines the effective period for the event that the date/time value is relative to.

... relationship1..1codeThe relationship to the effective period of the target event that the date/time value is relative to.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime
relativeDateTime: A date/time value that is determined based on a duration offset from a target event.


Use on Element ID Element
... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:target I1..1ExtensionRelative to what event
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"target"
.... value[x] I1..1Reference(Resource)Value of extension
... extension:targetPath I1..1ExtensionRelative to which element on the event
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"targetPath"
.... value[x] I1..1stringValue of extension
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"relationship"
.... value[x] I1..1codeValue of extension
Binding: ActionRelationshipType (required)
... extension:offset I1..1ExtensionHow long
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"offset"
.... value[x] I1..1Value of extension
..... valueDurationDuration
..... valueRangeRange
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime"
... value[x] I0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueInteger64integer64
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- relativeDateTime -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="target"> ?? 1..1 Extension  <!-- ?? 1..1 Relative to what event -->
  <valueReference><!-- ?? 1..1 Reference(Resource) Value of extension --></valueReference>
 </extension>
 <extension url="targetPath"> ?? 1..1 Extension  <!-- ?? 1..1 Relative to which element on the event -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="relationship"> ?? 1..1 Extension  <!-- ?? 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="offset"> ?? 1..1 Extension  <!-- ?? 1..1 How long -->
  <value[x]><!-- ?? 1..1 Duration|Range 
      Value of extension --></value[x]>
 </extension>
</extension>

JSON Template

{ // relativeDateTime
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Relative to what event // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "target", // R! 
        "valueReference" : { Reference(Resource) } // C? R! Value of extension
      },
      { // Relative to which element on the event // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "targetPath", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "relationship", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      },
      { // How long // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "offset", // R! 
// value[x]: Value of extension. One of these 2:
        "valueDuration" : { Duration } // C? R! Value of extension
        "valueRange" : { Range }, // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime", // R! 
// value[x]: Value of extension. One of these 51:
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. relativeDateTime0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime
relativeDateTime: A date/time value that is determined based on a duration offset from a target event.


Use on Element ID Element
... target1..1Reference(Resource)The event that the date/time value is relative to.

... targetPath1..1stringThe path to the element that defines the effective period for the event that the date/time value is relative to.

... relationship1..1codeThe relationship to the effective period of the target event that the date/time value is relative to.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime
relativeDateTime: A date/time value that is determined based on a duration offset from a target event.


Use on Element ID Element
... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:target I1..1ExtensionRelative to what event
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"target"
.... value[x] I1..1Reference(Resource)Value of extension
... extension:targetPath I1..1ExtensionRelative to which element on the event
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"targetPath"
.... value[x] I1..1stringValue of extension
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"relationship"
.... value[x] I1..1codeValue of extension
Binding: ActionRelationshipType (required)
... extension:offset I1..1ExtensionHow long
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"offset"
.... value[x] I1..1Value of extension
..... valueDurationDuration
..... valueRangeRange
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime"
... value[x] I0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueInteger64integer64
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- relativeDateTime -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="target"> ?? 1..1 Extension  <!-- ?? 1..1 Relative to what event -->
  <valueReference><!-- ?? 1..1 Reference(Resource) Value of extension --></valueReference>
 </extension>
 <extension url="targetPath"> ?? 1..1 Extension  <!-- ?? 1..1 Relative to which element on the event -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="relationship"> ?? 1..1 Extension  <!-- ?? 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="offset"> ?? 1..1 Extension  <!-- ?? 1..1 How long -->
  <value[x]><!-- ?? 1..1 Duration|Range 
      Value of extension --></value[x]>
 </extension>
</extension>

JSON Template

{ // relativeDateTime
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Relative to what event // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "target", // R! 
        "valueReference" : { Reference(Resource) } // C? R! Value of extension
      },
      { // Relative to which element on the event // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "targetPath", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "relationship", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      },
      { // How long // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "offset", // R! 
// value[x]: Value of extension. One of these 2:
        "valueDuration" : { Duration } // C? R! Value of extension
        "valueRange" : { Range }, // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime", // R! 
// value[x]: Value of extension. One of these 51:
  }

 

Constraints

  • ele-1: All FHIR elements must have a @value or children (xpath: @value|f:*|h:div)
  • ext-1: Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)