You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/pages/Conformance.md
+15-6Lines changed: 15 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,8 +85,8 @@ FHIR search modifiers are described at https://www.hl7.org/fhir/R4/search.html#m
85
85
|Reference |`:[type]`,`:missing`|exact match search|
86
86
|URI |`:below`,`:above`,`:missing`|exact match search|
87
87
|Token |`:missing`|exact match search|
88
-
|Number |`:missing`|exact match search|
89
-
|Date |`:missing`|exact match search|
88
+
|Number |`:missing`|implicit range search (see http://hl7.org/fhir/R4/search.html#number)|
89
+
|Date |`:missing`|implicit range search (see https://www.hl7.org/fhir/search.html#date)|
90
90
|Quantity |`:missing`|implicit range search (see http://hl7.org/fhir/R4/search.html#quantity)|
91
91
|Composite |`:missing`|processes each parameter component according to its type|
92
92
|Special (near) | none |searches a bounding area according to the value of the `fhirServer/search/useBoundingRadius` property|
@@ -124,16 +124,25 @@ The `eb` and `ap` prefixes are not supported for searches which target values of
124
124
If not specified on a query string, the default prefix is `eq`.
125
125
126
126
### Searching on Date
127
-
The FHIR server adheres to the specification except in cases where a time is included in the search query value. When a time is specified, the implementation requires an hour, minute, second, and timezone value. Including these values is consistent with the way in which `instant` and `dateTime` data types are defined at https://www.hl7.org/fhir/R4/datatypes.html#primitive. However, the implementation differs from the description at https://www.hl7.org/fhir/R4/search.html#date, which allows clients to include hours and minutes, but to omit values for seconds and time zone.
127
+
The IBM FHIR Server adheres to the specification with two minor exceptions:
128
+
* The server supports search query values with fractional seconds; any search query value given with fractional seconds is treated as precise value, whereas search query values without fractional seconds are handled as an implicit range (e.g. `2000-04-30T23:59:00` becomes the range `[2000-04-30T23:59:00, 2000-04-30T23:59:01)`).
129
+
* Dates and DateTimes (and query parameter values for date search parameters) which are expressed without timezones are handled as UTC values.
130
+
* This differs slightly from the specification which indicates that "Where both search parameters and resource element date times do not have time zones, the servers local time zone should be assumed". However, because both the element values AND search query parameters are handled in the same way, this difference matters only when timezones are specified on one side (resource element or search query parameter) but not the other. For example, a query like `Patient?birthdate=2019-01-01` would match a resource with a value of `2019-01-01`, but would *not* match a resource with a value of `2019-01-01T20:00:00-04:00`.
128
131
129
-
The IBM FHIR Server stores up to 6 fractional seconds (microsecond granularity) for Instant and DateTime values (when present) and allows clients to search with these as well.
132
+
The IBM FHIR Server supports up to 6 fractional seconds (microsecond granularity) for Instant and DateTime values and all extracted parameter values are stored in the database in UTC in order to improve data portability.
130
133
131
-
Query parameter values without fractional seconds will be handled as an implicit range. For example, a search like `Patient?date=2019-01-01T12:00:00Z` would include resources with the following effectiveDateTime values:
134
+
Dates and DateTimes which are expressed without timezones are assumed to be in the local timezone of the application server at the time of parameter extraction.
135
+
Similarly, query parameter date values with no timezone are assumed to be in the local time of the server at the time the search is invoked.
136
+
To ensure consistency of search results, clients are recommended to include the timezone on all search query values that include a time.
137
+
138
+
Finally, the server extends the specified capabilities with support for "exact match" semantics on fractional seconds.
139
+
140
+
Query parameter values without fractional seconds is handled as an implicit range. For example, a search like `Observatoin?date=2019-01-01T12:00:00Z` would return resources with the following effectiveDateTime values:
132
141
* 2019-01-01T12:00:00Z
133
142
* 2019-01-01T12:00:00.1Z
134
143
* 2019-01-01T12:00:00.999999Z
135
144
136
-
Query parameter values with fractional seconds will be handled with exact match semantics (ignoring precision). For example, a search like `Patient?date=2019-01-01T12:00:00.100Z` would include resources with the following effectiveDateTime values:
145
+
Query parameter values with fractional seconds is handled with exact match semantics (ignoring precision). For example, a search like `Patient?birthdate=2019-01-01T12:00:00.1Z` would include resources with the following effectiveDateTime values:
0 commit comments