/* * This file is part of osc-variant * * Copyright (C) 2024 the original author or authors. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ use crate::model::{Ansicht, Filter, FormEntry, Ordner, RefEntries, Script, Sortable}; use serde::{Deserialize, Serialize}; // Ablaufschema ... #[derive(Debug, Deserialize, Serialize)] pub struct Ablaufschema { #[serde(rename = "Name")] pub name: String, #[serde(rename = "Beschreibung")] pub beschreibung: String, #[serde(rename = "AblaufschemaFormulars")] pub ablaufschema_formulars: Vec, #[serde(rename = "AblaufschemaElements")] pub ablaufschema_elements: Vec, #[serde(rename = "Personenstamms")] pub personenstamms: Vec, #[serde(rename = "Ordner")] pub ordner: Ordner, #[serde(rename = "Aktiv")] pub aktiv: bool, #[serde(rename = "ReadOnly")] pub read_only: bool, #[serde(rename = "AusfuehrungIntervall")] pub ausfuehrung_intervall: i32, #[serde(rename = "Uhrzeit")] pub uhrzeit: String, #[serde(rename = "SID")] pub sid: i32, #[serde(rename = "GUID")] pub guid: String, #[serde(rename = "Revision")] pub revision: i32, #[serde(rename = "MeldungID")] pub meldung_id: i32, } #[derive(Debug, Deserialize, Serialize)] pub struct AblaufschemaFormular { #[serde(rename = "DataFormName")] pub data_form_name: String, #[serde(rename = "DataFormSID")] pub data_form_sid: i32, #[serde(rename = "DataFormGUID")] pub data_form_guid: String, #[serde(rename = "Vorbedingung")] pub vorbedingung: String, #[serde(rename = "VorbedingungGueltig")] pub vorbedingung_gueltig: bool, } #[derive(Debug, Deserialize, Serialize)] pub struct AblaufschemaElement { #[serde(rename = "Typ")] pub typ: i32, #[serde(rename = "Beschreibung")] pub beschreibung: String, #[serde(rename = "Name")] pub name: String, #[serde(rename = "Nummer")] pub nummer: i32, #[serde(rename = "Vorbedingung")] pub vorbedingung: String, #[serde(rename = "VorbedingungGueltig")] pub vorbedingung_gueltig: bool, #[serde(rename = "Uebergangsart")] pub uebergangsart: i32, #[serde(rename = "SID")] pub sid: i32, #[serde(rename = "GUID")] pub guid: String, #[serde(rename = "Revision")] pub revision: i32, #[serde(rename = "AktionTyp")] pub aktion_typ: i32, #[serde(rename = "Parameter")] pub parameter: String, #[serde(rename = "Sichtbar")] pub sichtbar: bool, #[serde(rename = "StartElementSID")] pub start_element_sid: i32, #[serde(rename = "StartElementGUID")] pub start_element_guid: String, #[serde(rename = "EndElementSID")] pub end_element_sid: i32, #[serde(rename = "EndElementGUID")] pub end_element_guid: String, } #[derive(Debug, Deserialize, Serialize)] pub struct Akte { #[serde(rename = "Name")] pub name: String, #[serde(rename = "Beschreibung")] pub beschreibung: Option, #[serde(rename = "Ordner")] pub ordner: Ordner, #[serde(rename = "Aktiv")] pub aktiv: bool, #[serde(rename = "Kontext")] pub kontext: Option, #[serde(rename = "SID")] pub sid: Option, #[serde(rename = "GUID")] pub guid: Option, #[serde(rename = "Revision")] pub revision: Option, #[serde(rename = "Modul")] pub modul: Vec, #[serde(rename = "BerechtigungenAktiv")] pub berechtigungen_aktiv: Option, #[serde(rename = "AkteRolle")] pub akte_rolle: Vec, #[serde(rename = "OffeneProzedurenReiterAktiv")] pub offene_prozeduren_reiter_aktiv: Option, } #[derive(Debug, Deserialize, Serialize)] pub struct AkteRolle { #[serde(rename = "Name")] pub name: String, #[serde(rename = "Beschreibung")] pub beschreibung: Option, #[serde(rename = "ModulBerechtigung")] pub modul_berechtigung: Vec, } #[derive(Debug, Deserialize, Serialize)] pub struct RecordLinkage { #[serde(rename = "ID")] pub id: i32, #[serde(rename = "Name")] pub name: String, #[serde(rename = "UntereGrenze")] pub untere_grenze: i32, #[serde(rename = "ObereGrenze")] pub obere_grenze: i32, #[serde(rename = "Verwenden")] pub verwenden: bool, #[serde(rename = "RecordLinkageAbgleichvariablen")] pub record_linkage_abgleichvariablen: Vec, } #[derive(Debug, Deserialize, Serialize)] pub struct RecordLinkageAbgleichvariablen { #[serde(rename = "Abgleichvariable")] pub abgleichvariable: i32, #[serde(rename = "Gewichtung")] pub gewichtung: f64, #[serde(rename = "Verwenden")] pub verwenden: bool, } #[derive(Debug, Deserialize, Serialize)] pub struct Rskript { #[serde(rename = "Name")] pub name: String, #[serde(rename = "Titel")] pub titel: Option, #[serde(rename = "Skript")] pub skript: Option, #[serde(rename = "Bemerkung")] pub bemerkung: String, #[serde(rename = "Felder")] pub felder: Option, #[serde(rename = "Ordner")] pub ordner: Ordner, #[serde(rename = "SID")] pub sid: Option, #[serde(rename = "GUID")] pub guid: Option, #[serde(rename = "Revision")] pub revision: Option, } #[derive(Debug, Deserialize, Serialize)] pub struct SidGuid { #[serde(rename = "Sid")] pub sid: i32, #[serde(rename = "Guid")] pub guid: String, } #[derive(Debug, Deserialize, Serialize)] pub struct Modul { #[serde(rename = "Name")] pub name: String, #[serde(rename = "Beschreibung")] pub beschreibung: Option, #[serde(rename = "MenuEntry")] pub menu_entry: Option, #[serde(rename = "Typ")] pub typ: i32, #[serde(rename = "Position")] pub position: f64, #[serde(rename = "Konfiguration")] pub konfiguration: Option, #[serde(rename = "SID")] pub sid: Option, #[serde(rename = "GUID")] pub guid: Option, #[serde(rename = "Revision")] pub revision: Option, #[serde(rename = "Formular")] pub formular: Vec, #[serde(rename = "Ansicht")] pub ansicht: Option, #[serde(rename = "ElementParentGUID")] pub element_parent_guid: Option, #[serde(rename = "GeoeffnetAnzeigen")] pub geoeffnet_anzeigen: Option, #[serde(rename = "AbAufschliessenAktiv")] pub ab_aufschliessen_aktiv: Option, #[serde(rename = "AnmerkungenAktiv")] pub anmerkungen_aktiv: Option, #[serde(rename = "AufgabenlisteAktiv")] pub aufgabenliste_aktiv: Option, } #[derive(Debug, Deserialize, Serialize)] pub struct ModulBerechtigung { #[serde(rename = "ModulName")] pub modul_name: String, #[serde(rename = "anzeigen")] pub anzeigen: bool, #[serde(rename = "anlegen")] pub anlegen: bool, #[serde(rename = "bearbeiten")] pub bearbeiten: bool, #[serde(rename = "loeschen")] pub loeschen: bool, } #[derive(Debug, Deserialize, Serialize)] pub struct ModulFormular { #[serde(rename = "Name")] pub name: Option, #[serde(rename = "SID")] pub sid: i32, #[serde(rename = "GUID")] pub guid: String, } #[derive(Serialize, Deserialize, Debug)] #[serde(deny_unknown_fields)] pub struct Entry { #[serde(rename = "@parentId")] #[serde(skip_serializing_if = "Option::is_none")] parent_id: Option, #[serde(rename = "@parentRefId")] #[serde(skip_serializing_if = "Option::is_none")] parent_ref_id: Option, #[serde(rename = "Type")] pub type_: String, #[serde(rename = "Name")] pub name: String, #[serde(rename = "Description")] description: String, #[serde(rename = "Active")] active: bool, #[serde(rename = "Readonly")] read_only: bool, #[serde(rename = "Printable")] printable: bool, #[serde(rename = "Position")] position: String, #[serde(rename = "Note")] note: String, #[serde(rename = "Beschriftung1")] #[serde(skip_serializing_if = "Option::is_none")] beschriftung1: Option, #[serde(rename = "Beschriftung2")] #[serde(skip_serializing_if = "Option::is_none")] beschriftung2: Option, #[serde(rename = "WertAnzeigenPatmodul")] #[serde(skip_serializing_if = "Option::is_none")] wert_anzeigen_patmodul: Option, #[serde(rename = "MultipleChoice")] multiple_choice: bool, #[serde(rename = "DefaultValue")] pub default_value: String, #[serde(rename = "Alignment")] alignment: String, #[serde(rename = "Direction")] direction: String, #[serde(rename = "DataCatalogueEntry")] data_catalogue_entry: String, #[serde(rename = "DataCatalogueEntryTable")] #[serde(skip_serializing_if = "Option::is_none")] data_catalogue_entry_table: Option, #[serde(rename = "ElementParent")] element_parent: String, #[serde(rename = "ProcedureDateStatus")] pub procedure_date_status: String, #[serde(rename = "ZuordnungErkrankung")] zuordnung_erkrankung: String, #[serde(rename = "Grafik")] #[serde(skip_serializing_if = "Option::is_none")] grafik: Option, #[serde(rename = "GrafikAusrichtung")] #[serde(skip_serializing_if = "Option::is_none")] grafik_ausrichtung: Option, #[serde(rename = "Mandatory")] mandatory: String, #[serde(rename = "Datenart", default)] #[serde(skip_serializing_if = "Option::is_none")] datenart: Option, #[serde(rename = "Filter")] #[serde(skip_serializing_if = "Option::is_none")] pub filter: Option, #[serde(rename = "NotSpecified")] not_specified: bool, #[serde(rename = "Scripts")] #[serde(skip_serializing_if = "Option::is_none")] pub scripts: Option