pub const FHIR_NAMESPACE: &str = "http://hl7.org/fhir";
pub fn is_extension_field(key: &str) -> bool {
key.starts_with('_')
}
pub fn strip_underscore(key: &str) -> &str {
key.strip_prefix('_').unwrap_or(key)
}
pub fn is_resource_name(name: &str) -> bool {
name.chars()
.next()
.map(|c| c.is_uppercase())
.unwrap_or(false)
}
pub fn is_div_element(name: &str) -> bool {
name == "div"
}
pub fn bool_to_string(b: bool) -> &'static str {
if b { "true" } else { "false" }
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_extension_field() {
assert!(is_extension_field("_birthDate"));
assert!(is_extension_field("_given"));
assert!(!is_extension_field("birthDate"));
assert!(!is_extension_field("given"));
}
#[test]
fn test_strip_underscore() {
assert_eq!(strip_underscore("_birthDate"), "birthDate");
assert_eq!(strip_underscore("_given"), "given");
assert_eq!(strip_underscore("birthDate"), "birthDate");
}
#[test]
fn test_is_resource_name() {
assert!(is_resource_name("Patient"));
assert!(is_resource_name("Observation"));
assert!(is_resource_name("Bundle"));
assert!(!is_resource_name("active"));
assert!(!is_resource_name("birthDate"));
assert!(!is_resource_name(""));
}
#[test]
fn test_is_div_element() {
assert!(is_div_element("div"));
assert!(!is_div_element("Div"));
assert!(!is_div_element("text"));
assert!(!is_div_element("DIV"));
}
#[test]
fn test_bool_to_string() {
assert_eq!(bool_to_string(true), "true");
assert_eq!(bool_to_string(false), "false");
}
}