1
0
mirror of https://github.com/pcvolkmer/osc-variant.git synced 2025-07-01 16:32:54 +00:00

Merge pull request #30 from CCC-MF/issue_28

Änderung von Menü-Kategorie und Formularfeld-Standardwerten nun möglich
This commit is contained in:
2024-03-18 15:21:58 +01:00
committed by GitHub
7 changed files with 916 additions and 15 deletions

View File

@ -186,6 +186,8 @@ forms:
form_field:
- name: "formularfeld"
hide: true
- name: "otherformfield"
default_value: "T"
form_references:
- name: "ref_first_mtb"
referenced_data_form: "Formularverweis.Variante"
@ -218,6 +220,9 @@ Ein zuvor bestehender Filter wird ersetzt.
Weiterhin wird die Eigenschaft "Speichern" des Formularfelds auf "Immer speichern" gesetzt um sicherzustellen, dass zuvor
enthaltene Daten weiterhin gespeichert bleiben und werden, auch wenn das Formularfeld nicht sichtbar ist.
Der Standardwert des Feldes `otherformfield` ist nun auf `T` gesetzt.
Zum Löschen eines Standardwerts ist `""` anzugeben.
**Achtung!** Diese Anwendung überprüft keine Scripts und verwendet angegebene Scripts als "valid" im resultierenden OSC-File.
Zudem kann die Menükategorie angepasst werden.

View File

@ -28,16 +28,16 @@ use std::collections::HashSet;
use console::style;
use serde::{Deserialize, Serialize};
use crate::checks::{Checkable, CheckNotice};
use crate::checks::CheckNotice::ErrorWithCode;
use crate::checks::{CheckNotice, Checkable};
use crate::model::onkostar_editor::OnkostarEditor;
use crate::model::requirements::{Requirement, Requires};
use crate::model::{
apply_profile_to_form_entry, apply_profile_to_form_field, Ansichten, Comparable, Entries,
Ansichten, apply_profile_to_form_entry, apply_profile_to_form_field, Comparable, Entries,
Filter, FolderContent, FormEntry, FormEntryContainer, Kennzahlen, Listable, MenuCategory,
PlausibilityRules, PunkteKategorien, RefEntries, Script, Sortable,
};
use crate::model::{Haeufigkeiten, Ordner};
use crate::model::onkostar_editor::OnkostarEditor;
use crate::model::requirements::{Requirement, Requires};
use crate::profile::Profile;
#[derive(Serialize, Deserialize, Debug)]
@ -190,7 +190,7 @@ impl FormEntryContainer for DataForm {
apply_profile_to_form_entry(entry, form_reference)
});
// Hide form field using filter set to "false" if requested
// Hide form field using filter set to "false" if requested and change default value
profile_form
.form_fields
.iter()
@ -647,6 +647,10 @@ impl FormEntry for Entry {
});
}
fn update_default_value(&mut self, value: String) {
self.default_value = value
}
fn hide(&mut self) {
self.filter = Some(Filter {
condition: "false".into(),
@ -683,3 +687,112 @@ pub struct DataFormEntries {
#[serde(rename = "EntryName")]
entry_name: Option<Vec<String>>,
}
#[cfg(test)]
mod tests {
use std::str::FromStr;
use crate::model::onkostar_editor::OnkostarEditor;
use crate::profile::Profile;
#[test]
fn should_change_dataform_entry_default_value() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Hauptformular'
form_fields:
- name: Auswahl
default_value: 'B'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].name, "Auswahl");
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].default_value, "");
onkostar_editor.apply_profile(&profile);
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].name, "Auswahl");
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].default_value, "B")
}
#[test]
fn should_not_change_dataform_entry_default_value() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Hauptformular'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].name, "Auswahl");
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].default_value, "");
onkostar_editor.apply_profile(&profile);
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].name, "Auswahl");
assert_eq!(onkostar_editor.editor.data_form[0].entries.entry[2].default_value, "")
}
#[test]
fn should_change_menu_category() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Hauptformular'
menu_category:
name: Testformulare
position: 1.0
column: 1
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
onkostar_editor.apply_profile(&profile);
match &onkostar_editor.editor.data_form[0].menu_category {
Some(menu_category) => assert_eq!(menu_category.name, "Testformulare"),
_ => panic!("Test failed: MenuCategory not found!")
}
}
#[test]
fn should_keep_menu_category() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Hauptformular'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
onkostar_editor.apply_profile(&profile);
match &onkostar_editor.editor.data_form[0].menu_category {
Some(menu_category) => assert_eq!(menu_category.name, "Test"),
_ => panic!("Test failed: MenuCategory not found!")
}
}
}

