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 | 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.

Usages:

- Use this DataType Profile: PAS Device Request, PAS Medication Request and PAS Service Request

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- 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 | Σ 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.
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
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 | Conformance | ValueSet | URI
Timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Timing

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 |  |  |  |
bounds[x] | S | 0..1 | Duration | The number of periods over which the service is delivered.
period | S | 0..1 | decimal | Event occurs frequency times per period
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 | Σ 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 | Σ | 0..1 | positiveInt | Number of times to repeat
countMax | Σ | 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 | Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | Σ | 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 | Conformance | ValueSet | URI
Timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
Timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
Timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard
Timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|4.0.1` From the FHIR Standard
Timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Timing

Summary

Must-Support: 5 elements

Extensions

This structure refers to these extensions:

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

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 | Σ 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.
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
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 | Conformance | ValueSet | URI
Timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

This structure is derived from Timing

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 |  |  |  |
bounds[x] | S | 0..1 | Duration | The number of periods over which the service is delivered.
period | S | 0..1 | decimal | Event occurs frequency times per period
periodUnit | S | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM)
Documentation for this format

Snapshot 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
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 | Σ 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 | Σ | 0..1 | positiveInt | Number of times to repeat
countMax | Σ | 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 | Σ | 0..1 | positiveInt | Event occurs frequency times per period
frequencyMax | Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | S Σ | 0..1 | decimal | Event occurs frequency times per period
periodMax | Σ | 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 | Conformance | ValueSet | URI
Timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
Timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|4.0.1` From the FHIR Standard
Timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard
Timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|4.0.1` From the FHIR Standard
Timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Timing

Summary

Must-Support: 5 elements

Extensions

This structure refers to these extensions:

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

Maturity: 3

Other representations of profile: CSV, Excel, Schematron