1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//! Release-independent core for the FHIR crates.
//!
//! Everything here is the same for R3, R4, and R5: one `Decimal`, one
//! `Validate` trait, one `Coded<E>`, one date/time parser, one XML reader,
//! one REST client generic over [`release::Release`]. The release crates
//! depend on this one and re-export its items under their own paths, so
//! `fhir::r5::validate::Validate` and `fhir::r4::validate::Validate` are the
//! *same* trait and a value from either release satisfies it.
//!
//! That sharing is the point. A `Validate` defined per release would make
//! `impl Validate for T` non-portable across releases, and a `Decimal`
//! generated three times would be three incompatible types for one FHIR
//! primitive.
//!
//! This crate is not intended to be depended on directly; use `fhir`.
// The doc comments here link to release items (`crate::r4::codes`) that live
// in the release crates and are not visible from here. The links are correct
// for readers of the `fhir` facade, where these modules are re-exported, so
// they are kept rather than stripped.
// A data model has no business dereferencing raw pointers (spec R13.14).
// FHIR prose contains bare specification URLs and `value[x]` notation.
/// The FHIR `decimal` primitive, preserving the precision it was given.
/// The [`Validate`](validate::Validate) trait and [`ValidationIssue`](validate::ValidationIssue).
/// The [`Coded<E>`](coded::Coded) wrapper for `required`-binding coded fields.
/// Support for the generated `#[derive(Builder)]` builders.
/// Per-element metadata types, queryable by FHIR path.
/// Parsing and precision-aware comparison for the date/time primitives.
/// `_summary` element filtering.
/// The [`Release`](release::Release) trait each release crate implements.
/// Converting a resource between releases, with an explicit loss report.
/// Shared helpers.
/// XML reading and writing (feature `xml`).
/// An async FHIR REST client, generic over the release (feature `client`).