View File

@ -335,6 +335,12 @@ where
if entry.get_name() == form_field.name && form_field.hide {
entry.hide()
}
if entry.get_name() == form_field.name {
if let Some(new_default_value) = &form_field.default_value {
entry.update_default_value(new_default_value.to_string())
}
}
}
pub trait FormEntryContainer {
@ -379,6 +385,7 @@ pub trait FormEntry {
fn update_anzeige(&mut self, value: String);
fn update_anzeige_auswahl(&mut self, value: String);
fn update_scripts_code(&mut self, value: String);
fn update_default_value(&mut self, value: String);
fn hide(&mut self);
}

View File

@ -45,7 +45,7 @@ pub struct OnkostarEditor {
#[serde(rename = "InfoXML")]
info_xml: InfoXML,
#[serde(rename = "Editor")]
editor: Editor,
pub editor: Editor,
}
impl OnkostarEditor {
@ -506,13 +506,13 @@ pub struct InfoXML {
#[derive(Serialize, Deserialize, Debug)]
#[serde(deny_unknown_fields)]
struct Editor {
pub struct Editor {
#[serde(rename = "PropertyCatalogue", default)]
property_catalogue: Vec<PropertyCatalogue>,
#[serde(rename = "DataCatalogue", default)]
data_catalogue: Vec<DataCatalogue>,
#[serde(rename = "Unterformular", default)]
unterformular: Vec<Unterformular>,
pub unterformular: Vec<Unterformular>,
#[serde(rename = "DataForm", default)]
data_form: Vec<DataForm>,
pub data_form: Vec<DataForm>,
}

View File

@ -25,19 +25,19 @@
use std::cmp::Ordering;
use std::collections::HashSet;
use crate::checks::CheckNotice::ErrorWithCode;
use crate::checks::{CheckNotice, Checkable};
use console::style;
use serde::{Deserialize, Serialize};
use crate::model::onkostar_editor::OnkostarEditor;
use crate::model::requirements::{Requirement, Requires};
use crate::checks::{Checkable, CheckNotice};
use crate::checks::CheckNotice::ErrorWithCode;
use crate::model::{
apply_profile_to_form_entry, apply_profile_to_form_field, Ansichten, Comparable, Entries,
Ansichten, apply_profile_to_form_entry, apply_profile_to_form_field, Comparable, Entries,
Filter, FolderContent, FormEntry, FormEntryContainer, Kennzahlen, Listable, MenuCategory,
PlausibilityRules, PunkteKategorien, RefEntries, Script, Sortable,
};
use crate::model::{Haeufigkeiten, Ordner};
use crate::model::onkostar_editor::OnkostarEditor;
use crate::model::requirements::{Requirement, Requires};
use crate::profile::Profile;
#[derive(Serialize, Deserialize, Debug)]
@ -193,7 +193,7 @@ impl FormEntryContainer for Unterformular {
apply_profile_to_form_entry(entry, form_reference)
});
// Hide form field using filter set to "false" if requested
// Hide form field using filter set to "false" if requested and change default value
profile_form
.form_fields
.iter()
@ -645,6 +645,10 @@ impl FormEntry for Entry {
});
}
fn update_default_value(&mut self, value: String) {
self.default_value = value
}
fn hide(&mut self) {
self.filter = Some(Filter {
condition: "false".into(),
@ -682,3 +686,82 @@ pub struct DataFormEntries {
#[serde(skip_serializing_if = "Option::is_none")]
entry_name: Option<Vec<String>>,
}
#[cfg(test)]
mod tests {
use std::str::FromStr;
use crate::model::onkostar_editor::OnkostarEditor;
use crate::profile::Profile;
#[test]
fn should_change_dataform_entry_default_value() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Unterformular'
form_fields:
- name: Termin
default_value: '2024-03-18'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].name, "Termin");
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].default_value, "");
onkostar_editor.apply_profile(&profile);
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].name, "Termin");
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].default_value, "2024-03-18")
}
#[test]
fn should_not_change_dataform_entry_default_value() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Unterformular'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].name, "Termin");
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].default_value, "");
onkostar_editor.apply_profile(&profile);
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].name, "Termin");
assert_eq!(onkostar_editor.editor.unterformular[0].entries.entry[1].default_value, "")
}
#[test]
fn should_ignore_menu_category_for_subform() {
let onkostar_editor = OnkostarEditor::from_str(include_str!("../../tests/test.osc"));
assert!(onkostar_editor.is_ok());
let mut onkostar_editor = onkostar_editor.unwrap();
let profile = "forms:
- name: 'Unterformular'
";
let profile = Profile::from_str(profile);
assert!(profile.is_ok());
let profile = profile.unwrap();
onkostar_editor.apply_profile(&profile);
assert!(&onkostar_editor.editor.unterformular[0].menu_category.is_none());
}
}

