Healthcare Financial Services IG Edition 1
0.3.0 - ci-build Saudi Arabia flag

Healthcare Financial Services IG Edition 1 - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Data Type Profile: DP_Period_2

Official URL: http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/DP-Period-2 Version: 0.3.0
Draft as of 2025-06-23 Computable Name: DP_Period_2

Period datatype which constrains the start and end to complete dates. Both required.

Usage:

Formal Views of Profile Content

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

This structure is derived from Period

NameFlagsCard.TypeDescription & Constraintsdoco
.. Period 0..* Period Time range defined by start and end date/time
... start C 1..1 dateTime Starting time with inclusive boundary
ksa-date-1: Must provide a complete date YYYY-MM-DD
... end C 1..1 dateTime End time with inclusive boundary, if not ongoing
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ksa-date-1errorPeriod.start, Period.endMust 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])')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Period C 0..* Period Time range defined by start and end date/time
ele-1: All FHIR elements must have a @value or children
per-1: If present, start SHALL have a lower value than end
... start ΣC 1..1 dateTime Starting time with inclusive boundary
ele-1: All FHIR elements must have a @value or children
ksa-date-1: Must provide a complete date YYYY-MM-DD
... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
ele-1: All FHIR elements must have a @value or children
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ksa-date-1errorPeriod.start, Period.endMust 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-1errorPeriodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Period C 0..* Period Time range defined by start and end date/time
per-1: If present, start SHALL have a lower value than end
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... start ΣC 1..1 dateTime Starting time with inclusive boundary
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ksa-date-1errorPeriod.start, Period.endMust 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-1errorPeriodIf 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

Summary

Mandatory: 2 elements

Differential View

This structure is derived from Period

NameFlagsCard.TypeDescription & Constraintsdoco
.. Period 0..* Period Time range defined by start and end date/time
... start C 1..1 dateTime Starting time with inclusive boundary
ksa-date-1: Must provide a complete date YYYY-MM-DD
... end C 1..1 dateTime End time with inclusive boundary, if not ongoing
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ksa-date-1errorPeriod.start, Period.endMust 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])')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Period C 0..* Period Time range defined by start and end date/time
ele-1: All FHIR elements must have a @value or children
per-1: If present, start SHALL have a lower value than end
... start ΣC 1..1 dateTime Starting time with inclusive boundary
ele-1: All FHIR elements must have a @value or children
ksa-date-1: Must provide a complete date YYYY-MM-DD
... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
ele-1: All FHIR elements must have a @value or children
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ksa-date-1errorPeriod.start, Period.endMust 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-1errorPeriodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Period C 0..* Period Time range defined by start and end date/time
per-1: If present, start SHALL have a lower value than end
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... start ΣC 1..1 dateTime Starting time with inclusive boundary
ksa-date-1: Must provide a complete date YYYY-MM-DD

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ksa-date-1errorPeriod.start, Period.endMust 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-1errorPeriodIf 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

Summary

Mandatory: 2 elements

 

Other representations of profile: CSV, Excel, Schematron