Da Vinci Prior Authorization Support (PAS) FHIR IG
2.2.0-ballot - STU 2.2 - Ballot

Da Vinci Prior Authorization Support (PAS) FHIR IG, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.2.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-pas/ and changes regularly. See the Directory of published versions

## Data Type Profile: PAS Timing

Official URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-datatype-timing | Version: 2.2.0-ballot
Standards status: Trial-use Active as of 2026-01-30 | Maturity Level: 3 | Computable Name: PASTiming
Other Identifiers: OID:2.16.840.1.113883.4.642.40.24.42.55

PAS constraints on the Timing datatype used in the various service requests.

### Mandatory Data Elements

The following data elements must always be present.

§§ §prof-tim-1:Each PAS Quantity SHALL have:**

1. a value
2. either a unit or a code and system.

If a code is present, it SHALL use the X12 quantity units.

Usages:

- Use this DataType Profile: PAS Device Request, PAS Medication Request, PAS Service Request, PAS Device Request... Show 2 more, PAS Medication Request and PAS Service Request

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
Slices for extension |  |  |  | Content/Rules for all slices
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
repeat | S Σ C | 0..1 | Element | When the event is to occur Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
bounds[x] | S Σ | 0..1 | Duration | The number of periods over which the service is delivered.
count | S Σ | 0..1 | positiveInt | Number of times to repeat
countMax | S Σ | 0..1 | positiveInt | Maximum number of times to repeat
frequency | S Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | S Σ | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.

#### 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()`
tim-1 | error | Timing.repeat | if there's a duration, there needs to be duration units | `duration.empty() or durationUnit.exists()`
tim-2 | error | Timing.repeat | if there's a period, there needs to be period units | `period.empty() or periodUnit.exists()`
tim-4 | error | Timing.repeat | duration SHALL be a non-negative value | `duration.exists() implies duration >= 0`
tim-5 | error | Timing.repeat | period SHALL be a non-negative value | `period.exists() implies period >= 0`
tim-6 | error | Timing.repeat | If there's a periodMax, there must be a period | `periodMax.empty() or period.exists()`
tim-7 | error | Timing.repeat | If there's a durationMax, there must be a duration | `durationMax.empty() or duration.exists()`
tim-8 | error | Timing.repeat | If there's a countMax, there must be a count | `countMax.empty() or count.exists()`
tim-9 | error | Timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) | `offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))`
tim-10 | error | Timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa | `timeOfDay.empty() or when.empty()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
Slices for extension |  |  |  | Content/Rules for all slices
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
repeat | S | 0..1 | Element | When the event is to occur
bounds[x] | S | 0..1 | Duration | The number of periods over which the service is delivered.
count | S | 0..1 | positiveInt | Number of times to repeat
countMax | S | 0..1 | positiveInt | Maximum number of times to repeat
frequency | S | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S | 0..1 | decimal | Event occurs frequency times per period
periodMax | S | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM)
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
event | Σ | 0..* | dateTime | When the event occurs
repeat | S Σ C | 0..1 | Element | When the event is to occur Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
bounds[x] | S Σ | 0..1 | Duration | The number of periods over which the service is delivered.
count | S Σ | 0..1 | positiveInt | Number of times to repeat
countMax | S Σ | 0..1 | positiveInt | Maximum number of times to repeat
duration | Σ | 0..1 | decimal | How long when it happens
durationMax | Σ | 0..1 | decimal | How long when it happens (Max)
durationUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
frequency | S Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | S Σ | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required)
timeOfDay | Σ | 0..* | time | Time of day for action
when | Σ | 0..* | code | Code for time period of occurrence Binding: EventTiming (required): Real world event relating to the schedule.
offset | Σ | 0..1 | unsignedInt | Minutes from event (before or after)
code | Σ | 0..1 | CodeableConcept | BID | TID | QID | AM | PM | QD | QOD | + Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Timing.repeat.durationUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.
Timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.
Timing.repeat.dayOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.
Timing.repeat.when | Base | required | EventTiming | 📍4.0.1 | FHIR Std.
Timing.code | Base | preferred | TimingAbbreviation | 📍4.0.1 | FHIR Std.

#### 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()`
tim-1 | error | Timing.repeat | if there's a duration, there needs to be duration units | `duration.empty() or durationUnit.exists()`
tim-2 | error | Timing.repeat | if there's a period, there needs to be period units | `period.empty() or periodUnit.exists()`
tim-4 | error | Timing.repeat | duration SHALL be a non-negative value | `duration.exists() implies duration >= 0`
tim-5 | error | Timing.repeat | period SHALL be a non-negative value | `period.exists() implies period >= 0`
tim-6 | error | Timing.repeat | If there's a periodMax, there must be a period | `periodMax.empty() or period.exists()`
tim-7 | error | Timing.repeat | If there's a durationMax, there must be a duration | `durationMax.empty() or duration.exists()`
tim-8 | error | Timing.repeat | If there's a countMax, there must be a count | `countMax.empty() or count.exists()`
tim-9 | error | Timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) | `offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))`
tim-10 | error | Timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa | `timeOfDay.empty() or when.empty()`

