///|
pub(all) enum FhirVersion {
R4
R5
} derive(Debug, Eq, ToJson)
///|
pub(all) enum ResourceKind {
Patient
Observation
Medication
MedicationRequest
DiagnosticReport
Encounter
Condition
Procedure
Immunization
AllergyIntolerance
CarePlan
Practitioner
Organization
Location
ServiceRequest
Goal
CareTeam
Device
Specimen
Questionnaire
List
Composition
DocumentReference
Provenance
AuditEvent
Bundle
Other(String)
} derive(Debug, Eq, ToJson)
///|
pub(all) struct Issue {
path : String
code : String
message : String
severity : String
} derive(Debug, Eq, ToJson)
///|
pub(all) struct ValidationReport {
resource_type : String
version : FhirVersion
issues : Array[Issue]
} derive(Debug, Eq, ToJson)
///|
pub(all) struct BundleEntry {
full_url : String?
resource_type : String
id : String?
} derive(Debug, Eq, ToJson)
///|
pub(all) struct PatientSummary {
id : String?
display_name : String?
gender : String?
birth_date : String?
} derive(Debug, Eq, ToJson)
///|
pub(all) struct ObservationSummary {
id : String?
status : String?
code_text : String?
subject : String?
value : String?
issued : String?
} derive(Debug, Eq, ToJson)
///|
pub(all) struct MedicationSummary {
id : String?
code_text : String?
status : String?
form_text : String?
} derive(Debug, Eq, ToJson)
///|
pub(all) struct DiagnosticReportSummary {
id : String?
status : String?
code_text : String?
subject : String?
result_count : Int
} derive(Debug, Eq, ToJson)
///|
pub(all) struct EncounterSummary {
id : String?
status : String?
class_code : String?
subject : String?
} derive(Debug, Eq, ToJson)
///|
pub fn FhirVersion::to_string(self : FhirVersion) -> String {
match self {
R4 => "R4"
R5 => "R5"
}
}
///|
pub fn ResourceKind::to_string(self : ResourceKind) -> String {
match self {
Patient => "Patient"
Observation => "Observation"
Medication => "Medication"
MedicationRequest => "MedicationRequest"
DiagnosticReport => "DiagnosticReport"
Encounter => "Encounter"
Condition => "Condition"
Procedure => "Procedure"
Immunization => "Immunization"
AllergyIntolerance => "AllergyIntolerance"
CarePlan => "CarePlan"
Practitioner => "Practitioner"
Organization => "Organization"
Location => "Location"
ServiceRequest => "ServiceRequest"
Goal => "Goal"
CareTeam => "CareTeam"
Device => "Device"
Specimen => "Specimen"
Questionnaire => "Questionnaire"
List => "List"
Composition => "Composition"
DocumentReference => "DocumentReference"
Provenance => "Provenance"
AuditEvent => "AuditEvent"
Bundle => "Bundle"
Other(name) => name
}
}