1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pub mod serde_context;

use std::fmt;

/// Marker trait for all types representing FHIR resources.
pub trait AnyResource {
    fn fhir_release() -> FhirRelease;
}

#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub enum FhirRelease {
    R4,
    R4B,
}

impl fmt::Display for FhirRelease {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        match self {
            FhirRelease::R4 => write!(f, "R4"),
            FhirRelease::R4B => write!(f, "R4B"),
        }
    }
}