Summary

Must-Support: 11 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern|2.2.0-ballot
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern|2.2.0-ballot

Maturity: 3

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
Slices for extension |  |  |  | Content/Rules for all slices
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
repeat | S Σ C | 0..1 | Element | When the event is to occur Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
bounds[x] | S Σ | 0..1 | Duration | The number of periods over which the service is delivered.
count | S Σ | 0..1 | positiveInt | Number of times to repeat
countMax | S Σ | 0..1 | positiveInt | Maximum number of times to repeat
frequency | S Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | S Σ | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.

#### 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()`
tim-1 | error | Timing.repeat | if there's a duration, there needs to be duration units | `duration.empty() or durationUnit.exists()`
tim-2 | error | Timing.repeat | if there's a period, there needs to be period units | `period.empty() or periodUnit.exists()`
tim-4 | error | Timing.repeat | duration SHALL be a non-negative value | `duration.exists() implies duration >= 0`
tim-5 | error | Timing.repeat | period SHALL be a non-negative value | `period.exists() implies period >= 0`
tim-6 | error | Timing.repeat | If there's a periodMax, there must be a period | `periodMax.empty() or period.exists()`
tim-7 | error | Timing.repeat | If there's a durationMax, there must be a duration | `durationMax.empty() or duration.exists()`
tim-8 | error | Timing.repeat | If there's a countMax, there must be a count | `countMax.empty() or count.exists()`
tim-9 | error | Timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) | `offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))`
tim-10 | error | Timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa | `timeOfDay.empty() or when.empty()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
Slices for extension |  |  |  | Content/Rules for all slices
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
repeat | S | 0..1 | Element | When the event is to occur
bounds[x] | S | 0..1 | Duration | The number of periods over which the service is delivered.
count | S | 0..1 | positiveInt | Number of times to repeat
countMax | S | 0..1 | positiveInt | Maximum number of times to repeat
frequency | S | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S | 0..1 | decimal | Event occurs frequency times per period
periodMax | S | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM)
Documentation for this format

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Timing |  | 0..* | Timing | A timing schedule that specifies an event that may occur multiple times
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:calendarPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/07/00/678 (required): Codes which specifies the routine shipments, deliveries, or calendar pattern. These codes are listed within an X12 implementation guide (TR3) and maintained by X12. All X12 work products are copyrighted. See their website for licensing terms and conditions.
extension:deliveryPattern | S | 0..1 | CodeableConcept | Extension URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern Binding: https://valueset.x12.org/x217/005010/request/2000F/HSD/1/08/00/679 (required)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
event | Σ | 0..* | dateTime | When the event occurs
repeat | S Σ C | 0..1 | Element | When the event is to occur Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
bounds[x] | S Σ | 0..1 | Duration | The number of periods over which the service is delivered.
count | S Σ | 0..1 | positiveInt | Number of times to repeat
countMax | S Σ | 0..1 | positiveInt | Maximum number of times to repeat
duration | Σ | 0..1 | decimal | How long when it happens
durationMax | Σ | 0..1 | decimal | How long when it happens (Max)
durationUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
frequency | S Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | S Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | S Σ | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | S Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required)
timeOfDay | Σ | 0..* | time | Time of day for action
when | Σ | 0..* | code | Code for time period of occurrence Binding: EventTiming (required): Real world event relating to the schedule.
offset | Σ | 0..1 | unsignedInt | Minutes from event (before or after)
code | Σ | 0..1 | CodeableConcept | BID | TID | QID | AM | PM | QD | QOD | + Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Timing.repeat.durationUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.
Timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍4.0.1 | FHIR Std.
Timing.repeat.dayOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.
Timing.repeat.when | Base | required | EventTiming | 📍4.0.1 | FHIR Std.
Timing.code | Base | preferred | TimingAbbreviation | 📍4.0.1 | FHIR Std.

#### 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()`
tim-1 | error | Timing.repeat | if there's a duration, there needs to be duration units | `duration.empty() or durationUnit.exists()`
tim-2 | error | Timing.repeat | if there's a period, there needs to be period units | `period.empty() or periodUnit.exists()`
tim-4 | error | Timing.repeat | duration SHALL be a non-negative value | `duration.exists() implies duration >= 0`
tim-5 | error | Timing.repeat | period SHALL be a non-negative value | `period.exists() implies period >= 0`
tim-6 | error | Timing.repeat | If there's a periodMax, there must be a period | `periodMax.empty() or period.exists()`
tim-7 | error | Timing.repeat | If there's a durationMax, there must be a duration | `durationMax.empty() or duration.exists()`
tim-8 | error | Timing.repeat | If there's a countMax, there must be a count | `countMax.empty() or count.exists()`
tim-9 | error | Timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) | `offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))`
tim-10 | error | Timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa | `timeOfDay.empty() or when.empty()`

Summary

Must-Support: 11 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingcalendarpattern|2.2.0-ballot
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-timingdeliverypattern|2.2.0-ballot

Maturity: 3

Other representations of profile: CSV, Excel, Schematron