Healthcare Financial Services IG Edition 1 - Local Development build (v0.4.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Official URL: http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/DP-Period-4 | Version: 0.4.0 | |||
Draft as of 2025-10-12 | Computable Name: DP_Period_4 |
Period datatype which constrains the start and end to complete dates. Only end is required.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Period | Time range defined by start and end date/time Constraints: per-1 |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
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())
|
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
per-1 | error | Period | If present, start SHALL have a lower value than end |
start.hasValue().not() or end.hasValue().not() or (start <= end)
|
This structure is derived from Period
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Period | Time range defined by start and end date/time | |
![]() ![]() ![]() |
SC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
Id | Grade | Path(s) | Description | Expression |
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Period | Time range defined by start and end date/time Constraints: per-1 |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
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()
|
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
per-1 | error | Period | If present, start SHALL have a lower value than end |
start.hasValue().not() or end.hasValue().not() or (start <= end)
|
This structure is derived from Period
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Period | Time range defined by start and end date/time Constraints: per-1 |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
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())
|
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
per-1 | error | Period | If present, start SHALL have a lower value than end |
start.hasValue().not() or end.hasValue().not() or (start <= end)
|
Differential View
This structure is derived from Period
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Period | Time range defined by start and end date/time | |
![]() ![]() ![]() |
SC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
Id | Grade | Path(s) | Description | Expression |
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Period | Time range defined by start and end date/time Constraints: per-1 |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Starting time with inclusive boundary Constraints: ksa-date-1 |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: ksa-date-1 |
![]() |
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()
|
ksa-date-1 | error | Period.start, Period.end | Must provide a complete date YYYY-MM-DD |
toString().matches('([0-9][0-9][0-9][0-9])-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])')
|
per-1 | error | Period | If present, start SHALL have a lower value than end |
start.hasValue().not() or end.hasValue().not() or (start <= end)
|
This structure is derived from Period
Other representations of profile: CSV, Excel, Schematron