View File

@ -88,6 +88,7 @@ pub struct FormField {
pub name: String,
#[serde(default)]
pub hide: bool,
pub default_value: Option<String>
}
#[derive(Deserialize)]
@ -263,4 +264,24 @@ mod tests {
Err(e) => panic!("Cannot deserialize profile: {}", e),
}
}
#[test]
fn should_deserialize_form_fields_with_default_value() {
let content = "forms:
- name: 'DNPM Therapieplan'
form_fields:
- name: formularfeld_to_keep
default_value: 'X'
";
match Profile::from_str(content) {
Ok(profile) => {
assert_eq!(profile.forms.len(), 1);
assert_eq!(profile.forms[0].name, "DNPM Therapieplan");
assert_eq!(profile.forms[0].form_fields[0].name, "formularfeld_to_keep");
assert_eq!(profile.forms[0].form_fields[0].default_value, Some("X".to_string()));
}
Err(e) => panic!("Cannot deserialize profile: {}", e),
}
}
}

672
tests/test.osc Normal file
View File

@ -0,0 +1,672 @@
<?xml version="1.0" encoding="UTF-8"?>
<OnkostarEditor>
<InfoXML>
<DatumXML>2024-03-18Z</DatumXML>
<Name>OnkoStar</Name>
<Version>2.12.4</Version>
</InfoXML>
<Editor>
<PropertyCatalogue>
<Name>TEST.Property</Name>
<Description>Testproperty</Description>
<Standard>SIMPLE</Standard>
<Readonly>true</Readonly>
<SID>1001</SID>
<GUID>6461ffdd-d708-11e5-b199-0050568f1add</GUID>
<Revision>1</Revision>
<Versions>
<Version>
<VersionNumber>1</VersionNumber>
<ValidFrom>2024-03-18Z</ValidFrom>
<OID>TEST.Property.v1</OID>
<Active>true</Active>
<Description>V1</Description>
<SID>1001</SID>
<GUID>646601a4-d708-11e5-b199-0050568f1add</GUID>
<Revision>1</Revision>
<Entries>
<Entry>
<Code>A</Code>
<ShortDescription>A-Wert</ShortDescription>
<Description>Der A-Wert</Description>
<Note/>
<Position>2.0</Position>
</Entry>
<Entry>
<Code>B</Code>
<ShortDescription>B-Wert</ShortDescription>
<Description>Der B-Wert</Description>
<Note/>
<Position>3.0</Position>
</Entry>
</Entries>
<Categories/>
</Version>
</Versions>
<Ordner>
<Bibliothek>
<Name>ONKOSTAR Bibliothek</Name>
</Bibliothek>
<Name>Test</Name>
<Typ>1</Typ>
<ParentOrdner>
<Bibliothek>
<Name>ONKOSTAR Bibliothek</Name>
</Bibliothek>
<Name>Basis</Name>
<Typ>1</Typ>
</ParentOrdner>
</Ordner>
</PropertyCatalogue>
<DataCatalogue>
<Name>Hauptformulardaten</Name>
<NameExport>Hauptformulardaten</NameExport>
<Category>-3</Category>
<Description>Hauptformulardaten</Description>
<Note/>
<Readonly>false</Readonly>
<BestOf>false</BestOf>
<SID>20119</SID>
<GUID>4d1488e7-c4d6-459a-be1e-330097d815ce</GUID>
<Revision>4</Revision>
<Entries>
<Entry>
<Name>Auswahl</Name>
<NameExport>Auswahl</NameExport>
<Description>Auswahl A oder B</Description>
<Type>shorttext</Type>
<SubTable/>
<ScaleUnit/>
<MaxLength>255</MaxLength>
<DefaultValue/>
<Active>true</Active>
<Readonly>false</Readonly>
<Filterable>false</Filterable>
<MultipleChoice>false</MultipleChoice>
<Position>0.0</Position>
<Note/>
<DateEstimatedAllowed>false</DateEstimatedAllowed>
<DateUnknownAllowed>false</DateUnknownAllowed>
<oeChoiceOptions>0</oeChoiceOptions>
<Fachabteilungsbezug>false</Fachabteilungsbezug>
<Use/>
<SID>20119</SID>
<GUID>ee1e178f-cdb1-4d7f-a415-7b19cc5da21d</GUID>
<Revision>1</Revision>
</Entry>
<Entry>
<Name>Datum</Name>
<NameExport>Datum</NameExport>
<Description>Datum</Description>
<Type>date</Type>
<SubTable/>
<ScaleUnit/>
<MaxLength>0</MaxLength>
<DefaultValue/>
<Active>true</Active>
<Readonly>false</Readonly>
<Filterable>false</Filterable>
<MultipleChoice>false</MultipleChoice>
<Position>0.0</Position>
<Note/>
<DateEstimatedAllowed>false</DateEstimatedAllowed>
<DateUnknownAllowed>false</DateUnknownAllowed>
<oeChoiceOptions>0</oeChoiceOptions>
<Fachabteilungsbezug>false</Fachabteilungsbezug>
<Use/>
<SID>20119</SID>
<GUID>34874112-d651-457b-a554-178a43ed38ed</GUID>
<Revision>1</Revision>
</Entry>
</Entries>
<Ordner>
<Bibliothek>
<Name>Benutzer Bibliothek</Name>
</Bibliothek>
<Name>Test</Name>
<Typ>2</Typ>
</Ordner>
</DataCatalogue>
<DataCatalogue>
<Name>Unterformulardaten</Name>
<NameExport>Unterformulardaten</NameExport>
<Category>-3</Category>
<Description>Unterformulardaten</Description>
<Note/>
<Readonly>false</Readonly>
<BestOf>false</BestOf>
<SID>20119</SID>
<GUID>4d1488e7-c4d6-459a-be1e-330097d815cd</GUID>
<Revision>4</Revision>
<Entries>
<Entry>
<Name>Termin</Name>
<NameExport>Termin</NameExport>
<Description>Termin</Description>
<Type>date</Type>
<SubTable/>
<ScaleUnit/>
<MaxLength>0</MaxLength>
<DefaultValue/>
<Active>true</Active>
<Readonly>false</Readonly>
<Filterable>false</Filterable>
<MultipleChoice>false</MultipleChoice>
<Position>0.0</Position>
<Note/>
<DateEstimatedAllowed>false</DateEstimatedAllowed>
<DateUnknownAllowed>false</DateUnknownAllowed>
<oeChoiceOptions>0</oeChoiceOptions>
<Fachabteilungsbezug>false</Fachabteilungsbezug>
<Use/>
<SID>20119</SID>
<GUID>44874112-e651-457b-a554-178a43ed38ed</GUID>
<Revision>1</Revision>
</Entry>
</Entries>
<Ordner>
<Bibliothek>
<Name>Benutzer Bibliothek</Name>
</Bibliothek>
<Name>Test</Name>
<Typ>2</Typ>
</Ordner>
</DataCatalogue>
<Unterformular>
<DataCatalogues>
<DataCatalogue>Unterformulardaten</DataCatalogue>
</DataCatalogues>
<Category>-3</Category>
<Name>Unterformular</Name>
<Version>1</Version>
<MenuEntry>Unterformular</MenuEntry>
<Title>Unterformulardaten</Title>
<Description>Unterformular</Description>
<Note/>
<Readonly>false</Readonly>
<Active>true</Active>
<TudokPosition>0</TudokPosition>
<Aktenbereich>-1</Aktenbereich>
<BefragungRelevant>false</BefragungRelevant>
<Summary/>
<BigSummary/>
<KalenderSchnipsel/>
<EmailTemplate/>
<ErkrankungText/>
<ErkrankungTextLong/>
<ErkrankungProzedurText/>
<ErkrankungSummary/>
<ErkrankungBigSummary/>
<Kontext>2</Kontext>
<TudokReadonly>false</TudokReadonly>
<VitalstatusRelevant>true</VitalstatusRelevant>
<AutoNummerierung>false</AutoNummerierung>
<Zwischenspeichern>true</Zwischenspeichern>
<Zurueckblaettern>false</Zurueckblaettern>
<Datenbankexport>false</Datenbankexport>
<DatenschutzRelevant>false</DatenschutzRelevant>
<KonferenzRelevant>false</KonferenzRelevant>
<hatUnterformulare>false</hatUnterformulare>
<SID>20119</SID>
<GUID>b6c986ee-9f6e-4052-be71-f5c20efbb7d8</GUID>
<Revision>1</Revision>
<SeitenzahlSichtbar>true</SeitenzahlSichtbar>
<Entries>
<Entry parentId="10290">
<Type>group</Type>
<Name>Feldgruppe1</Name>
<Description>Feldgruppe1</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>true</Printable>
<Position>1.0</Position>
<Note/>
<Beschriftung1/>
<Beschriftung2/>
<WertAnzeigenPatmodul>false</WertAnzeigenPatmodul>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>0</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry/>
<ElementParent/>
<ProcedureDateStatus>none</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>false</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis/>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog/>
<SucheAuswahldialog/>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>0</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>0</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>317f11b6-41be-4d80-abf6-78d7100f2f58</GUID>
<Revision>2</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
<Entry parentRefId="10290">
<Type>datefield</Type>
<Name>Termin</Name>
<Description>Termin</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>true</Printable>
<Position>1.0</Position>
<Note/>
<Beschriftung1/>
<Beschriftung2/>
<WertAnzeigenPatmodul>false</WertAnzeigenPatmodul>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>0</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry>Termin</DataCatalogueEntry>
<DataCatalogueEntryTable>Unterformulardaten</DataCatalogueEntryTable>
<ElementParent>Feldgruppe1</ElementParent>
<ProcedureDateStatus>date</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>false</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis/>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog/>
<SucheAuswahldialog/>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>0</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>0</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>c95c0989-4489-4eb6-916e-000e1bfc8453</GUID>
<Revision>1</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
</Entries>
<PlausibilityRules/>
<Haeufigkeiten/>
<Kennzahlen/>
<Ordner>
<Bibliothek>
<Name>Benutzer Bibliothek</Name>
</Bibliothek>
<Name>DNPM</Name>
<Typ>3</Typ>
</Ordner>
</Unterformular>
<DataForm>
<DataCatalogues>
<DataCatalogue>Hauptformulardaten</DataCatalogue>
</DataCatalogues>
<Category>-3</Category>
<Name>Hauptformular</Name>
<Version>1</Version>
<MenuEntry>Hauptformular</MenuEntry>
<Title>Hauptformular</Title>
<Description>Test Hauptformular</Description>
<Note/>
<Readonly>false</Readonly>
<Active>true</Active>
<TudokPosition>0</TudokPosition>
<Aktenbereich>0</Aktenbereich>
<BefragungRelevant>false</BefragungRelevant>
<Summary>&lt;div style="margin-left:10px"&gt;&amp;#10;&lt;font style="font-weight: bold;color: orange"&gt;Hauptformular&lt;/font&gt; &amp;#10;&lt;p&gt;Datum: {datum}&lt;/p&gt;&amp;#10;&lt;/div&gt;</Summary>
<BigSummary>&lt;div style="margin-left:10px"&gt;&amp;#10;&lt;font style="font-weight: bold;color: orange"&gt;Hauptformular&lt;/font&gt; &amp;#10;&lt;p&gt;Datum: {datum}&lt;/p&gt;&amp;#10;&lt;/div&gt;</BigSummary>
<KalenderSchnipsel/>
<EmailTemplate/>
<ErkrankungText/>
<ErkrankungTextLong/>
<ErkrankungProzedurText/>
<ErkrankungSummary/>
<ErkrankungBigSummary/>
<Kontext>0</Kontext>
<TudokReadonly>false</TudokReadonly>
<VitalstatusRelevant>false</VitalstatusRelevant>
<AutoNummerierung>true</AutoNummerierung>
<Zwischenspeichern>true</Zwischenspeichern>
<Zurueckblaettern>false</Zurueckblaettern>
<Datenbankexport>false</Datenbankexport>
<DatenschutzRelevant>false</DatenschutzRelevant>
<KonferenzRelevant>false</KonferenzRelevant>
<hatUnterformulare>true</hatUnterformulare>
<SID>20119</SID>
<GUID>24dd2b02-a9ed-4bc3-8d6f-e82e037068cd</GUID>
<Revision>166</Revision>
<SeitenzahlSichtbar>true</SeitenzahlSichtbar>
<Entries>
<Entry parentId="10291">
<Type>group</Type>
<Name>Feldgruppe2</Name>
<Description>Feldgruppe2</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>true</Printable>
<Position>1.0</Position>
<Note/>
<Beschriftung1/>
<Beschriftung2/>
<WertAnzeigenPatmodul>false</WertAnzeigenPatmodul>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>0</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry/>
<ElementParent/>
<ProcedureDateStatus>none</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>false</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis/>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog/>
<SucheAuswahldialog/>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>0</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>0</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>317f11b6-41be-4d80-abf6-78d7100f2f58</GUID>
<Revision>2</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
<Entry parentRefId="10399">
<Type>button</Type>
<Name>Button1</Name>
<Description>Testbutton</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>false</Printable>
<Position>10.0</Position>
<Note/>
<Beschriftung1/>
<Beschriftung2/>
<WertAnzeigenPatmodul>false</WertAnzeigenPatmodul>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>0</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry/>
<ElementParent>Feldgruppe2</ElementParent>
<ProcedureDateStatus>none</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>false</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis/>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog/>
<SucheAuswahldialog/>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>-1</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>0</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>8a7627c4-79ff-4d01-a0ae-915dfb9be0be</GUID>
<Revision>4</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
<Entry parentRefId="10395">
<Type>combobox</Type>
<Name>Auswahl</Name>
<Description>Aktueller Wert</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>true</Printable>
<Position>1.0</Position>
<Note/>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>1</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry>Auswahl</DataCatalogueEntry>
<DataCatalogueEntryTable>TEST.Property</DataCatalogueEntryTable>
<ElementParent/>
<ProcedureDateStatus>none</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>mandatory</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis>Wählen Sie hier den Wert aus.</Hinweis>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog>code</AnzeigeAuswahldialog>
<SucheAuswahldialog>code,kurz</SucheAuswahldialog>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>0</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>1</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>9c9cf713-efd9-4089-b615-1519d7701af9</GUID>
<Revision>6</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
<Entry>
<Type>subform</Type>
<Name>Unterformular</Name>
<Description>Unterformular</Description>
<Active>true</Active>
<Readonly>false</Readonly>
<Printable>false</Printable>
<Position>7.5</Position>
<Note/>
<MultipleChoice>false</MultipleChoice>
<DefaultValue/>
<Alignment>0</Alignment>
<Direction>0</Direction>
<DataCatalogueEntry/>
<ElementParent/>
<ProcedureDateStatus>none</ProcedureDateStatus>
<ZuordnungErkrankung>0</ZuordnungErkrankung>
<GrafikAusrichtung>0</GrafikAusrichtung>
<Mandatory>false</Mandatory>
<NotSpecified>false</NotSpecified>
<ReferencedDataForm>Unterformular</ReferencedDataForm>
<ReferencedDataFormField/>
<Anzeige/>
<AnzeigeAuswahl/>
<Speichern>1</Speichern>
<LeerAusblenden>true</LeerAusblenden>
<GeschlossenAnzeigen>false</GeschlossenAnzeigen>
<Min>0</Min>
<Max>0</Max>
<InUebersichtAnzeigen>false</InUebersichtAnzeigen>
<Hinweis/>
<Platzhalter/>
<ShowAuspraegungen>true</ShowAuspraegungen>
<ProzedurdatumUebernehmen>false</ProzedurdatumUebernehmen>
<Vorschlaege>false</Vorschlaege>
<AnzeigeAuswahldialog/>
<SucheAuswahldialog/>
<MindestbreiteLabel>0</MindestbreiteLabel>
<MindestbreiteFeld>0</MindestbreiteFeld>
<OrganisationunitFilter>0</OrganisationunitFilter>
<Aktion>0</Aktion>
<GroesseTextfeld>0</GroesseTextfeld>
<FilterAufheben>false</FilterAufheben>
<Resizable>false</Resizable>
<Verschluesselt>false</Verschluesselt>
<MemoArt>1</MemoArt>
<DateValidFrom>0</DateValidFrom>
<DateValidTo>0</DateValidTo>
<DateValidFuture>true</DateValidFuture>
<Titel/>
<InAuswertung>false</InAuswertung>
<InAuswertungGraph>false</InAuswertungGraph>
<AlignmentPatModul>0</AlignmentPatModul>
<DirectionPatModul>0</DirectionPatModul>
<SeitenumbruchPatModul>true</SeitenumbruchPatModul>
<MarkierungIgnorieren>false</MarkierungIgnorieren>
<SucheArt>0</SucheArt>
<SID>20119</SID>
<GUID>443217be-d7c4-45c0-b9a1-0cc59483ef8d</GUID>
<Revision>3</Revision>
<vorherigeWerte>false</vorherigeWerte>
<EinfuegenVerhindern>false</EinfuegenVerhindern>
</Entry>
</Entries>
<PlausibilityRules/>
<Haeufigkeiten/>
<Kennzahlen/>
<Ordner>
<Bibliothek>
<Name>Benutzer Bibliothek</Name>
</Bibliothek>
<Name>Test</Name>
<Typ>3</Typ>
</Ordner>
<MenuCategory>
<name>Test</name>
<position>3.0</position>
<column>1</column>
</MenuCategory>
</DataForm>
</Editor>
</OnkostarEditor>