haste_fhir_generated_ops/
lib.rs

1pub mod generated;
2
3#[cfg(test)]
4mod tests {
5    use haste_fhir_model::r4::generated::{
6        resources::{Parameters, Patient, Resource},
7        types::{CodeableConcept, Coding, FHIRString, FHIRUri},
8    };
9
10    use super::*;
11
12    #[test]
13    fn from_parameter() {
14        let result = generated::ActivityDefinitionApply::Output::try_from(vec![
15            haste_fhir_model::r4::generated::resources::ParametersParameter {
16                name: Box::new(FHIRString {
17                    value: Some("return".to_string()),
18                    ..Default::default()
19                }),
20                resource: Some(Box::new(Resource::Patient(Patient {
21                    ..Default::default()
22                }))),
23                ..Default::default()
24            },
25        ]);
26
27        assert_eq!(result.is_ok(), true);
28    }
29    #[test]
30    fn to_parameter() {
31        let input = generated::ActivityDefinitionApply::Input {
32            activityDefinition: None,
33            subject: vec![],
34            encounter: Some(FHIRString {
35                value: Some("encounter".to_string()),
36                ..Default::default()
37            }),
38            practitioner: Some(FHIRString {
39                value: Some("encounter".to_string()),
40                ..Default::default()
41            }),
42            organization: Some(FHIRString {
43                value: Some("Patient".to_string()),
44                ..Default::default()
45            }),
46            userType: Some(CodeableConcept {
47                coding: Some(vec![Box::new(Coding {
48                    system: Some(Box::new(FHIRUri {
49                        value: Some(
50                            "http://terminology.hl7.org/CodeSystem/encounter-type".to_string(),
51                        ),
52                        ..Default::default()
53                    })),
54                    ..Default::default()
55                })]),
56                ..Default::default()
57            }),
58            userLanguage: None,
59            userTaskContext: None,
60            setting: None,
61            settingContext: None,
62        };
63
64        let param = Parameters {
65            parameter: Some(input.into()),
66            ..Default::default()
67        };
68
69        assert_eq!(param.parameter.as_ref().unwrap().len(), 4);
70    }
71}