Konflikte gelöst

This commit is contained in:
2024-01-15 11:34:45 +01:00
287 changed files with 34279 additions and 2067 deletions

38
.gitignore vendored
View File

@@ -1,3 +1,5 @@
.cr
.editorconfig
/BeWoOhneReports.v12.suo
/BeWo/bin
/BeWo/obj
@@ -594,33 +596,6 @@ obj
/UnitTestProject472/obj
/UnitTestProject45/bin
/UnitTestProject45/obj
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/00b5f0d5941249ee88d7a8d45b9fb7e7/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/00b5f0d5941249ee88d7a8d45b9fb7e7/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3a26bfe04f544c888c3c22c21e050bd9/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3a26bfe04f544c888c3c22c21e050bd9/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/5e1a7ed7594f4cb8847da1a45cb5673f/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/5e1a7ed7594f4cb8847da1a45cb5673f/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/6f24f6f284934376a0bb9523810927a8/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/6f24f6f284934376a0bb9523810927a8/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/8aff2dde24b04e33ab392c5ca1ee9cdd/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/8aff2dde24b04e33ab392c5ca1ee9cdd/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/52df7b78120346188343ca5e9e5f1fa5/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/52df7b78120346188343ca5e9e5f1fa5/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/72d7034f45aa46498b7c2dbf08bab4f5/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/72d7034f45aa46498b7c2dbf08bab4f5/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/101e4887e6284256a484b71c9791c62a/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/101e4887e6284256a484b71c9791c62a/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/278d0ec2bca24727ba0be74fce4ab7a9/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/278d0ec2bca24727ba0be74fce4ab7a9/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/35014e6626e447e19072ffe87f3fef60/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/35014e6626e447e19072ffe87f3fef60/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3049467ad6044509a9b73ae6a7cecd20/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/3049467ad6044509a9b73ae6a7cecd20/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/ccb2b088065a484aa0eb9f62d2f9cf27/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/ccb2b088065a484aa0eb9f62d2f9cf27/virtualDocument.prnx
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/e7eac8d4d5db47a799420bfb0d6fbc2f/BuildResultDetails.json
/BeWoPlanerMobil/App_Data/WebDocumentViewerCache/e7eac8d4d5db47a799420bfb0d6fbc2f/virtualDocument.prnx
/BeWoPlanerMobil/demo/temp
/BeWoPlanerMobil/node_modules/.bin/escodegen
/BeWoPlanerMobil/node_modules/.bin/escodegen.cmd
/BeWoPlanerMobil/node_modules/.bin/escodegen.ps1
@@ -636,10 +611,6 @@ obj
/BeWoPlanerMobil/node_modules/.bin/pegjs
/BeWoPlanerMobil/node_modules/.bin/pegjs.cmd
/BeWoPlanerMobil/node_modules/.bin/pegjs.ps1
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug
/ReportImp/AWOMuensterlandRecklinghausen/Calculations
/ReportImp/BehindertNaUnd/CustomDataExporter.cs
/ReportImp/BehindertNaUnd/DatevExporter.cs
/BeWoPlanerMobilAllReports.sln
/ReportImp/Lazy/CustomMitarbeiterstundenkontoBerechnung.cs
/ReportImp/Lazy/Lazy.csproj
@@ -648,6 +619,7 @@ obj
/ReportImp/Lazy/Mitarbeiterstundenkonto.resx
/ReportImp/Lazy/Properties/AssemblyInfo.cs
/ReportImp/Lazy/Properties/licenses.licx
/TestReportCustomization/Class1.cs
/TestReportCustomization/TestReportCustomization.csproj
/CustomerDlls
/Dakota/bin
/Dakota/obj
/BeWoDatabaseTerminator/BeWoDatabaseTerminator/bin/Debug

View File

@@ -43,12 +43,12 @@
<TargetCulture>de-DE</TargetCulture>
<ProductName>BeWoPlaner</ProductName>
<PublisherName>ownSoft GmbH</PublisherName>
<MinimumRequiredVersion>2.0.1.230</MinimumRequiredVersion>
<MinimumRequiredVersion>2.0.1.231</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<TrustUrlParameters>true</TrustUrlParameters>
<ApplicationRevision>231</ApplicationRevision>
<ApplicationRevision>232</ApplicationRevision>
<ApplicationVersion>2.0.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
@@ -317,6 +317,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\DebugMessageLogView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1064,6 +1068,9 @@
<Compile Include="View\Controls\ValueListEntryEditControl.xaml.cs">
<DependentUpon>ValueListEntryEditControl.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml.cs">
<DependentUpon>DigitalInvoiceOverview.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\DebugMessageLogView.xaml.cs">
<DependentUpon>DebugMessageLogView.xaml</DependentUpon>
</Compile>

View File

@@ -5564,6 +5564,458 @@ namespace BeWo.ServiceProxy
"iceRecordBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool CheckForConfirmationReceiptSignatureForServiceRecord(long serviceRecordOid, BS.Shared.SignatureType signatureType);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetDakotaFileFormat", ReplyAction="http://tempuri.org/IOperationsService/GetDakotaFileFormatResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetDakotaFileFormatBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Nullable<long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.View.Navigation.Filter.CustomerFilterEnum))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFault))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFaultType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<long>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, BS.Shared.ValueListEntryType>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<byte[]>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, long>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.Nullable<long>, decimal>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AbsenceReasonVisibilityType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ActivationTypeId))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Sex))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SubstitutionNeed))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ValueListEntryType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AppointmentDayOfWeek))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SystemEntryID))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ContactType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FamilyStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostRatePeriodType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.PersonType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ControlType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TokenTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SupportConceptApprovalInterval))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Bewilligungsart))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingIntervalType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AccountingvisibilityType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ScopeTypeId))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.CostBearer2SupportConceptStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SettingsType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.UserRightType>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UserRightType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ZeiterfassungsDauer))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceUnit))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordFormate))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordTypeId))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.GroupTypeId))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactCustomerDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactEmployeeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactVertreterEmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactVertreterEmployeeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactOrganisationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactTokenDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactCustomerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactTeamDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactPersonDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactSupportConceptDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactCostBearerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactCostBearerDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactSupportConceptDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ArbeitszeitDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AbsenceTimeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AbsenceReasonDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ArbeitszeitEintragDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ArbeitszeitEintragDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AddressRouteDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ArbeitszeitDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VertreterSucheFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeTokenRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PersonDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ValueListEntryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ContactDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ContactDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Organisation2PersonDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Organisation2PersonDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CostRatePeriodDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CostRatePeriodDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VarFieldDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VarFieldDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ContractDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ContractDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmploymentTypeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.OvertimeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AuszahlungsartDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerEmployeeRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerEmployeeRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UrlaubskontoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ChatBewoMessageSyncDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TeamDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TeamDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptCostBearerRelDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptCostBearerRelDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptApprovalPeriodDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptApprovalPeriodDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BudgetDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceCategoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptApprovalPeriodEmployeeRelDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptApprovalPeriodEmployeeRelDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UserDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ResetPasswordInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ResetPasswordInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SettingsDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SettingsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.UserGroupDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UserGroupDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RatingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RatingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GoalRatingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GoalRatingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RatingTypeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceDescriptionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceAccountingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceAccountingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GeschenkterUrlaubstagDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AbwesenheitsInformationPrintDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AbwesenheitsInformationPrintDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.UrlaubskontoDarstellungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UrlaubskontoDarstellungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AbwesenheitsInformationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AbsenceOverviewFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UrlaubsplanerRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AbwesenheitsInformationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FeiertagDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FeiertagDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetCategoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AssessmentSheetCategoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetValueDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AssessmentSheetValueDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetEntryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AssessmentSheetEntryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.NewsItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.NewsItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GroupOfPeopleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeAPPCodeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeAPPCodeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerPersonRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerPersonRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.QuittierungsbelegsstatusDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.QuittierungsbelegsstatusDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerCostBearerRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerCostBearerRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerOrganisationRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerOrganisationRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.MedikamentenverordnungslisteDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MedikamentenverordnungslisteDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.MedikamentenverordnungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MedikamentenverordnungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DarreichungsformDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DepotRhythmusDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MedArtDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PlacementDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PlacementDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTeamRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerTeamRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PersonDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.OrganisationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.OrganisationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.OrganisationPersonRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.OrganisationPersonRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AppointmentDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppointmentDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AppointmentCategoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.MedArtDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DarreichungsformDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DepotRhythmusDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.WohnheimbuchungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimbuchungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Wohnheimbuchung2Costbearer2SupportConceptRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Wohnheimbuchung2Costbearer2SupportConceptRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.WohnheimbuchungEmployeeRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimbuchungEmployeeRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.MedRecordDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MedRecordDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ChatMessageDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerAPPCodeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerAPPCodeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTokenRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerTokenRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TimeSheetStatusItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TimeSheetStatusItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.MailDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MailDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FileAttachmentDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FileAttachmentDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.QuittierungsCheckViewListItemsDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.QuittierungsCheckViewListItemsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.QuittierungsCheckDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceReasonDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.WohnheimCustomerRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimCustomerRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.WohnheimEmployeeRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimEmployeeRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AppointmentCategoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactPersonDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactOrganisationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactWohnheimDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactWohnheimDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.QBFilterEnum))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Behinderungsart>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Behinderungsart))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Merkzeichen>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Merkzeichen))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Pflegegrad))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FileAttachmentType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.TableID))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Priority))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Status))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<object>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, System.Collections.Generic.List<long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UserValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportPinDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportPinDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactUserDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Compact.CompactUserDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(byte[]))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BeWoFolderDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BeWoFolderDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ValueListEntryType>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RssFeed))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RssItem>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RssItem))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.QueryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.QueryParamDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.QueryParamDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.QueryParameterType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Core.DateTimeSpan))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.List<string>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ResourceBookingFrequencyType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ParticipationAnswer))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BookingSequenceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BookingSequenceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ResourceBookingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ResourceBookingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ResourceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ResourceAppointmentDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ResourceAppointmentDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SchedulerAppointmentDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Employee2SchedulerAppointmentDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Employee2SchedulerAppointmentDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.SignatureType, System.Collections.Generic.List<long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.Dictionary<int, long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, long>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, BS.Shared.DataContracts.DienstInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, BS.Shared.DataContracts.Compact.CompactCustomerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, System.Collections.Generic.List<BS.Shared.DataContracts.AccountingTransactionDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ConfirmationReceiptSignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ConfirmationReceiptSignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VorlagentabelleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VorlagentabelleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DokumentvorlageDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DokumentvorlageDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PlatzhalterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RegelmaessigerDienstDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstplanerRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstEintragDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstEintragDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstvertretungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstvertretungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstBlockDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstBlockDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstZeileDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstZeileDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BesetzungsstatusDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BesetzungsstatusDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstplanerMonthlySummaryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstplanerMonthlySummaryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RatingTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordValidationResultDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TokenDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VertretungsListeMitarbeiterItemsDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VertretungsListeMitarbeiterItemsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VertretungsKlientAccountingsListeItemsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AccountingTransactionDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AccountingTransactionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TextbausteinDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TextbausteinDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SbdConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PreisDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PreisDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceDescriptionDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportResultDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FlexibleReportDummyDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportDummyDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FlexibleReportEntryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportEntryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FlexibleReportLayoutDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportLayoutDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.HomeViewPanelDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.HomeViewPanelDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ReportTemplateDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTemplateDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTypes))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceBookingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceBookingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceRegionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceNoticeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptStatisticsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptPeriodStatisticsDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptPeriodStatisticsDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordValidationResultDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceRegionDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.LicenseInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GroupDurationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BeWoMobilBrowserInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.UiElementDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UiElementDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TextModuleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldkassenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BargeldkassenDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BargeldtransaktionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.NotizenKategorieDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.NotizenKategorieDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.NotizenEintragDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.NotizenEintragDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VertretungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VertretungsItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.VertretungsItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VertretungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Settlement2DC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Settlement2DC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceCategoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConcetInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConcetInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MandatorDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordGroupDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptTreeNodeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptTreeNodeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.NodeType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptTreeNodeDetailInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataReportDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisDataGroupDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataGroupDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisDataDetailDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataDetailDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordFLSOverviewDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordFLSOverviewDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordStatisticsInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordPeriodStatisticsInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordPeriodStatisticsInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordHistoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordHistoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisEmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisEmployeeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisSupportConceptDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisSupportConceptDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AccountingReportRowDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AccountingReportRowDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AccountingAnalysisDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AccountingAnalysisDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisRootDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisGroupDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisGroupDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptFLSOverviewDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptFLSOverviewDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.LoginDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.LoginDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FinanceOverviewItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FinanceOverviewItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConceptOverviewDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConceptOverviewDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TaskDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TaskDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AnnualReportDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AnnualReportDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AnnualReportDataDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AnnualReportDataDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.FLSReportType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceBaseDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceBaseDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceInvoiceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoiceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceInvoicePeriodDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceInvoicePeriodDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceNumberDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.MemoryStream))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.Stream))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.DateTime>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactEmployeeDC, decimal>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.MarshalByRefObject))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.QueryType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.QueryDC>))]
string GetDakotaFileFormat(object param);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
"aginated", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsWithStartEndDateP" +
"aginatedResponse")]
@@ -7072,6 +7524,11 @@ namespace BeWo.ServiceProxy
return base.Channel.CheckForConfirmationReceiptSignatureForServiceRecord(serviceRecordOid, signatureType);
}
public string GetDakotaFileFormat(object param)
{
return base.Channel.GetDakotaFileFormat(param);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsWithStartEndDatePaginated(out int rowCount, long pEmployeeOid, System.DateTime start, System.DateTime ende, int firstResult, int maxResults)
{
return base.Channel.GetEmployeesServiceRecordsWithStartEndDatePaginated(out rowCount, pEmployeeOid, start, ende, firstResult, maxResults);

View File

@@ -0,0 +1,94 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.DigitalInvoiceOverview"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:r="clr-namespace:BeWo.Security"
VerticalAlignment="Stretch" Focusable="True"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="Rechnungsübersicht" Style="{DynamicResource ObjectEditGroupBox}">
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<localView:YearMonthFilter Margin="3 0 0 0" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="0" x:Name="yearMonthFilter" FilterSpanChanged="YearMonthFilter_FilterSpanChanged" />
<Button x:Name="button_reload" Grid.Column="1" Content="Aktualisieren" Margin="0,0,0,8" Click="ReloadButton_OnClick" Height="24" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="80" />
<dxg:GridControl Margin="3" Grid.ColumnSpan="2" Grid.Row="1" DataSource="{Binding VMList}" x:Name="datagrid_invoices" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" MinWidth="20" Width="22" FieldName="ReportLink" Header=" ">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<Button Margin="1" ToolTip="Codierung erzeugen" x:Name="btn_report" Height="20" Width="20" VerticalAlignment="Center">
<TextBlock Padding="0">
<Hyperlink TextDecorations="None" TargetName="_NewWindow" NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" RequestNavigate="Hyperlink_OnRequestNavigate">
<TextBlock Padding="0" Text="¥" Foreground="#FFFFFF" FontSize="15" FontFamily="Webdings" Height="17" Width="16" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Hyperlink>
</TextBlock>
</Button>
</StackPanel>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TypeString" Header="Art der Rechnung" Width="150" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="CustomerName" Header="{markup:Translate Klient/in}" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AccountingPeriodString" Header="Zeitraum" Width="100" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceNumber" Header="Nummer" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="InvoiceDate" Header="Datum" EditSettings="{dxe:DateSettings DisplayFormat=d}" MinWidth="70" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="RecipientString" Header="{markup:Translate EmpfängerSingular}" />
<!--<dxg:GridColumn FieldName="AccountingPeriodString" Header="Abrechnungszeitraum" />-->
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TotalAmount" Header="Betrag" MinWidth="70">
<!--<dxg:GridColumn.CellStyle>
<Style TargetType="dxg:LightweightCellEditor">
<Setter Property="TextBlock.FontWeight" Value="Bold"/>
</Style>
</dxg:GridColumn.CellStyle>-->
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Notice" Header="Bemerkung" MinWidth="200" >
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" Loaded="gridView_Loaded" x:Name="gridView" BestFitMode="Smart" AllowBestFit="True" ShowGroupPanel="False" ScrollingMode="Smart" SnapsToDevicePixels="True" Margin="3,22,3,3" />
</dxg:GridControl.View>
</dxg:GridControl>
<Grid Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5,2,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<WrapPanel>
<Label FontSize="14" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0" Content="{Binding FilterResultAmountSum, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}Summe aller Rechnungen: {0:c}'}" />
<Label FontSize="14" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 0 0" Content=" | " />
<Label FontSize="14" x:Name="lblAmoutNotPaid" Foreground="{StaticResource GridPrintMenuLightBrush}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 0 0" Content="{Binding FilterResultAmountNotPaidSum, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}Summe der noch offenen Rechnungen: {0:c}'}" />
</WrapPanel>
</Grid>
<TextBox x:Name="Output" Grid.Row="1" Grid.Column="2" Text="Test123\nn" IsReadOnly="True" AcceptsReturn="True" />
</Grid>
</GroupBox>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
namespace BeWo.View.Detail.Accounting
{
public partial class DigitalInvoiceOverview : BeWoView
{
private readonly EquityInvoiceItemEditView _EquityInvoiceItemEditView;
private readonly GeneralInvoiceItemEditView _GeneralInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView _SettlementInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView2 _SettlementInvoiceItemEditView2;
private readonly ServiceInvoiceItemEditView _ServiceInvoiceItemEditView;
private InvoiceBaseListVM _Viewmodel;
public DigitalInvoiceOverview()
{
this.InitializeComponent();
this.ViewModel = new InvoiceBaseListVM(null);
RefreshInvoiceList();
}
private void RefreshInvoiceList()
{
DateTime? start = null;
DateTime? end = null;
if (ViewModel.DateTimeSpanFilter != null)
{
start = ViewModel.DateTimeSpanFilter.StartDate;
end = ViewModel.DateTimeSpanFilter.EndDate;
}
else
{
start = new DateTime(2023, 1, 1);
end = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
}
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases(start, end), UpdateInvoiceList);
}
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
ViewModel.UpdateList(dcList.Where(x => true).ToList());
this.gridView.BestFitColumns();
});
}
private InvoiceBaseListVM ViewModel
{
get
{
return this._Viewmodel;
}
set
{
this.DataContext = value;
this._Viewmodel = value;
}
}
private void RefreshItemInList(InvoiceBaseDC cb)
{
this.Dispatch(
delegate
{
var old = this.ViewModel.VMList.Single(i => i.DataContract.InvoiceBaseOid.Equals(cb.InvoiceBaseOid));
var lNew = new InvoiceBaseVM(cb);
this.ViewModel.VMList.Remove(old);
this.ViewModel.VMList.Add(lNew);
this.datagrid_invoices.RefreshData();
this.gridView.FocusedRow = lNew;
});
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
{
var ed = (CheckEdit)e.Editor;
ed.Tag = e.Row;
}
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var uri = ((Hyperlink)sender).NavigateUri;
string dcid = HttpUtility.ParseQueryString(uri.Query).Get("ibid");
var schaarf = ServiceFacade.DoOperationsServiceSync(x => x.GetDakotaFileFormat(dcid));
Output.Text = schaarf;
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshInvoiceList();
}
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
{
this.ViewModel.DateTimeSpanFilter = e.Data;
RefreshInvoiceList();
}
}
}

View File

@@ -379,15 +379,13 @@
<Label Grid.Column="2" Grid.Row="2" Content="{markup:Translate Kinder}" />
<Label Grid.Column="2" Grid.Row="3" Content="{markup:Translate Eigenbeteiligung}" />
<Label Grid.Column="2" Grid.Row="4" Content="{markup:Translate Krankenkasse}" />
<Label Grid.Column="2" Grid.Row="5" Content="{markup:Translate Versicherungsnummer}" />
<Label x:Name="lblArchiviert" Grid.Column="2" Grid.Row="6" Content="Archiviert" />
<Label Grid.Column="2" Grid.Row="5" Content="{markup:Translate Versichertennummer}" />
<Label Grid.Column="2" Grid.Row="6" Content="{markup:Translate Versichertenstatus}" />
<Label x:Name="lblArchiviert" Grid.Column="2" Grid.Row="7" Content="Archiviert" />
<Label Grid.Column="0" Grid.Row="4" Content="Geschlecht" />
<Grid Grid.Column="1" Grid.Row="4" Margin="3" Height="23">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -474,7 +472,9 @@
Text="{Binding Path=HealthInsurance, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="3" Grid.Row="5" Margin="3" Height="23"
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}" />
<CheckBox x:Name="chkArchiviert" Grid.Column="3" Grid.Row="6" Margin="3,5,3,1" Height="23"
<TextBox Grid.Column="3" Grid.Row="6" Margin="3" Height="23"
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}" />
<CheckBox x:Name="chkArchiviert" Grid.Column="3" Grid.Row="7" Margin="3,5,3,1" Height="23"
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Margin="3" Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="9"
Text="{Binding Path=Notice, UpdateSourceTrigger=PropertyChanged}" Height="100"
@@ -687,10 +687,10 @@
</StackPanel>
</GroupBox.Header>
<Grid>
<dxg:GridControl MouseDoubleClick="grid_possibleDiagnosis_MouseDoubleClick" Name="grid_possibleDiagnosis" >
<dxg:GridControl.Columns>
<dxg:GridControl MouseDoubleClick="grid_possibleDiagnosis_MouseDoubleClick" Name="grid_possibleDiagnosis">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Key" FixedWidth="True" Width="70" AllowResizing="True"
AutoFilterCondition="Contains" Header="ICD 10" />
AutoFilterCondition="Contains" Header="ICD 10" />
<dxg:GridColumn FieldName="Value" AutoFilterCondition="Contains" Header="Beschreibung">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings TextWrapping="Wrap" />
@@ -899,7 +899,7 @@
</ScrollViewer>
</GroupBox>
</TabItem>
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewBetreuung" Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewBetreuung" Header="Betreuung" Selector.Selected="TabItemEmployees_Selected">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid x:Name="grid_emplyeeRel">
<Grid.RowDefinitions>
@@ -1024,8 +1024,8 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
@@ -1120,7 +1120,7 @@
</Grid>
</ScrollViewer>
</TabItem>
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewAbsenceTimes" Header="Abwesenheiten">
<TabItem r:DemandUserRight.VisibleDemands="Customer_ViewAbsenceTimes" Header="Abwesenheiten">
<Grid>
<detail:AbsenceTimesView x:Name="AbsenceTimesView" AbsenceTimes="{Binding ViewModel.AbsenceTimes, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, ElementName=CustomerBeWoView}" />
</Grid>

View File

@@ -9,8 +9,9 @@
VerticalAlignment="Stretch" Focusable="True">
<Grid x:Name="root">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -20,9 +21,14 @@
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
<ColumnDefinition Width="*" MaxWidth="420" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Name</Label>
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
<GroupBox Margin="3 20 3 3" Grid.Row="1" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">IK Nummer (Leistungserbringer)</Label>
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}" />
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -45,7 +51,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<Grid x:Name="EinstellungenGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -88,7 +94,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -133,7 +139,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="5" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -176,7 +182,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="5" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="6" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -86,6 +86,7 @@
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MaxWidth="300" />
<ColumnDefinition Width="*" MaxWidth="300" />
<ColumnDefinition Width="*" MaxWidth="300" />
<ColumnDefinition Width="*" />
@@ -222,7 +223,31 @@
Text="{Binding Path=ContactPerson, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</GroupBox>
<Grid Grid.ColumnSpan="3" Grid.Row="2">
<GroupBox Grid.Column="3" Grid.Row="1" Header="Dakota"
Style="{StaticResource ObjectEditGroupBox}" Margin="8,8,0,0"
>
<Grid HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
<ColumnDefinition Width="*" MaxWidth="200" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">IK Krankenkasse</Label>
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">IK Kostentrager</Label>
<Label Grid.Column="0" Grid.Row="2" Margin="3" VerticalAlignment="Center">IK Datenannahmestelle</Label>
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23"
Text="{Binding Path=IKKrankenkasse, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23"
Text="{Binding Path=IKKostentrager, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="1" Grid.Row="2" Margin="3" Height="23"
Text="{Binding Path=IKDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</GroupBox>
<Grid Grid.ColumnSpan="4" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />

View File

@@ -49,14 +49,14 @@
<Label Content="Erläuterung" Grid.Row="1" Grid.Column="0" />
<Label Content="Datum" Grid.Row="2" Grid.Column="0" />
<dxe:SpinEdit x:Name="addLeaveDays_anzahlTage" Grid.Column="1" Grid.Row="0" Height="23" Margin="3" MaskType="Numeric" Mask="########0.00" MinValue="0.5" MaxValue="30" Value="1.00" Increment="0.5" />
<dxe:SpinEdit x:Name="addLeaveDays_anzahlTage" Grid.Column="1" Grid.Row="0" Height="23" Margin="3" MaskType="Numeric" Mask="########0.00" MinValue="-100" MaxValue="100" Value="1.00" Increment="0.5" />
<TextBox x:Name="addLeaveDays_erlaeuterung" Grid.Column="1" Grid.Row="1" Height="23" Margin="3" />
<dxe:DateEdit x:Name="addLeaveDays_datum" Grid.Column="1" Grid.Row="2" Height="23" Margin="3" MaskType="DateTime" Mask="dd.MM.yyyy" />
<Label x:Name="addLeaveDays_datumswarnung" Content="Datum muss gesetzt werden!" Grid.Column="1" Grid.Row="3" Margin="0 0 3 3" Foreground="Red" />
<StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Right" Margin="0 10 0 0">
<Button Margin="5,0,0,3" Name="addLeaveDays_button_addLeaveDay" Click="button_addLeaveDay_Click" Style="{DynamicResource {x:Type Button}}" Content="Hinzufügen" />
<Button Name="addLeaveDays_button_cancel" Click="button_cancel_Click" Style="{DynamicResource {x:Type Button}}" Content="Abbrechen" />
<Button Margin="5,0,0,3" Name="addLeaveDays_button_cancel" Click="button_cancel_Click" Style="{DynamicResource {x:Type Button}}" Content="Abbrechen" />
</StackPanel>
</Grid>
</GroupBox>

View File

@@ -40,6 +40,7 @@
Selector.Selected="tabitem_collectiveinvoice_Selected" />
<TabItem Header="Allgemeine Rechnungen" Name="tabitem_otherinvoice" Selector.Selected="tabitem_otherinvoice_Selected" />
<TabItem Header="Rechnungsübersicht" Name="tabitem_overviewinvoice" Selector.Selected="tabitem_overviewinvoice_Selected" />
<TabItem Header="Digitale Abrechnung" Name="tabitem_digitaloverviewinvoice" Selector.Selected="tabitem_digitaloverviewinvoice_Selected" />
<TabItem Header="Bargeldverwaltung" Name="tabitem_bargeldverwaltung" Selector.Selected="tabitem_bargeldverwaltung_Selected"/>
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
</TabControl>

View File

@@ -233,6 +233,16 @@ namespace BeWo.View.Master
}
}
private void tabitem_digitaloverviewinvoice_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_digitaloverviewinvoice) || _SavePerformed)
{
AddView(tabitem_digitaloverviewinvoice, new DigitalInvoiceOverview());
//VMFactory.CreateInvoiceOverviewListVM(cb => this.Dispatch(delegate { this.AddView(this.tabitem_overviewinvoice, new InvoiceOverview(cb)); }));
}
}
//Dokument Selection
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
{

View File

@@ -218,8 +218,8 @@ namespace BeWo.ViewModel
private String _Betreuungsbedarf;
private String _BemerkungenSbd;
private String _HealthInsurance;
private String _InsuranceNumber
;
private String _InsuranceNumber;
private string _VersichertenStatus;
private ActivationTypeId _ActivationType;
private ArbeitszeitListVM _Arbeitszeiten;
@@ -237,6 +237,7 @@ namespace BeWo.ViewModel
private SubstitutionNeed _SubstitutionNeed;
public CustomerVM(CustomerDC pDataContract, IEnumerable<ValueListEntryDC> pValueList, List<AssessmentSheetCategoryDC> pPossibleASCs, List<AssessmentSheetValueDC> pPossibleASVs, List<MedArtDC> pPossibleMedArten) : base(pDataContract, pDataContract.CustomerOid == null)
{
var possibleDisabilities = pValueList.Where(vle => vle.Type == ValueListEntryType.DisabilityType);
@@ -963,6 +964,21 @@ namespace BeWo.ViewModel
}
}
public string VersichertenStatus
{
get { return _VersichertenStatus; }
set
{
if (AreDifferent(_VersichertenStatus, value))
{
_VersichertenStatus = value;
StoreDirtyInformation(AreDifferent(DataContract.VersichertenStatus, value), nameof(VersichertenStatus));
FirePropertyChanged(nameof(VersichertenStatus));
}
}
}
public string Environment
{
get { return _Environment; }
@@ -1942,9 +1958,9 @@ namespace BeWo.ViewModel
_BemerkungenSbd = pDataContract.BemerkungenSbd;
_HealthInsurance = pDataContract.HealthInsurance;
_InsuranceNumber = pDataContract.InsuranceNumber;
_Hygienebelehrung = pDataContract.Hygienebelehrung;
_Migrationshintergrund = pDataContract.Migrationshintergrund;
_VersichertenStatus = pDataContract.VersichertenStatus;
_Hygienebelehrung = pDataContract.Hygienebelehrung;
_Migrationshintergrund = pDataContract.Migrationshintergrund;
_AufenthaltGueltigBis = pDataContract.AufenthaltGueltigBis;
if (pDataContract.Images != null && pDataContract.Images.Count > 0)
@@ -2124,7 +2140,7 @@ namespace BeWo.ViewModel
pDataContract.BemerkungenSbd = _BemerkungenSbd;
pDataContract.HealthInsurance = _HealthInsurance;
pDataContract.InsuranceNumber = _InsuranceNumber;
pDataContract.VersichertenStatus = _VersichertenStatus;
pDataContract.Hygienebelehrung = _Hygienebelehrung;
pDataContract.Migrationshintergrund = _Migrationshintergrund;
pDataContract.SubstitutionNeed = _SubstitutionNeed;

View File

@@ -39,6 +39,8 @@ namespace BeWo.ViewModel
public static string PropertyName_ZeiterfassungsSchwellwert = "ZeiterfassungsSchwellwert";
public static string PropertyName_IKLeistungserbringer = "";
private long _BeWoClientType;
private string _ClientId;
@@ -71,6 +73,8 @@ namespace BeWo.ViewModel
private string _Apikey;
private string _IKLeistungserbringer;
public MandatorVM(IList<InvoiceNumberVM> invoiceNumberList, MandatorDC pDC) : base(pDC, true)
{
_InvoiceNumberList = new BindingList<InvoiceNumberVM>(invoiceNumberList);
@@ -451,6 +455,21 @@ namespace BeWo.ViewModel
}
}
public string IKLeistungserbringer
{
get { return this._IKLeistungserbringer; }
set
{
if (this.AreDifferent(this._IKLeistungserbringer, value))
{
this._IKLeistungserbringer = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKLeistungserbringer, value), nameof(IKLeistungserbringer));
this.FirePropertyChanged(nameof(IKLeistungserbringer));
}
}
}
protected override void InitByDataContract(MandatorDC pDataContract)
{
this._Name = pDataContract.Name;
@@ -463,6 +482,7 @@ namespace BeWo.ViewModel
this._Street = pDataContract.Street;
this._Settings = pDataContract.Settings;
this._Apikey = pDataContract.Apikey;
this._IKLeistungserbringer = pDataContract.IKLeistungserbringer;
if (_Settings == null)
{
@@ -516,6 +536,7 @@ namespace BeWo.ViewModel
pDataContract.Street = this._Street;
pDataContract.Settings = this._Settings;
pDataContract.Apikey = this._Apikey;
pDataContract.IKLeistungserbringer = this._IKLeistungserbringer;
return pDataContract;
}

View File

@@ -155,6 +155,13 @@ namespace BeWo.ViewModel
private FeiertagListVM _Feiertage;
private string _IKKrankenkasse;
private string _IKKostentrager;
private string _IKDatenannahmestelle;
public OrganisationVM(OrganisationDC pDataContract, List<ValueListEntryDC> pAllQualifications, List<ValueListEntryDC> pPossibleFunctions, List<ValueListEntryDC> pPossibleRoleInOrganisations)
: base(pDataContract, pDataContract.OrganisationOid == null)
{
@@ -755,7 +762,50 @@ namespace BeWo.ViewModel
}
}
public string IKKrankenkasse
{
get { return this._IKKrankenkasse; }
set
{
if (this.AreDifferent(this._IKKrankenkasse, value))
{
this._IKKrankenkasse = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKKrankenkasse, value), nameof(IKKrankenkasse));
this.FirePropertyChanged(nameof(IKKrankenkasse));
}
}
}
public string IKKostentrager
{
get { return this._IKKostentrager; }
set
{
if (this.AreDifferent(this._IKKostentrager, value))
{
this._IKKostentrager = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKKostentrager, value), nameof(IKKostentrager));
this.FirePropertyChanged(nameof(IKKostentrager));
}
}
}
public string IKDatenannahmestelle
{
get { return this._IKDatenannahmestelle; }
set
{
if (this.AreDifferent(this._IKDatenannahmestelle, value))
{
this._IKDatenannahmestelle = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKDatenannahmestelle, value), nameof(IKDatenannahmestelle));
this.FirePropertyChanged(nameof(IKDatenannahmestelle));
}
}
}
protected void CommitContact(string pValue, ContactType pContactType)
{
@@ -818,6 +868,9 @@ namespace BeWo.ViewModel
this._IsSingleInvoicePerCustomer = pDataContract.IsSingleInvoicePerCustomer;
this._DebitorNumber = pDataContract.DebitorNumber;
this._IsArchived = pDataContract.ActivationType == ActivationTypeId.Archived;
this._IKKrankenkasse = pDataContract.IKKrankenkasse;
this._IKKostentrager = pDataContract.IKKostentrager;
this._IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
_Function = pDataContract.Function;
@@ -921,6 +974,9 @@ namespace BeWo.ViewModel
pDataContract.DebitorNumber = this._DebitorNumber;
pDataContract.ActivationType = this._IsArchived ? ActivationTypeId.Archived : ActivationTypeId.Active;
pDataContract.Function = this._Function;
pDataContract.IKDatenannahmestelle = this._IKDatenannahmestelle;
pDataContract.IKKostentrager = this._IKKostentrager;
pDataContract.IKKrankenkasse = this._IKKrankenkasse;
this.CommitContact(this._Phone, ContactType.business_Phone);
this.CommitContact(this._Website, ContactType.business_Homepage);

View File

@@ -822,6 +822,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasverbandKelheim", "Re
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSM", "ReportImp\PSM\PSM.csproj", "{3D34C4A1-C566-43F8-AA58-467B3FF17A51}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -10073,6 +10075,30 @@ Global
{3D34C4A1-C566-43F8-AA58-467B3FF17A51}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3D34C4A1-C566-43F8-AA58-467B3FF17A51}.Release|x86.ActiveCfg = Release|Any CPU
{3D34C4A1-C566-43F8-AA58-467B3FF17A51}.Release|x86.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|x86.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|x86.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|x86.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -10482,6 +10508,7 @@ Global
{326BEC08-0B97-43B0-8288-D17E424B6A58} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{489A02AC-7809-4CD9-BE36-365ADA472692} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{3D34C4A1-C566-43F8-AA58-467B3FF17A51} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{47331732-DD96-4075-869F-83AA9F3F9937} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2009
# Visual Studio Version 16
VisualStudioVersion = 16.0.33927.289
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
EndProject
@@ -29,6 +29,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingService", "ReportS
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatController", "..\Chat\ChatController\ChatController.csproj", "{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B6039E62-D43E-477A-BE82-EADB1057A3A2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -139,6 +143,18 @@ Global
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Any CPU.Build.0 = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|.NET.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|.NET.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1622
# Visual Studio Version 16
VisualStudioVersion = 16.0.31729.503
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoPlanerMobil", "BeWoPlanerMobil\BeWoPlanerMobil.csproj", "{284B02ED-114A-426C-9162-31BB6CF05589}"
EndProject
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Report", "Report\Report.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingService", "ReportService\ReportingService.csproj", "{663EFCB5-9E3E-4C76-97EE-3188E072634C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -58,6 +60,12 @@ Global
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{663EFCB5-9E3E-4C76-97EE-3188E072634C}.Release|Any CPU.Build.0 = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -5126,7 +5126,7 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<UseIIS>False</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>

147
Dakota/Dakota.csproj Normal file
View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{47331732-DD96-4075-869F-83AA9F3F9937}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Dakota</RootNamespace>
<AssemblyName>Dakota</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DakotaConfig.cs" />
<Compile Include="Logic\DakotaManager.cs" />
<Compile Include="Logic\DakotaUtils.cs" />
<Compile Include="Models\Auftragsdatei\Auftragsdatei.cs" />
<Compile Include="Models\Auftragsdatei\AuftragssatzPart2.cs" />
<Compile Include="Models\Auftragsdatei\AuftragssatzPart3.cs" />
<Compile Include="Models\Auftragsdatei\AuftragssatzPart4.cs" />
<Compile Include="Models\DakotaEnums.cs" />
<Compile Include="DakotaExtensions.cs" />
<Compile Include="Models\DakotaFile.cs" />
<Compile Include="Logic\DakotaFileCreator.cs" />
<Compile Include="DakotaValidator.cs" />
<Compile Include="Models\Auftragsdatei\AuftragssatzPart1.cs" />
<Compile Include="Models\Blocke\Block.cs" />
<Compile Include="Models\Blocke\BlockAbrechnungsposition.cs" />
<Compile Include="Models\Blocke\BlockDiagnose.cs" />
<Compile Include="Models\Daten\DatenelementAuftragsdatei.cs" />
<Compile Include="Models\Daten\DatenelementDateTime.cs" />
<Compile Include="Models\Daten\DatenelementDecimal.cs" />
<Compile Include="Models\Infos\InfoBlockKostentrager.cs" />
<Compile Include="Models\Infos\InfoBlockKrankenkasse.cs" />
<Compile Include="Logic\DakotaInfoCreator.cs" />
<Compile Include="Models\Daten\DatenelementFiller.cs" />
<Compile Include="Models\Infos\InfoDateiAuftrags.cs" />
<Compile Include="Models\Infos\InfoDateiNutzdaten.cs" />
<Compile Include="Models\Blocke\BlockKlient.cs" />
<Compile Include="Models\Blocke\BlockKostenträger.cs" />
<Compile Include="Models\Blocke\BlockKrankenkasse.cs" />
<Compile Include="Models\Infos\InfoAbrechnungsfall.cs" />
<Compile Include="Models\Infos\InfoAbrechnungsposition.cs" />
<Compile Include="Models\Infos\InfoBlockDiagnosen.cs" />
<Compile Include="Models\Infos\InfoNachricht.cs" />
<Compile Include="Models\Infos\InfoNachrichtSLLA.cs" />
<Compile Include="Models\Infos\InfoNachrichtSLGA.cs" />
<Compile Include="Models\Daten\Dateneinheit.cs" />
<Compile Include="Models\Daten\Datenelement.cs" />
<Compile Include="Models\Daten\DatenelementCounter.cs" />
<Compile Include="Models\Daten\Datenelementgruppe.cs" />
<Compile Include="Models\Infos\InfoParameterInvoiceItem.cs" />
<Compile Include="Models\IRowable.cs" />
<Compile Include="Models\Nachrichten\Nachricht.cs" />
<Compile Include="Models\Nachrichten\NachrichtSLGA.cs" />
<Compile Include="Models\Nachrichten\NachrichtSLLA.cs" />
<Compile Include="Models\Schlüssels\Schlüssel.cs" />
<Compile Include="Models\Schlüssels\SchlüsselAbrechnungscode.cs" />
<Compile Include="Models\Schlüssels\SchlüsselArtDerGenehmigung.cs" />
<Compile Include="Models\Schlüssels\SchlüsselBVG.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosVergütungsart.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosBehandlungsart.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPosArtDerEinrichtung.cs" />
<Compile Include="Models\Schlüssels\SchlüsselPos.cs" />
<Compile Include="Models\Schlüssels\SchlüsselLeistungserbringerSammelgruppenschlussel.cs" />
<Compile Include="Models\Schlüssels\SchlüsselBeleginformation.cs" />
<Compile Include="Models\Schlüssels\SchlüsselRechnungsart.cs" />
<Compile Include="Models\Schlüssels\SchlüsselSummenstatus.cs" />
<Compile Include="Models\Schlüssels\SchlüsselTarifkennzeichen.cs" />
<Compile Include="Models\Schlüssels\SchlüsselTarifkennzeichenSondertarif.cs" />
<Compile Include="Models\Schlüssels\SchlüsselTarifkennzeichenBereich.cs" />
<Compile Include="Models\Schlüssels\SchlüsselTestindikator.cs" />
<Compile Include="Models\Schlüssels\SchlüsselUnfall.cs" />
<Compile Include="Models\Schlüssels\SchlüsselVerarbeitungskennzeichen.cs" />
<Compile Include="Models\Schlüssels\SchlüsselVerordnungsbesonderheiten.cs" />
<Compile Include="Models\Schlüssels\SchlüsselZuzahlung.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLABES.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLADIA.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAMWS.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAENF.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLASKZ.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLASUT.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLATXT.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAZUV.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAZUZ.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Models\Segmente\Segment.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGAFKT.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGAGES.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGANAM.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGAREC.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGASKO.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAFKT.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAINV.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLANAD.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAREC.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAURI.cs" />
<Compile Include="Models\Segmente\SLLA\SegmentSLLAIMG.cs" />
<Compile Include="Models\Segmente\SegmentUNB.cs" />
<Compile Include="Models\Segmente\SegmentUNH.cs" />
<Compile Include="Models\Segmente\SegmentUNT.cs" />
<Compile Include="Models\Segmente\SegmentUNZ.cs" />
<Compile Include="Models\Segmente\SLGA\SegmentSLGAUST.cs" />
<Compile Include="Models\Blocke\BlockFile.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Data\Data.csproj">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

38
Dakota/DakotaConfig.cs Normal file
View File

@@ -0,0 +1,38 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota
{
public static class DakotaConfig
{
public static string IKAbsender => "109500969";
public static string TrennzeichenInnerhalb => ":";
public static string Trennzeichen => "+";
public static string Aufhebungszeichen => "?";
public static string Segmentendezeichen => "'";
public static string NewLine => "\n";
public static List<string> SpecialCollection => new List<string> { TrennzeichenInnerhalb, Trennzeichen, Aufhebungszeichen, Segmentendezeichen };
public static string Absenderklassifikation => "SL";
public static string Dateiidentifizierer => "S";
public static string GetLogischerDateiname(int _month) => $"{Absenderklassifikation}{IKAbsender.Substring(2, 6)}{Dateiidentifizierer}{_month}";
public static SchlüsselAbrechnungscodes Abrechnungscode => SchlüsselAbrechnungscodes.SoziotherapeutischerLeistungserbringer;
public static SchlüsselTarifkennzeichenBereich TarifkennzeichenBereich => SchlüsselTarifkennzeichenBereich.Bundeseinheitlich;
public static SchlüsselTarifkennzeichenSondertarif TarifkennzeichenSondertarif => SchlüsselTarifkennzeichenSondertarif.OhneBesonderheiten;
public static SchlüsselPosArtDerEinrichtung AbrechnungspositionArtDerEinrichtung => SchlüsselPosArtDerEinrichtung.SoziotherapeutischerLeistungserbringer;
public static SchlüsselPosBehandlungsart AbrechnungspositionBehandlungsart => SchlüsselPosBehandlungsart.Einzelbehandlung;
public static SchlüsselPosVergütungsart AbrechnungspositionVergütungsart => SchlüsselPosVergütungsart.Pauschale1;
public static string PhysikalischerDateiname => "idkidkid.txt";
}
}

View File

@@ -0,0 +1,54 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota
{
public static class DakotaExtensions
{
public static bool IsSozioTherapie(this ServiceInvoiceDC serviceDC)
=> IsSozioTherapie(serviceDC?.InvoiceBase);
public static bool IsSozioTherapie(this InvoiceBaseDC invoiceBase)
{
try
{
if (invoiceBase.InvoiceTitle?.ToLower().Contains("soziotherapie") ?? false)
return true;
if (invoiceBase.InvoiceId?.ToLower().Contains("soziotherapie") ?? false)
return true;
}
catch(Exception e)
{
}
return false;
}
public static bool IsSozioTherapie(this InvoiceBase invoiceBase)
{
try
{
if (invoiceBase.InvoiceTitle?.ToLower().Contains("soziotherapie") ?? false)
return true;
if (invoiceBase.InvoiceId?.ToLower().Contains("soziotherapie") ?? false)
return true;
}
catch (Exception e)
{
}
return false;
}
}
}

19
Dakota/DakotaValidator.cs Normal file
View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota
{
public static class DakotaValidator
{
public static void ClearTextString(string input)
{
foreach (var specialChar in DakotaConfig.SpecialCollection)
{
input = input.Replace(specialChar, DakotaConfig.Aufhebungszeichen + specialChar);
}
}
}
}

View File

@@ -0,0 +1,51 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using Dakota;
using Dakota.Models;
using Dakota.Models.Infos;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Logic
{
public static class DakotaFileCreator
{
public static DakotaFile CreateDakotaFilePair(List<InvoiceItemDC> invoiceitems)
{
var created = DateTime.Now;
DakotaInfoCreator.Reset();
// Hole InfoDateiAuftrag + Nutz
//var info_nutzdaten = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(para2);
//var info_auftrags = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(para2);
return null;
}
//public static DakotaFile GenerateDakotaFile(List<DakotaInfoCreator.InfoCreatorParameter> paras, DakotaInfoCreator.InfoCreatorParameterFix para2)
//{
// DakotaInfoCreator.Reset();
// var info_nutzdaten = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(para2);
// var info_auftrags = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(para2);
// foreach (var para in paras)
// {
// info_nutzdaten.AddDakotaInfoFile(para, para2);
// }
// var dakota = new DakotaFile();
// dakota.Nutzdatendatei.Apply(info_nutzdaten);
// dakota.Auftragsdatei.Apply(info_auftrags);
// return dakota;
//}
}
}

View File

@@ -0,0 +1,277 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using Dakota.Models.Infos;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Logic
{
public static class DakotaInfoCreator
{
public static int NachrichtenRefenrenz { get; set; }
static DakotaInfoCreator()
{
Reset();
}
internal static void Reset()
{
NachrichtenRefenrenz = 0;
}
internal static int GetNextRefNumber()
{
return ++NachrichtenRefenrenz;
}
//internal static InfoFile GetDakotaInfoFile(InfoCreatorParameter para)
//{
// var info = new InfoFile();
// info.SyntaxKennung = "UNOC";
// info.SyntaxVersion = "3";
// info.Absenderbezeichnung = para.Absender;
// info.Empfangerbezeichnung = para.Empfang;
// info.Created = DateTime.Now;
// info.Datenaustauschreferenz = 1;
// info.Leistungsbereich = SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer;
// info.Anwendungsreferenz = "testdateiaa";
// info.Testindikator = SchlüsselTestindikator.Testdatei;
// info.BlockKostentragers.Add(GetDakotaInfoBlockKostentrager(para));
// return info;
//}
internal static InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(string absender, string empfang, string logischerDateiname)
{
var info = new InfoDateiNutzdaten();
info.SyntaxKennung = "UNOC";
info.SyntaxVersion = "3";
info.Absenderbezeichnung = absender;
info.Empfangerbezeichnung = empfang;
info.Datenaustauschreferenz = 1;
info.Leistungsbereich = SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer;
info.Anwendungsreferenz = logischerDateiname;
info.Testindikator = SchlüsselTestindikator.Testdatei;
return info;
}
internal static InfoDateiAuftrags GetEmptyInfoAuftragsdatei(string empfang)
{
var info = new InfoDateiAuftrags();
info.Identifikator = 500000;
info.Version = 1;
info.LangeAuftrag = 348;
info.SequenzNummer = 000;
info.VerfahrenKennung = "TSOL0";
info.TransferNummer = 000;
info.VerfahrenKennungSpezifikation = "SGB1K";
info.AbsenderEigner = DakotaConfig.IKAbsender;
info.AbsenderPhysikalisch = DakotaConfig.IKAbsender;
info.EmpfangerNutzer = empfang;
info.EmpfangerPhysikalisch = empfang;
info.FehlerNummer = 0;
info.FehlerMassnahme = 0;
info.Dateiname = "aok31052023";
info.DatumUbertragungEmpfangenStart = "00000000000000";
info.DatumUbertragungEmpfangenEnde = "00000000000000";
info.DateiVersion = 0;
info.Korrektur = 0;
// info.DateigrosseNutzdaten = 0;
// info.DateigrosseUbertragung = 0;
info.Zeichensatz = "l1";
info.Komprimierung = 0;
info.Verschlusselungsart = 0;
info.ElektronischeUnterschrift = 0;
info.Satzformat = " ";
info.Satzlange = 0;
info.Blocklange = 0;
// Part 3 nicht vom Absender
info.EMailAdresseAbsender = "rene.evertz@ownsoft.de";
return info;
}
internal static void AddInfoParameter(this InfoDateiNutzdaten file, InfoParameterInvoiceItem infoParameter)
{
var blockkostentrager = file.GetDakotaInfoBlockKostentrager(infoParameter);
var blockkvkarte = blockkostentrager.GetDakotaInfoBlockKvKarte(infoParameter);
var abrechnungsfall = blockkvkarte.GetDakotaInfoAbrechnungsfall(infoParameter);
var abrechnungsposition = abrechnungsfall.GetDakotaInfoAbrechnungsposition(infoParameter);
abrechnungsfall.InfosAbrechnungsposition.Add(abrechnungsposition);
}
internal static InfoBlockKostentrager GetDakotaInfoBlockKostentrager(this InfoDateiNutzdaten file, InfoParameterInvoiceItem infoParameter)
{
var ikkostentrager = infoParameter.IKKostentrager;
var block = file.BlockKostentragers.FirstOrDefault(x => x.IKKostentrager == ikkostentrager);
if (block is null)
{
block = new InfoBlockKostentrager(ikkostentrager)
{
DakotaInfoSLGA = CreateDakotaInfoNachricht(true),
DakotaInfoNachrichtSLGA = CreateDakotaInfoNachrichtSLGA(infoParameter)
};
file.BlockKostentragers.Add(block);
}
return block;
}
internal static InfoBlockKrankenkasse GetDakotaInfoBlockKvKarte(this InfoBlockKostentrager blockkostentrager, InfoParameterInvoiceItem infoParameter)
{
var ikkrankenkasse = infoParameter.IKKrankenkasse;
var block = blockkostentrager.BlockKvKarte.FirstOrDefault(x => x.IKKrankenkasse == ikkrankenkasse);
if (block is null)
{
block = new InfoBlockKrankenkasse(ikkrankenkasse)
{
DakotaInfoSLGA = CreateDakotaInfoNachricht(true),
DakotaInfoNachrichtSLGA = CreateDakotaInfoNachrichtSLGA(infoParameter),
DakotaInfoSLLA = CreateDakotaInfoNachricht(false),
DakotaInfoNachrichtSLLA = CreateDakotaInfoNachrichtSLLA(infoParameter)
};
blockkostentrager.BlockKvKarte.Add(block);
}
return block;
}
internal static InfoAbrechnungsfall GetDakotaInfoAbrechnungsfall(this InfoBlockKrankenkasse block, InfoParameterInvoiceItem infoParameter)
{
var belegnummer = infoParameter.Belegnummer;
var fall = block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.FirstOrDefault(x => x.Belegnummer == belegnummer);
if(fall is null)
{
fall = CreateDakotaInfoAbrechnungsfall(infoParameter);
block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.Add(fall);
}
return fall;
}
internal static InfoAbrechnungsposition GetDakotaInfoAbrechnungsposition(this InfoAbrechnungsfall fall, InfoParameterInvoiceItem infoParameter)
{
var pos = CreateDakotaInfoAbrechnungsposition(infoParameter);
return pos;
}
// -----------------------------------------------------------------------------------------------------------------------------------
private static InfoNachricht CreateDakotaInfoNachricht(bool isSLGA)
{
var info = new InfoNachricht();
var typ = isSLGA ? "SLGA" : "SLLA";
info.Nachrichtenreferenznummer = GetNextRefNumber();
info.NachrichtenTypKennung = typ;
info.NachrichtenVersionsnummer = "18";
info.NachrichtenFreigabeNrTages = "0";
info.NachrichtenVerwaltendeOrganisation = "0";
return info;
}
private static InfoNachrichtSLGA CreateDakotaInfoNachrichtSLGA(InfoParameterInvoiceItem infoParameter)
{
var info = new InfoNachrichtSLGA();
info.Verarbeitungskennzeichen = SchlüsselVerarbeitungskennzeichen.AbrechnungOhneBesonderheit;
info.IKAbsender = DakotaConfig.IKAbsender;
info.IKKostentrager = infoParameter.IKKostentrager;
info.IKKrankenkasse = infoParameter.IKKrankenkasse;
info.IKLeistungserbringer = infoParameter.IKLeistungserbringer;
info.Rechnungsnummer = infoParameter.InvoiceBase.InvoiceNumber;
info.Rechnungsdatum = infoParameter.InvoiceBase.InvoiceDate.Value;
info.Rechnungsart = SchlüsselRechnungsart.AbrechnungÜberAbrechnungsstelleOhnInkassovollmacht;
info.Name1 = infoParameter.Mandator.Name;
info.Name2 = "Max Mustermann";
info.Name3 = "0177 0123456789";
info.Name4 = "max@mustermann.de";
return info;
}
private static InfoNachrichtSLLA CreateDakotaInfoNachrichtSLLA(InfoParameterInvoiceItem infoParameter)
{
var info = new InfoNachrichtSLLA();
info.Verarbeitungskennzeichen = SchlüsselVerarbeitungskennzeichen.AbrechnungOhneBesonderheit;
info.IKAbsender = DakotaConfig.IKAbsender;
info.IKKostentrager = infoParameter.IKKostentrager;
info.IKKrankenkasse = infoParameter.IKKrankenkasse;
info.IKLeistungserbringer = infoParameter.IKLeistungserbringer;
info.Rechnungsnummer = infoParameter.InvoiceBase.InvoiceNumber;
info.Rechnungsdatum = infoParameter.InvoiceBase.InvoiceDate.Value;
info.Rechnungsart = SchlüsselRechnungsart.AbrechnungVonLeistungserbringer;
info.Abrechnungsfalle = new List<InfoAbrechnungsfall>();
return info;
}
private static InfoAbrechnungsfall CreateDakotaInfoAbrechnungsfall(InfoParameterInvoiceItem infoParameter)
{
var info = new InfoAbrechnungsfall();
info.VersichtertenNummer = infoParameter.Customer.InsuranceNumber;
info.Versichertenstatus = infoParameter.Customer.VersichertenStatus;
info.Beleginformation = SchlüsselBeleginformation.KeineBeleguebermittlung;
info.Belegnummer = infoParameter.Belegnummer;
info.VersichtertenVorname = infoParameter.Customer.FirstName;
info.VersichtertenNachname = infoParameter.Customer.LastName;
info.VersichtertenGeburtstag = infoParameter.Customer.DateOfBirth.Value;
info.VersichtertenStraßeNr = infoParameter.Customer.Street;
info.VersichtertenPLZ = infoParameter.Customer.PostalCode;
info.VersichtertenWohnort = infoParameter.Customer.Town;
info.VersichtertenLanderkennung = null;
return info;
}
private static InfoAbrechnungsposition CreateDakotaInfoAbrechnungsposition(InfoParameterInvoiceItem infoParameter)
{
var info = new InfoAbrechnungsposition();
// info.Identifikationsnummer = para.SozioInvoiceItem.Identifikationsnummer;
info.Abrechnungscode = DakotaConfig.Abrechnungscode;
info.TarifkennzeichenBereich = DakotaConfig.TarifkennzeichenBereich;
info.TarifkennzeichenSondertarif = DakotaConfig.TarifkennzeichenSondertarif;
info.AbrechnungspositionArtDerEinrichtung = DakotaConfig.AbrechnungspositionArtDerEinrichtung;
info.AbrechnungspositionBehandlungsart = DakotaConfig.AbrechnungspositionBehandlungsart;
info.AbrechnungspositionVergütungsart = DakotaConfig.AbrechnungspositionVergütungsart;
info.AnzahlMenge = infoParameter.InvoiceItem.UnitCount.Value;
info.EinzelbetragAbrechnungsposition = infoParameter.InvoiceItem.AmountPerUnit.Value;
info.DatumDerLeistungserbringung = infoParameter.InvoiceItem.ItemPeriodStart.Value;
info.BetragZuzahlung = 0;
return info;
}
private static InfoBlockDiagnosen CreateDakotaInfoDiagnosen()
{
var info = new InfoBlockDiagnosen();
return info;
}
}
}

View File

@@ -0,0 +1,105 @@
using BS.Shared.DataContracts;
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Logic
{
public class DakotaManager
{
public int Month { get; set; }
public Dictionary<string, DakotaFile> DakotaFileDict { get; set; }
public Dictionary<string, InfoDateiNutzdaten> DakotaInfoNutzDict { get; set; }
public Dictionary<string, InfoDateiAuftrags> DakotaInfoAufDict { get; set; }
public DakotaManager(int _month)
{
Month = _month;
DakotaFileDict = new Dictionary<string, DakotaFile>();
DakotaInfoNutzDict = new Dictionary<string, InfoDateiNutzdaten>();
DakotaInfoAufDict = new Dictionary<string, InfoDateiAuftrags>();
}
public void Add(InfoParameterInvoiceItem info) => Add(info.ServiceInvoice, info.Organisation, info.Customer, info.Mandator);
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator)
{
var ik_datenannahmestelle = organisation.IKDatenannahmestelle;
var success = DakotaInfoNutzDict.TryGetValue(ik_datenannahmestelle, out InfoDateiNutzdaten nutzdaten);
if (!success)
{
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, DakotaConfig.GetLogischerDateiname(Month));
var info_auf_add = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(organisation.IKDatenannahmestelle);
DakotaInfoNutzDict.Add(ik_datenannahmestelle, info_nutz_add);
DakotaInfoAufDict.Add(ik_datenannahmestelle, info_auf_add);
nutzdaten = info_nutz_add;
}
foreach (var peroid in serviceInvoice.ServiceInvoicePeriods)
{
foreach (var invoice in peroid.InvoiceItems)
{
var info_nutz_item = new InfoParameterInvoiceItem(serviceInvoice, invoice, organisation, customer, mandator);
nutzdaten.AddInfoParameter(info_nutz_item);
}
}
}
public void Apply()
{
foreach (var ik_datenannahmestelle in DakotaInfoNutzDict.Keys)
{
var file = new DakotaFile();
var info_nutz = DakotaInfoNutzDict[ik_datenannahmestelle];
var info_auf = DakotaInfoAufDict[ik_datenannahmestelle];
file.Nutzdatendatei.Apply(info_nutz);
file.Auftragsdatei.Apply(info_auf);
DakotaFileDict.Add(ik_datenannahmestelle, file);
}
}
public void Save()
{
foreach (var ik_datenannahmestelle in DakotaFileDict.Keys)
{
var code = DakotaFileDict[ik_datenannahmestelle];
var empfang = code.GetIKEmpfang();
var transferdateiname = code.GetTransferName();
var path = @"C:\Projects\out";
var pathauf = @"C:\Projects\out.auf";
var path2 = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}";
var path2auf = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}.auf";
var path3 = $@"C:\dakotale\TP5Daten\{empfang}";
var auftragsdatei = code.GetAuftragsdatei();
var nutzdatendatei = code.GetNutzdatendatei();
var auftragsdatei2 = Encoding.GetEncoding("ISO-8859-1").GetBytes(auftragsdatei);
Directory.CreateDirectory(path3);
File.WriteAllText(path2, nutzdatendatei);
File.WriteAllBytes(path2auf, auftragsdatei2);
File.WriteAllText(path, nutzdatendatei);
File.WriteAllBytes(pathauf, auftragsdatei2);
}
}
}
}

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Logic
{
public static class DakotaUtils
{
public static string FillFromLeft(string input, int length, char filler)
{
if (input.Length > length)
return input;
if (input.Length == length)
return input;
// inp.len < len
// <=> 0 < len - inp.len
var sb = new StringBuilder();
for (int i = 0; i < length - input.Length; i++)
{
sb.Append(filler);
}
sb.Append(input);
return sb.ToString();
}
public static string FillFromRight(string input, int length, char filler)
{
if (input.Length > length)
return input;
if (input.Length == length)
return input;
// inp.len < len
// <=> 0 < len - inp.len
var sb = new StringBuilder();
sb.Append(input);
for (int i = 0; i < length - input.Length; i++)
{
sb.Append(filler);
}
return sb.ToString();
}
}
}

View File

@@ -0,0 +1,42 @@
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
internal class Auftragsdatei : IRow
{
public DakotaFile Parent { get; set; }
public AuftragssatzPart1 AuftragssatzPart1 { get; private set; }
public AuftragssatzPart2 AuftragssatzPart2 { get; private set; }
public AuftragssatzPart3 AuftragssatzPart3 { get; private set; }
public AuftragssatzPart4 AuftragssatzPart4 { get; private set; }
public Auftragsdatei(DakotaFile parent)
{
Parent = parent;
AuftragssatzPart1 = new AuftragssatzPart1(this);
AuftragssatzPart2 = new AuftragssatzPart2();
AuftragssatzPart3 = new AuftragssatzPart3();
AuftragssatzPart4 = new AuftragssatzPart4();
}
public string GetRows()
{
return AuftragssatzPart1.GetRows() + AuftragssatzPart2.GetRows() + AuftragssatzPart3.GetRows() + AuftragssatzPart4.GetRows();
}
public void Apply(InfoDateiAuftrags info)
{
AuftragssatzPart1.Apply(info);
AuftragssatzPart2.Apply(info);
AuftragssatzPart3.Apply(info);
AuftragssatzPart4.Apply(info);
}
}
}

View File

@@ -0,0 +1,142 @@
using Dakota.Models.Daten;
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
internal class AuftragssatzPart1 : IRow
{
public Auftragsdatei ParentAuftragsdatei { get; set; }
public DatenelementAuftragsdatei Identifikator { get; private set; }
public DatenelementAuftragsdatei Version { get; private set; }
public DatenelementAuftragsdatei LangeAuftrag { get; private set; }
public DatenelementAuftragsdatei SequenzNummer { get; private set; }
public DatenelementAuftragsdatei VerfahrenKennung { get; private set; }
public DatenelementAuftragsdatei TransferNummer { get; private set; }
public DatenelementAuftragsdatei VerfahrenKennungSpezifikation { get; private set; }
public DatenelementAuftragsdatei AbsenderEigner { get; private set; }
public DatenelementAuftragsdatei AbsenderPhysikalisch { get; private set; }
public DatenelementAuftragsdatei EmpfangerNutzer { get; private set; }
public DatenelementAuftragsdatei EmpfangerPhysikalisch { get; private set; }
public DatenelementAuftragsdatei FehlerNummer { get; private set; }
public DatenelementAuftragsdatei FehlerMassnahme { get; private set; }
public DatenelementAuftragsdatei Dateiname { get; private set; }
public DatenelementAuftragsdatei DatumErstellung { get; private set; }
public DatenelementAuftragsdatei DatumUbertragungGesendet { get; private set; }
public DatenelementAuftragsdatei DatumUbertragungEmpfangenStart { get; private set; }
public DatenelementAuftragsdatei DatumUbertragungEmpfangenEnde { get; private set; }
public DatenelementAuftragsdatei DateiVersion { get; private set; }
public DatenelementAuftragsdatei Korrektur { get; private set; }
public DatenelementAuftragsdatei DateigrosseNutzdaten { get; private set; }
public DatenelementAuftragsdatei DateigrosseUbertragung { get; private set; }
public DatenelementAuftragsdatei Zeichensatz { get; private set; }
public DatenelementAuftragsdatei Komprimierung { get; private set; }
public DatenelementAuftragsdatei Verschlusselungsart { get; private set; }
public DatenelementAuftragsdatei ElektronischeUnterschrift { get; private set; }
public AuftragssatzPart1(Auftragsdatei parent)
{
ParentAuftragsdatei = parent;
Identifikator = new DatenelementAuftragsdatei("Identifikator", 6, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
Version = new DatenelementAuftragsdatei("Version", 2, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
LangeAuftrag = new DatenelementAuftragsdatei("LangeAuftrag", 8, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
SequenzNummer = new DatenelementAuftragsdatei("SequenzNummer", 3, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
VerfahrenKennung = new DatenelementAuftragsdatei("VerfahrenKennung", 5, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
TransferNummer = new DatenelementAuftragsdatei("TransferNummer", 3, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
VerfahrenKennungSpezifikation = new DatenelementAuftragsdatei("VerfahrenKennungSpezifikation", 5, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.MussBedingt);
AbsenderEigner = new DatenelementAuftragsdatei("AbsenderEigner", 15, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
AbsenderPhysikalisch = new DatenelementAuftragsdatei("AbsenderPhysikalisch", 15, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
EmpfangerNutzer = new DatenelementAuftragsdatei("EmpfangerNutzer", 15, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
EmpfangerPhysikalisch = new DatenelementAuftragsdatei("EmpfangerPhysikalisch", 15, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
FehlerNummer = new DatenelementAuftragsdatei("FehlerNummer", 6, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
FehlerMassnahme = new DatenelementAuftragsdatei("FehlerMassnahme", 6, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
Dateiname = new DatenelementAuftragsdatei("Dateiname", 11, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
DatumErstellung = new DatenelementAuftragsdatei("DatumErstellung", 14, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
DatumUbertragungGesendet = new DatenelementAuftragsdatei("DatumUbertragungGesendet", 14, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
DatumUbertragungEmpfangenStart = new DatenelementAuftragsdatei("DatumUbertragungEmpfangenStart", 14, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Kann);
DatumUbertragungEmpfangenEnde = new DatenelementAuftragsdatei("DatumUbertragungEmpfangenEnde", 14, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Kann);
DateiVersion = new DatenelementAuftragsdatei("DateiVersion", 6, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
Korrektur = new DatenelementAuftragsdatei("Korrektur", 1, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
DateigrosseNutzdaten = new DatenelementAuftragsdatei("DateigrosseNutzdaten", 12, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
DateigrosseUbertragung = new DatenelementAuftragsdatei("DateigrosseUbertragung", 12, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
Zeichensatz = new DatenelementAuftragsdatei("Zeichensatz", 2, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.Muss);
Komprimierung = new DatenelementAuftragsdatei("Komprimierung", 2, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
Verschlusselungsart = new DatenelementAuftragsdatei("Verschlusselungsart", 2, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
ElektronischeUnterschrift = new DatenelementAuftragsdatei("ElektronischeUnterschrift", 2, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.Muss);
}
public string GetRows()
{
var list = new List<DatenelementAuftragsdatei>() {
Identifikator,Version,LangeAuftrag,SequenzNummer,
VerfahrenKennung,TransferNummer,VerfahrenKennungSpezifikation,AbsenderEigner,
AbsenderPhysikalisch,EmpfangerNutzer,EmpfangerPhysikalisch,FehlerNummer,
FehlerMassnahme,Dateiname,DatumErstellung,DatumUbertragungGesendet,
DatumUbertragungEmpfangenStart,DatumUbertragungEmpfangenEnde,DateiVersion,Korrektur,
DateigrosseNutzdaten,DateigrosseUbertragung,Zeichensatz,Komprimierung,
Verschlusselungsart, ElektronischeUnterschrift
};
var sb = new StringBuilder();
foreach (var item in list)
{
sb.Append(item.GetValue());
}
return sb.ToString();
}
internal void Apply(InfoDateiAuftrags info)
{
Identifikator.SetValue(info.Identifikator);
Version.SetValue(info.Version);
LangeAuftrag.SetValue(info.LangeAuftrag);
SequenzNummer.SetValue(info.SequenzNummer);
VerfahrenKennung.SetValue(info.VerfahrenKennung);
TransferNummer.SetValue(info.TransferNummer);
VerfahrenKennungSpezifikation.SetValue(info.VerfahrenKennungSpezifikation);
AbsenderEigner.SetValue(info.AbsenderEigner);
AbsenderPhysikalisch.SetValue(info.AbsenderPhysikalisch);
EmpfangerNutzer.SetValue(info.EmpfangerNutzer);
EmpfangerPhysikalisch.SetValue(info.EmpfangerPhysikalisch);
FehlerNummer.SetValue(info.FehlerNummer);
FehlerMassnahme.SetValue(info.FehlerMassnahme);
Dateiname.SetValue(info.Dateiname);
DatumErstellung.SetValue(ParentAuftragsdatei.Parent.Created.ToString("yyyyMMddhhmmss"));
DatumUbertragungGesendet.SetValue(ParentAuftragsdatei.Parent.Created.ToString("yyyyMMddhhmmss"));
DatumUbertragungEmpfangenStart.SetValue(info.DatumUbertragungEmpfangenStart);
DatumUbertragungEmpfangenEnde.SetValue(info.DatumUbertragungEmpfangenEnde);
DateiVersion.SetValue(info.DateiVersion);
Korrektur.SetValue(info.Korrektur);
DateigrosseNutzdaten.SetValue(info.DateigrosseNutzdaten);
DateigrosseUbertragung.SetValue(info.DateigrosseUbertragung);
Zeichensatz.SetValue(info.Zeichensatz);
Komprimierung.SetValue(info.Komprimierung);
Verschlusselungsart.SetValue(info.Verschlusselungsart);
ElektronischeUnterschrift.SetValue(info.ElektronischeUnterschrift);
}
}
}

View File

@@ -0,0 +1,45 @@
using Dakota.Models.Daten;
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart2 : IRow
{
public DatenelementAuftragsdatei Satzformat { get; private set; }
public DatenelementAuftragsdatei Satzlange { get; private set; }
public DatenelementAuftragsdatei Blocklange { get; private set; }
public AuftragssatzPart2()
{
Satzformat = new DatenelementAuftragsdatei("Satzformat", 3, FeldtypAuftragsdatei.Alpha, FeldartAuftragsdatei.MussBedingt);
Satzlange = new DatenelementAuftragsdatei("Satzlange", 5, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
Blocklange = new DatenelementAuftragsdatei("Blocklange", 8, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
}
public string GetRows()
{
var list = new List<DatenelementAuftragsdatei>() {
Satzformat,Satzlange,Blocklange
};
var sb = new StringBuilder();
foreach (var item in list)
{
sb.Append(item.GetValue());
}
return sb.ToString();
}
internal void Apply(InfoDateiAuftrags info)
{
Satzformat.SetValue(info.Satzformat);
Satzlange.SetValue(info.Satzlange);
Blocklange.SetValue(info.Blocklange);
}
}
}

View File

@@ -0,0 +1,58 @@
using Dakota.Models.Daten;
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart3 : IRow
{
public DatenelementAuftragsdatei Status { get; private set; }
public DatenelementAuftragsdatei Wiederholung { get; private set; }
public DatenelementAuftragsdatei Übertragungsweg { get; private set; }
public DatenelementAuftragsdatei VerzögerterVersand { get; private set; }
public DatenelementAuftragsdatei InfoUndFehlerFelder { get; private set; }
public DatenelementAuftragsdatei VariablesInfoFeld { get; private set; }
public AuftragssatzPart3()
{
Status = new DatenelementAuftragsdatei("Status", 1, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.MussBedingt);
Wiederholung = new DatenelementAuftragsdatei("Wiederholung", 2, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
Übertragungsweg = new DatenelementAuftragsdatei("Übertragungsweg", 1, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
VerzögerterVersand = new DatenelementAuftragsdatei("VerzögerterVersand", 10, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
InfoUndFehlerFelder = new DatenelementAuftragsdatei("InfoUndFehlerFelder", 6, FeldtypAuftragsdatei.Numerisch, FeldartAuftragsdatei.MussBedingt);
VariablesInfoFeld = new DatenelementAuftragsdatei("VariablesInfoFeld", 28, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.MussBedingt);
}
public string GetRows()
{
var list = new List<DatenelementAuftragsdatei>() {
Status,Wiederholung,Übertragungsweg,VerzögerterVersand,
InfoUndFehlerFelder,VariablesInfoFeld
};
var sb = new StringBuilder();
foreach (var item in list)
{
sb.Append(item.GetValue());
}
return sb.ToString();
}
internal void Apply(InfoDateiAuftrags info)
{
Status.SetValue(info.Status);
Wiederholung.SetValue(info.Wiederholung);
Übertragungsweg.SetValue(info.Übertragungsweg);
VerzögerterVersand.SetValue(info.VerzögerterVersand);
InfoUndFehlerFelder.SetValue(info.InfoUndFehlerFelder);
VariablesInfoFeld.SetValue(info.VariablesInfoFeld);
}
}
}

View File

@@ -0,0 +1,42 @@
using Dakota.Models.Daten;
using Dakota.Models.Infos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Auftragsdatei
{
public class AuftragssatzPart4 : IRow
{
public DatenelementAuftragsdatei EMailAdresseAbsender { get; private set; }
public DatenelementAuftragsdatei DateiBezeichnung { get; private set; }
public AuftragssatzPart4()
{
EMailAdresseAbsender = new DatenelementAuftragsdatei("EMailAdresseAbsender", 44, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.MussBedingt);
DateiBezeichnung = new DatenelementAuftragsdatei("DateiBezeichnung", 30, FeldtypAuftragsdatei.Alphanumerisch, FeldartAuftragsdatei.MussBedingt);
}
public string GetRows()
{
var list = new List<DatenelementAuftragsdatei>() {
EMailAdresseAbsender,DateiBezeichnung
};
var sb = new StringBuilder();
foreach (var item in list)
{
sb.Append(item.GetValue());
}
return sb.ToString();
}
internal void Apply(InfoDateiAuftrags info)
{
EMailAdresseAbsender.SetValue(info.EMailAdresseAbsender);
DateiBezeichnung.SetValue(info.DateiBezeichnung);
}
}
}

View File

@@ -0,0 +1,14 @@
using Dakota.Models.Nachrichten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
internal abstract class Block : Nachricht
{
public abstract int GetUNHCount();
}
}

View File

@@ -0,0 +1,84 @@
using Dakota.Models.Infos;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLLA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
internal class BlockAbrechnungsposition : Block
{
/// <summary>
/// Das Segment dient zur Abrechnung der einzelnen Positionen,
/// die für den abzurechnenden Fall angefallen sind.Es ist so oft
/// wiederholbar, wie Abrechnungspositionen vorkommen.
/// </summary>
public SegmentSLLAENF SegmentSLLAENF { get; private set; }
/// <summary>
/// Mit diesem Segment können weitere Informationen, bezogen
/// auf die abzurechnende Position übermittelt werden.Hier können u.a.die Uhrzeit und die gefahrenen Kilometer angegeben
/// werden. Es kann je abzurechnende Position einmal vorkommen
/// </summary>
public SegmentSLLASUT SegmentSLLASUT { get; private set; }
/// <summary>
/// Mit diesem Segment kann zu jeder abzurechnenden Position
/// ein Text(z.B.als Begründung) hinterlegt werden.Es kann je
/// abzurechnende Position einmal vorkommen.
/// </summary>
public SegmentSLLATXT SegmentSLLATXT { get; private set; }
/// <summary>
/// Mit diesem Segment kann zu jeder abzurechnenden Position
/// Mehrwertsteuer angegeben werden.Benutzt werden soll das
/// Segment nur dann, wenn dem in ENF genannten Einzelbetrag
/// die Mehrwertsteuer hinzuzurechnen ist.
/// </summary>
public SegmentSLLAMWS SegmentSLLAMWS { get; private set; }
public decimal AnzahlEinheit => SegmentSLLAENF.AnzahlMenge.DecimalValue;
public decimal EinzelbetragAbrechnungsposition => SegmentSLLAENF.EinzelbetragAbrechnungsposition.DecimalValue;
public decimal BetragZuzahlung => SegmentSLLAENF.BetragZuzahlung.DecimalValue;
public BlockAbrechnungsposition()
{
SegmentSLLAENF = new SegmentSLLAENF();
SegmentSLLASUT = new SegmentSLLASUT();
SegmentSLLATXT = new SegmentSLLATXT();
SegmentSLLAMWS = new SegmentSLLAMWS();
}
public override List<Segment> GetAllSegments()
{
return new List<Segment>() { SegmentSLLAENF, SegmentSLLASUT, SegmentSLLATXT, SegmentSLLAMWS };
}
public override int GetUNHCount()
{
return 0;
}
public void Apply(InfoAbrechnungsposition info)
{
// SegmentSLLAENF.Identifikationsnummer.SetValue(info.Identifikationsnummer);
SegmentSLLAENF.Abrechnungscode.SetValue(info.Abrechnungscode);
SegmentSLLAENF.Tarifkennzeichen.SetValue(info.Tarifkennzeichen);
SegmentSLLAENF.ArtLeistung.SetValue(info.Abrechnungsposition);
SegmentSLLAENF.AnzahlMenge.SetValue(info.AnzahlMenge);
SegmentSLLAENF.EinzelbetragAbrechnungsposition.SetValue(info.EinzelbetragAbrechnungsposition);
SegmentSLLAENF.DatumLeistungserbringung.SetValue(info.DatumDerLeistungserbringung);
SegmentSLLAENF.BetragZuzahlung.SetValue(info.BetragZuzahlung);
SegmentSLLASUT.GefahreneKilometer.SetValue(info.GefahreneKilometer);
SegmentSLLASUT.Uhrzeit.SetValue(info.Uhrzeit);
SegmentSLLASUT.UhrzeitBis.SetValue(info.UhrzeitBis);
SegmentSLLASUT.Dauer.SetValue(info.Dauer);
SegmentSLLATXT.Text.SetValue(info.Text);
// SegmentSLLAMWS.Mehrwertsteuersatz.SetValue(info.Mehrwertsteuersatz);
// SegmentSLLAMWS.BetragMehrwertsteuer.SetValue(info.BetragMehrwertsteuersatz);
}
}
}

View File

@@ -0,0 +1,43 @@
using Dakota.Models.Infos;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLLA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
internal class BlockDiagnose : Block
{
/// <summary>
/// Das Segment dient zur Angabe der Diagnose und ist so oft
/// wiederholbar, wie Diagnosen vorliegen
/// </summary>
public SegmentSLLADIA SegmentSLLADIA { get; private set; }
public BlockDiagnose()
{
SegmentSLLADIA = new SegmentSLLADIA();
}
public override List<Segment> GetAllSegments()
{
var res = new List<Segment>();
res.Add(SegmentSLLADIA);
return res;
}
public override int GetUNHCount() => 0;
public void Apply(InfoBlockDiagnosen info)
{
SegmentSLLADIA.Diagnoseschlüssel.SetValue(info.Diagnoseschlüssel);
SegmentSLLADIA.Diagnosetext.SetValue(info.Diagnosetext);
}
}
}

View File

@@ -0,0 +1,87 @@
using Dakota.Models.Infos;
using Dakota.Models.Nachrichten;
using Dakota.Models.Segmente;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
/// <summary>
/// Nutzdatendatei ohne Logik
/// </summary>
internal class BlockFile : Block
{
public DakotaFile Parent { get; set; }
public SegmentUNB SegmentUNB { get; private set; }
public List<BlockKostenträger> BlockKostenträger { get; private set; }
public SegmentUNZ SegmentUNZ { get; private set; }
internal BlockFile(DakotaFile parent)
{
SegmentUNB = new SegmentUNB();
BlockKostenträger = new List<BlockKostenträger>();
SegmentUNZ = new SegmentUNZ(GetUNHCount);
Parent = parent;
}
public override List<Segment> GetAllSegments()
{
var list = new List<Segment>();
list.Add(SegmentUNB);
foreach (var block in BlockKostenträger)
{
list.AddRange(block.GetSegments());
}
list.Add(SegmentUNZ);
return list;
}
public override int GetUNHCount()
{
int i = 0;
foreach (var block in BlockKostenträger)
{
i += block.GetUNHCount();
}
return i;
}
internal void Add(BlockKostenträger blockkosten)
{
BlockKostenträger.Add(blockkosten);
}
public void Apply(InfoDateiNutzdaten info)
{
SegmentUNB.SyntaxKennung.SetValue(info.SyntaxKennung);
SegmentUNB.SyntaxVersionsnummer.SetValue(info.SyntaxVersion);
SegmentUNB.Absenderdatei.SetValue(info.Absenderbezeichnung);
SegmentUNB.Empfangdatei.SetValue(info.Empfangerbezeichnung);
SegmentUNB.Datum.SetValue(Parent.Created);
SegmentUNB.Uhrzeit.SetValue(Parent.Created);
SegmentUNB.Datenaustauschreferenz.SetValue(info.Datenaustauschreferenz);
SegmentUNB.Leistungsbereich.SetValue(info.Leistungsbereich);
SegmentUNB.Anwengundsreferenz.SetValue(info.Anwendungsreferenz);
SegmentUNB.Testindikator.SetValue(info.Testindikator);
foreach (var blockinfo in info.BlockKostentragers)
{
var block = new BlockKostenträger();
block.Apply(blockinfo);
Add(block);
}
SegmentUNZ.Datenaustauschreferenz.SetValue(info.Datenaustauschreferenz);
}
}
}

View File

@@ -0,0 +1,198 @@
using Dakota.Models.Segmente;
using Dakota.Models.Nachrichten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dakota.Models.Segmente.SLLA;
using Dakota.Models.Infos;
namespace Dakota.Models.Blocke
{
internal class BlockKlient : Block
{
/// <summary>
/// Das Segment enthält die Versichertendaten eines Abrechnungsfalles (Verordnung), und gilt gleichzeitig als BeginnSegment für einen Abrechnungsfall. Jeder Abrechnungsfall ist
/// mit einer eindeutigen Belegnummer zu kennzeichnen, die der
/// auf der Verordnung zu übertragenen Belegnummer(s. § 4 des
/// Richtlinientextes) entsprechen muss.
/// </summary>
public SegmentSLLAINV SegmentSLLAINV { get; private set; }
/// <summary>
/// Dieses Segment enthält bei Korrekturlieferungen die ursprünglichen Rechnungsinformationen. Es wird zunächst nur
/// in Abhängigkeit für die Verarbeitungskennzeichen
/// '02' Nachforderung,
/// 03 Zuzahlungsforderung und
/// 04 Korrekturrechnung
/// (Schlüsselverzeichnis Anlage 3, Kapitel 8.1.7) geliefert
/// </summary>
public SegmentSLLAURI SegmentSLLAURI { get; private set; }
/// <summary>
/// Das Segment enthält den Namen und die Adressdaten des
/// Versicherten.
/// </summary>
public SegmentSLLANAD SegmentSLLANAD { get; private set; }
/// <summary>
/// Das Segment enthält den Imagenamen bei Übermittlung von
/// Imagearchiven durch den Absender.
/// </summary>
public SegmentSLLAIMG SegmentSLLAIMG { get; private set; }
/// <summary>
/// ENF je Abrechnungsposition
/// SUT 0-1 je ENF
/// TXT 0-1 je ENF
/// MWS 0-1 je ENF
/// </summary>
public List<BlockAbrechnungsposition> BlockAbrechnungspositions { get; set; }
/// <summary>
/// Das Segment enthält Angaben über die Zuzahlung. Das Segment ist bis auf weiteres nicht zu übermitteln. Das Segment ist
/// für spätere Ausprägungen reserviert.
/// </summary>
public SegmentSLLAZUZ SegmentSLLAZUZ { get; private set; }
/// <summary>
/// Das Segment enthält allgemeine Angaben zum Abrechnungsfall (Verordnung) und ist zu übermitteln, wenn eine ärztliche
/// Verordnung, ein Reparatur- oder Berechtigungsschein oder
/// Unfall/BVG vorliegt.
/// </summary>
public SegmentSLLAZUV SegmentSLLAZUV { get; private set; }
public List<BlockDiagnose> BlockDiagnose { get; set; }
/// <summary>
/// Das Segment enthält Angaben über die von der Krankenkasse
/// ausgesprochene Kostenzusage/Genehmigung und ist nur zu
/// übermitteln, wenn diese vorliegt.
/// </summary>
public SegmentSLLASKZ SegmentSLLASKZ { get; private set; }
/// <summary>
/// Das Segment enthält Angaben über den abzurechnenden Gesamtbruttobetrag eines Abrechnungsfalles (Verordnung)
/// (Summe aller ENF-Beträge ggf.zuzüglich der Mehrwertsteuer)
/// </summary>
public SegmentSLLABES SegmentSLLABES { get; private set; }
public decimal GesamtbetragBrutto => SegmentSLLABES.GesamtbetragBrutto.DecimalValue;
public decimal GesamtbetragEigenanteil => SegmentSLLABES.GesamtbetragEigenanteil.DecimalValue;
public decimal GesamtbetragGesetzlicheZuzahlung => SegmentSLLABES.GesamtbetragGesetzlicheZuzahlung.DecimalValue;
public decimal GesamtbetragProzentualeZuzahlung => SegmentSLLABES.GesamtbetragProzentualeZuzahlung.DecimalValue;
public decimal PauschalerZuzahlungsbetrag => SegmentSLLABES.PauschalerZuzahlungsbetrag.DecimalValue;
public BlockKlient()
{
SegmentSLLAINV = new SegmentSLLAINV();
SegmentSLLAURI = new SegmentSLLAURI();
SegmentSLLANAD = new SegmentSLLANAD();
SegmentSLLAIMG = new SegmentSLLAIMG();
BlockAbrechnungspositions = new List<BlockAbrechnungsposition>();
// wird nicht übermittelt
//SegmentSLLAZUZ = new SegmentSLLAZUZ();
SegmentSLLAZUV = new SegmentSLLAZUV();
BlockDiagnose = new List<BlockDiagnose>();
SegmentSLLASKZ = new SegmentSLLASKZ();
SegmentSLLABES = new SegmentSLLABES();
}
public override List<Segment> GetAllSegments()
{
var res = new List<Segment>();
res.Add(SegmentSLLAINV);
// res.Add(SegmentSLLAURI);
res.Add(SegmentSLLANAD);
foreach (var block in BlockAbrechnungspositions)
{
res.AddRange(block.GetSegments());
}
res.Add(SegmentSLLAZUV);
foreach (var block in BlockDiagnose)
{
res.AddRange(block.GetSegments());
}
res.Add(SegmentSLLASKZ);
res.Add(SegmentSLLABES);
return res;
}
public override int GetUNHCount() => 0;
public void Apply(InfoAbrechnungsfall info)
{
SegmentSLLAINV.VersichertenNummer.SetValue(info.VersichtertenNummer);
SegmentSLLAINV.Versichertenstatus.SetValue(info.Versichertenstatus);
SegmentSLLAINV.Beleginformation.SetValue(info.Beleginformation);
SegmentSLLAINV.Belegnummer.SetValue(info.Belegnummer);
// block.SegmentSLLAINV.KennzeichenBesondereVersorgungsform.SetValue(invoiceInfo.Kenn)
SegmentSLLANAD.Vorname.SetValue(info.VersichtertenVorname);
SegmentSLLANAD.Nachname.SetValue(info.VersichtertenNachname);
SegmentSLLANAD.Geburtsdatum.SetValue(info.VersichtertenGeburtstag);
SegmentSLLANAD.StraßeNr.SetValue(info.VersichtertenStraßeNr);
SegmentSLLANAD.PLZ.SetValue(info.VersichtertenPLZ);
SegmentSLLANAD.Wohnort.SetValue(info.VersichtertenWohnort);
SegmentSLLANAD.Länderkennzeichen.SetValue(info.VersichtertenLanderkennung);
foreach (var posinfo in info.InfosAbrechnungsposition)
{
var block = new BlockAbrechnungsposition();
block.Apply(posinfo);
BlockAbrechnungspositions.Add(block);
}
SegmentSLLAZUV.Betriebsstättennummer.SetValue(info.Betriebsstättennummer);
SegmentSLLAZUV.LebenslangeArztnummer.SetValue(info.LebenslangeArztnummer);
SegmentSLLAZUV.VerordnungsAusstellEinsatzdatum.SetValue(info.Verordnungsdatum);
SegmentSLLAZUV.Zuzahlungskennzeichen.SetValue(info.Zuzahlungskennzeichen);
SegmentSLLAZUV.Unfallkennzeichen.SetValue(info.Unfallkennzeichen);
SegmentSLLAZUV.KennzeichenBVGSonstiges.SetValue(info.KennzeichenBVGSonstiges);
SegmentSLLAZUV.KennzeichenVerordnungsbesonderheiten.SetValue(info.KennzeichenVerordnungsbesonderheiten);
if (info.DakotaInfoDiagnosen is object && info.DakotaInfoDiagnosen.Any())
{
foreach (var diagnose in info.DakotaInfoDiagnosen)
{
var block = new BlockDiagnose();
block.Apply(diagnose);
BlockDiagnose.Add(block);
}
}
SegmentSLLASKZ.Genehmigungskennzeichen.SetValue(info.Genehmigungskennzeichen);
SegmentSLLASKZ.DatumGenehmigung.SetValue(info.DatumDerGenehmigung);
SegmentSLLASKZ.ArtGenehmigung.SetValue(info.ArtDerGenehmigung);
CalculateSums();
}
private void CalculateSums()
{
var gesamtbrutto = BlockAbrechnungspositions.Sum(pos => pos.AnzahlEinheit * pos.EinzelbetragAbrechnungsposition);
var gesamtproz = BlockAbrechnungspositions.Sum(pos => pos.AnzahlEinheit * pos.BetragZuzahlung);
var diff = gesamtbrutto - gesamtproz;
var pauschaler = Math.Min(10, diff);
var gesamtgesetz = gesamtproz + pauschaler;
SegmentSLLABES.GesamtbetragBrutto.SetValue(gesamtbrutto);
// SegmentSLLABES.GesamtbetragGesetzlicheZuzahlung.SetValue(gesamtgesetz);
// SegmentSLLABES.GesamtbetragProzentualeZuzahlung.SetValue(gesamtproz);
// SegmentSLLABES.PauschalerZuzahlungsbetrag.SetValue(pauschaler);
// SegmentSLLABES.GesamtbetragEigenanteil.SetValue(0);
}
}
}

View File

@@ -0,0 +1,145 @@
using Dakota.Models.Infos;
using Dakota.Models.Nachrichten;
using Dakota.Models.Schlüssels;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLGA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
/// <summary>
/// Wiederhole folgenden Block je IK des Kostenträgers
/// </summary>
internal class BlockKostenträger : Block
{
public SegmentUNH SegmentUNH { get; private set; }
public NachrichtSLGA NachrichtSLGA { get; private set; }
public SegmentUNT SegmentUNT { get; private set; }
public List<BlockKrankenkasse> BlockKrankenkasse { get; private set; }
internal BlockKostenträger()
{
SegmentUNH = new SegmentUNH();
NachrichtSLGA = new NachrichtSLGA();
SegmentUNT = new SegmentUNT(NachrichtSLGA.GetSegmentLength);
BlockKrankenkasse = new List<BlockKrankenkasse>();
}
public string IKKostenträger
{
get { return NachrichtSLGA.SegmentFKT.IKKostenträger.GetValue(); }
set { NachrichtSLGA.SegmentFKT.IKKostenträger.SetValue(value); }
}
public override List<Segment> GetAllSegments()
{
var list = new List<Segment>();
list.Add(SegmentUNH);
list.AddRange(NachrichtSLGA.GetSegments());
list.Add(SegmentUNT);
foreach (var block in BlockKrankenkasse)
{
list.AddRange(block.GetSegments());
}
return list;
}
public override int GetUNHCount()
{
var i = 1;
foreach (var block in BlockKrankenkasse)
{
i += block.GetUNHCount();
}
return i;
}
public void Add(BlockKrankenkasse block)
{
BlockKrankenkasse.Add(block);
}
public void Apply(InfoBlockKostentrager info)
{
SegmentUNH.Nachrichtenreferenznummer.SetValue(info.DakotaInfoSLGA.Nachrichtenreferenznummer);
SegmentUNH.NachrichtenTypKennung.SetValue(info.DakotaInfoSLGA.NachrichtenTypKennung);
SegmentUNH.Nachrichtenverionsnummer.SetValue(info.DakotaInfoSLGA.NachrichtenVersionsnummer);
SegmentUNH.NachrichtenFreigabeNrDesTypes.SetValue(info.DakotaInfoSLGA.NachrichtenFreigabeNrTages);
SegmentUNH.NachrichtenVerwaltendeOrganisation.SetValue(info.DakotaInfoSLGA.NachrichtenVerwaltendeOrganisation);
NachrichtSLGA.Apply(info.DakotaInfoNachrichtSLGA);
foreach (var infoblock in info.BlockKvKarte)
{
var blockkvkarte = new BlockKrankenkasse();
blockkvkarte.Apply(infoblock);
Add(blockkvkarte);
}
CalculateSLGA();
SegmentUNT.Nachrichtenreferenznummer.SetValue(info.DakotaInfoSLGA.Nachrichtenreferenznummer);
}
private void CalculateSLGA()
{
Dictionary<string, decimal[]> segments = new Dictionary<string, decimal[]>();
foreach (var block in BlockKrankenkasse)
{
// Gesamt
CalculateSLGAStep(segments, block.NachrichtSLGA.SegmentGES00);
// Liste
foreach (var block2 in block.NachrichtSLGA.ListSegmentGES)
{
CalculateSLGAStep(segments, block2);
}
}
foreach (var key in segments.Keys)
{
var array = segments[key];
if(key == SchlüsselSummenstatus.Gesamtsumme.Value)
{
NachrichtSLGA.SegmentGES00.Status.SetValue(SchlüsselSummenstatus.Gesamtsumme);
NachrichtSLGA.SegmentGES00.Gesamtrechnungsbetrag.SetValue(array[0]);
NachrichtSLGA.SegmentGES00.Gesamtbruttobetrag.SetValue(array[1]);
NachrichtSLGA.SegmentGES00.GesamtbetragZuzahlung.SetValue(array[2]);
}
else
{
var seg = new SegmentSLGAGES(key, array[0], array[1], array[2]);
NachrichtSLGA.ListSegmentGES.Add(seg);
}
}
}
private void CalculateSLGAStep(Dictionary<string, decimal[]> segments, SegmentSLGAGES segmentGES)
{
var status = segmentGES.Status.GetValue();
if (!segments.ContainsKey(status))
{
segments.Add(status, new decimal[3]);
}
var segment = segments[status];
segment[0] += segmentGES.GesamtrechnungsbetragDecimal;
segment[1] += segmentGES.GesamtbruttobetragDecimal;
segment[2] += segmentGES.GesamtbetragZuzahlungDecimal;
}
}
}

View File

@@ -0,0 +1,150 @@
using Dakota.Models.Infos;
using Dakota.Models.Nachrichten;
using Dakota.Models.Schlüssels;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLGA;
using Dakota.Models.Segmente.SLLA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Blocke
{
/// <summary>
/// Wiederhole folgenden Block je IK der Krankenkarte bzw der Verordnung
/// </summary>
internal class BlockKrankenkasse : Block
{
public SegmentUNH SegmentSLGAUNH { get; private set; }
public NachrichtSLGA NachrichtSLGA { get; private set; }
public SegmentUNT SegmentSLGAUNT { get; private set; }
public SegmentUNH SegmentSLLAUNH { get; private set; }
public NachrichtSLLA NachrichtSLLA { get; private set; }
public SegmentUNT SegmentSLLAUNT { get; private set; }
public BlockKrankenkasse()
{
SegmentSLGAUNH = new SegmentUNH();
NachrichtSLGA = new NachrichtSLGA();
SegmentSLGAUNT = new SegmentUNT(SLGASegmentLength);
SegmentSLLAUNH = new SegmentUNH();
NachrichtSLLA = new NachrichtSLLA();
SegmentSLLAUNT = new SegmentUNT(SLLASegmentLength);
}
public string IKKrankenkasseKVKarte
{
get { return NachrichtSLGA.SegmentFKT.IKKrankenkasse.GetValue(); }
set { NachrichtSLGA.SegmentFKT.IKKrankenkasse.SetValue(value); }
}
public int SLGASegmentLength() => NachrichtSLGA.GetSegmentLength();
public int SLLASegmentLength() => NachrichtSLLA.GetSegmentLength();
public override List<Segment> GetAllSegments()
{
var list = new List<Segment>() { SegmentSLGAUNH };
list.AddRange(NachrichtSLGA.GetSegments());
list.Add(SegmentSLGAUNT);
list.Add(SegmentSLLAUNH);
list.AddRange(NachrichtSLLA.GetSegments());
list.Add(SegmentSLLAUNT);
return list;
}
public override int GetUNHCount()
{
return 2;
}
public void Apply(InfoBlockKrankenkasse blockinfo)
{
ApplySLGA(blockinfo.DakotaInfoSLGA);
ApplyNachrichtSLGA(blockinfo.DakotaInfoNachrichtSLGA);
ApplySLLA(blockinfo.DakotaInfoSLLA);
ApplyNachrichtSLLA(blockinfo.DakotaInfoNachrichtSLLA);
CalculateSLGA();
}
private void ApplySLGA(InfoNachricht info)
{
SegmentSLGAUNH.Nachrichtenreferenznummer.SetValue(info.Nachrichtenreferenznummer);
SegmentSLGAUNH.NachrichtenTypKennung.SetValue(info.NachrichtenTypKennung);
SegmentSLGAUNH.Nachrichtenverionsnummer.SetValue(info.NachrichtenVersionsnummer);
SegmentSLGAUNH.NachrichtenFreigabeNrDesTypes.SetValue(info.NachrichtenFreigabeNrTages);
SegmentSLGAUNH.NachrichtenVerwaltendeOrganisation.SetValue(info.NachrichtenVerwaltendeOrganisation);
SegmentSLGAUNT.Nachrichtenreferenznummer.SetValue(info.Nachrichtenreferenznummer);
}
private void ApplyNachrichtSLGA(InfoNachrichtSLGA info)
{
NachrichtSLGA.Apply(info);
}
private void ApplySLLA(InfoNachricht info)
{
SegmentSLLAUNH.Nachrichtenreferenznummer.SetValue(info.Nachrichtenreferenznummer);
SegmentSLLAUNH.NachrichtenTypKennung.SetValue(info.NachrichtenTypKennung);
SegmentSLLAUNH.Nachrichtenverionsnummer.SetValue(info.NachrichtenVersionsnummer);
SegmentSLLAUNH.NachrichtenFreigabeNrDesTypes.SetValue(info.NachrichtenFreigabeNrTages);
SegmentSLLAUNH.NachrichtenVerwaltendeOrganisation.SetValue(info.NachrichtenVerwaltendeOrganisation);
SegmentSLLAUNT.Nachrichtenreferenznummer.SetValue(info.Nachrichtenreferenznummer);
}
private void ApplyNachrichtSLLA(InfoNachrichtSLLA info)
{
NachrichtSLLA.Apply(info);
}
private void CalculateSLGA()
{
var sumseg = new decimal[3];
Dictionary<int, decimal[]> segments = new Dictionary<int, decimal[]>();
foreach (var fall in NachrichtSLLA.BlockKlienten)
{
int status = 11;
if (!segments.ContainsKey(status))
{
segments.Add(status, new decimal[3]);
}
var segment = segments[status];
decimal bruttobetrag = fall.GesamtbetragBrutto;
decimal zuzahlung = fall.GesamtbetragGesetzlicheZuzahlung + fall.GesamtbetragEigenanteil;
decimal rechnungsbetrag = bruttobetrag - zuzahlung;
segment[0] += rechnungsbetrag;
segment[1] += bruttobetrag;
segment[2] += zuzahlung;
sumseg[0] += rechnungsbetrag;
sumseg[1] += bruttobetrag;
sumseg[2] += zuzahlung;
}
NachrichtSLGA.SegmentGES00.Status.SetValue(SchlüsselSummenstatus.Gesamtsumme);
NachrichtSLGA.SegmentGES00.Gesamtrechnungsbetrag.SetValue(sumseg[0]);
NachrichtSLGA.SegmentGES00.Gesamtbruttobetrag.SetValue(sumseg[1]);
NachrichtSLGA.SegmentGES00.GesamtbetragZuzahlung.SetValue(sumseg[2]);
foreach (var key in segments.Keys)
{
var segment = new SegmentSLGAGES();
var array = segments[key];
segment.Status.SetValue(key);
segment.Gesamtrechnungsbetrag.SetValue(array[0]);
segment.Gesamtbruttobetrag.SetValue(array[1]);
segment.GesamtbetragZuzahlung.SetValue(array[2]);
NachrichtSLGA.ListSegmentGES.Add(segment);
}
}
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models
{
public enum Feldart
{
Kann,
Muss
}
public enum Feldtyp
{
Alpha,
Numerisch
}
public enum FeldartAuftragsdatei
{
Kann,
Muss,
MussBedingt
}
public enum FeldtypAuftragsdatei
{
Numerisch,
Alpha,
Alphanumerisch
}
public enum Kassenart
{
HKK,
AOK,
BKK,
IKK,
Knappschaft,
SVLFG,
VDEK
}
}

View File

@@ -0,0 +1,60 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using Dakota.Models;
using Dakota.Models.Auftragsdatei;
using Dakota.Models.Blocke;
using Dakota.Models.Infos;
using Dakota.Models.Nachrichten;
using Dakota.Models.Segmente;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Dakota
{
/// <summary>
/// Nutzdatendatei mit Logik
/// </summary>
public class DakotaFile
{
internal BlockFile Nutzdatendatei { get; private set; }
internal Auftragsdatei Auftragsdatei { get; private set; }
public DateTime Created { get; set; }
internal string Verfahrenskennung => Auftragsdatei.AuftragssatzPart1.VerfahrenKennung.GetValue();
internal string Transfernummer => Auftragsdatei.AuftragssatzPart1.TransferNummer.GetValue();
internal DakotaFile()
{
Nutzdatendatei = new BlockFile(this);
Auftragsdatei = new Auftragsdatei(this);
Created = DateTime.Now;
}
public string GetTransferName()
{
return Verfahrenskennung + Transfernummer;
}
public string GetNutzdatendatei()
{
return Nutzdatendatei.GetRows();
}
public string GetAuftragsdatei()
{
return Auftragsdatei.GetRows();
}
public override string ToString()
{
return Nutzdatendatei.GetRows();
}
public string GetIKEmpfang()
{
return Nutzdatendatei.SegmentUNB.Empfangdatei.GetValue();
}
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
public abstract class Dateneinheit
{
public abstract string GetValue();
public abstract bool HasValue();
public string Title { get; set; }
}
}

View File

@@ -0,0 +1,98 @@
using Dakota.Models.Schlüssels;
using System;
namespace Dakota.Models.Daten
{
internal class Datenelement : Dateneinheit
{
private protected string _Value;
private protected bool _IgnoreCheck;
public int MinStellen { get; set; }
public int MaxStellen { get; set; }
public Feldart Feldart { get; set; }
public Datenelement(string title)
{
Title = title;
_IgnoreCheck = false;
}
public Datenelement(string title, int min, int max, Feldart art) : this(title)
{
MinStellen = min;
MaxStellen = max;
Feldart = art;
}
public Datenelement(string title, int count, Feldart art) : this(title, count, count, art)
{
}
public override string GetValue()
{
if (!HasValue())
{
if (Feldart == Feldart.Muss)
{
// Auffüllen
throw new ArgumentOutOfRangeException(Title, _Value, "muss gefühlt sein");
// throw new NotImplementedException("Error Code: 3483091097896");
}
else
{
// Leer lassen
return string.Empty;
}
}
if (!_IgnoreCheck && (_Value.Length < MinStellen || _Value.Length > MaxStellen))
{
throw new NotImplementedException("Error Code: 3483091097897");
}
return _Value;
}
public void ClearValue()
{
_Value = null;
}
public override bool HasValue()
{
return !string.IsNullOrEmpty(_Value);
}
public void SetValue(int value)
{
if (Feldart == Feldart.Kann && value == 0)
return;
SetValue(value.ToString());
}
public void SetValue(Schlüssel schlussel)
{
if (schlussel is null)
return;
SetValue(schlussel.Value);
}
public void SetValue(string value)
{
if (value is null)
return;
if (value.Length < MinStellen || value.Length > MaxStellen)
{
throw new ArgumentOutOfRangeException(Title, value, $"Wertebereich: min:max = ({MinStellen}:{MaxStellen})");
}
//else
//{
// throw new ArgumentOutOfRangeException(Title, value, "value ist kein string");
//}
DakotaValidator.ClearTextString(value);
_Value = value;
}
}
}

View File

@@ -0,0 +1,81 @@
using Dakota.Logic;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
public class DatenelementAuftragsdatei : Dateneinheit
{
private protected string _Value;
public int Stellen { get; private set; }
public FeldartAuftragsdatei Feldart { get; private set; }
public FeldtypAuftragsdatei Feldtyp { get; private set; }
public DatenelementAuftragsdatei(string title, int count, FeldtypAuftragsdatei typ, FeldartAuftragsdatei art)
{
Title = title;
Stellen = count;
Feldart = art;
Feldtyp = typ;
}
public override string GetValue()
{
if (_Value.Length < Stellen || _Value.Length > Stellen)
{
throw new NotImplementedException("Error Code: 3483091097897.2");
}
return _Value;
}
public override bool HasValue()
{
return !string.IsNullOrEmpty(_Value);
}
public void SetValue(int value)
{
SetValue(value.ToString());
}
public void SetValue(Schlüssel schlussel)
{
if (schlussel is null)
return;
SetValue(schlussel.Value);
}
public void SetValue(string value)
{
// Berücksichtige jedes Update
if (value is null)
value = string.Empty;
if (value.Length > Stellen)
throw new NotImplementedException("#43442353313451");
switch (Feldtyp)
{
case FeldtypAuftragsdatei.Numerisch:
value = DakotaUtils.FillFromLeft(value, Stellen, '0');
break;
case FeldtypAuftragsdatei.Alpha:
value = DakotaUtils.FillFromRight(value, Stellen, ' ');
break;
case FeldtypAuftragsdatei.Alphanumerisch:
value = DakotaUtils.FillFromRight(value, Stellen, ' ');
break;
default:
throw new NotImplementedException("#434423533131324");
}
//DakotaValidator.ClearTextString(value);
_Value = value;
}
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
internal class DatenelementCounter : DatenelementFiller
{
public Func<int> Counter { get; private set; }
public DatenelementCounter(string title, int count, Func<int> counter) : this(title, count, counter, count)
{
}
public DatenelementCounter(string title, int count, Func<int> counter, int filllen) : base(title, count, filllen)
{
Counter = counter;
}
public void Update()
{
var value = Counter();
SetValue(value.ToString("D" + MinStellen.ToString()));
}
public override string GetValue()
{
Update();
return base.GetValue();
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
internal class DatenelementDateTime : Datenelement
{
public DateTime? DateTime { get; set; }
public string Format { get; set; }
public DatenelementDateTime(string title, int count, string format, Feldart art) : base(title, count, count, art)
{
_IgnoreCheck = true;
Format = format;
}
public void SetValue(DateTime? input)
{
if(input.HasValue)
{
SetValue(input.Value.ToString(Format));
}
else
{
ClearValue();
}
}
}
}

View File

@@ -0,0 +1,47 @@
using Dakota.Models.Schlüssels;
using System;
namespace Dakota.Models.Daten
{
internal class DatenelementDecimal : Datenelement
{
public decimal DecimalValue { get; set; }
public DatenelementDecimal(string title, int min, int max, Feldart art) : base(title, min, max, art)
{
_IgnoreCheck = true;
}
public void SetValue(Decimal input)
{
decimal temp = input;
string dec;
if (temp != default(decimal))
{
dec = temp.ToString("#.00").Replace(".", ",");
var tester = Math.Abs(temp).ToString("#.00").Replace(".", "").Replace(",", "");
if (tester.Length < MinStellen || tester.Length > MaxStellen)
{
throw new NotImplementedException("Error Code: 3483091097895");
}
}
else
{
if(Feldart == Feldart.Kann)
{
dec = null;
}
else
{
dec = ",00";
}
temp = 0;
}
_Value = dec;
DecimalValue = temp;
}
}
}

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
internal class DatenelementFiller : Datenelement
{
public int Value { get; set; }
public int FillLength { get; set; }
public DatenelementFiller(string title, int count, int filllength) : base(title, count, Feldart.Muss)
{
FillLength = filllength;
Title = title;
}
public DatenelementFiller(string title, int min, int max, int filllength) : base(title, min, max, Feldart.Muss)
{
FillLength = filllength;
Title = title;
}
public new void SetValue(int value)
{
if (value.ToString().Length > FillLength)
throw new ArgumentOutOfRangeException("length", $"the length of {value} is bigger than len {FillLength}");
Value = value;
var temp = value.ToString("D" + FillLength.ToString());
SetValue(temp);
}
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Daten
{
internal class Datenelementgruppe : Dateneinheit
{
public Datenelement[] Datenelemente { get; set; }
public Datenelementgruppe(string title, int count)
{
if (count < 2)
throw new ArgumentOutOfRangeException("#37493218741616891269821");
Title = title;
Datenelemente = new Datenelement[count];
}
public void SetValue(int loc, string val)
{
Datenelemente[loc].SetValue(val);
}
public string GetValue(int loc)
{
return Datenelemente[loc].GetValue();
}
public override string GetValue()
{
return string.Join(DakotaConfig.TrennzeichenInnerhalb, Datenelemente.Select(x => x.GetValue()));
}
public override bool HasValue()
{
foreach (var seg in Datenelemente)
{
if (seg.HasValue())
return true;
}
return false;
}
}
}

13
Dakota/Models/IRowable.cs Normal file
View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models
{
internal interface IRow
{
string GetRows();
}
}

View File

@@ -0,0 +1,53 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoAbrechnungsfall
{
public string VersichtertenNummer { get; set; }
public string Versichertenstatus { get; set; }
public SchlüsselBeleginformation Beleginformation { get; set; }
public string Belegnummer { get; set; }
public string VersichtertenVorname { get; set; }
public string VersichtertenNachname { get; set; }
public DateTime? VersichtertenGeburtstag { get; set; }
public string VersichtertenStraßeNr { get; set; }
public string VersichtertenPLZ { get; set; }
public string VersichtertenWohnort { get; set; }
public string VersichtertenLanderkennung { get; set; }
public List<InfoAbrechnungsposition> InfosAbrechnungsposition { get; set; }
public string Betriebsstättennummer { get; set; }
public string LebenslangeArztnummer { get; set; }
public DateTime? Verordnungsdatum { get; set; }
public SchlüsselZuzahlung Zuzahlungskennzeichen { get; set; }
public SchlüsselUnfall Unfallkennzeichen { get; set; }
public SchlüsselBVG KennzeichenBVGSonstiges { get; set; }
public SchlüsselVerordnungsbesonderheiten KennzeichenVerordnungsbesonderheiten { get; set; }
public List<InfoBlockDiagnosen> DakotaInfoDiagnosen { get; set; }
public string Genehmigungskennzeichen { get; set; }
public DateTime? DatumDerGenehmigung { get; set; }
public SchlüsselArtDerGenehmigung ArtDerGenehmigung { get; set; }
//public decimal GesamtbetragBrutto { get; set; }
//public decimal GesamtbetragGesetzlicheZuzahlung { get; set; }
//public decimal GesamtbetragProzentualeZuzahlung { get; set; }
//public decimal PauschalerZuzahlungsbetrag { get; set; }
//public decimal GesamtbetragEigenanteil { get; set; }
public InfoAbrechnungsfall()
{
InfosAbrechnungsposition = new List<InfoAbrechnungsposition>();
DakotaInfoDiagnosen = new List<InfoBlockDiagnosen>();
}
}
}

View File

@@ -0,0 +1,36 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoAbrechnungsposition
{
// public string Identifikationsnummer { get; set; }
public SchlüsselAbrechnungscodes Abrechnungscode { get; set; }
public SchlüsselTarifkennzeichen Tarifkennzeichen => new SchlüsselTarifkennzeichen(TarifkennzeichenBereich, TarifkennzeichenSondertarif);
public SchlüsselTarifkennzeichenBereich TarifkennzeichenBereich { get; set; }
public SchlüsselTarifkennzeichenSondertarif TarifkennzeichenSondertarif { get; set; }
public SchlüsselPos Abrechnungsposition => new SchlüsselPos(AbrechnungspositionArtDerEinrichtung, AbrechnungspositionBehandlungsart, AbrechnungspositionVergütungsart);
public SchlüsselPosArtDerEinrichtung AbrechnungspositionArtDerEinrichtung { get; set; }
public SchlüsselPosBehandlungsart AbrechnungspositionBehandlungsart { get; set; }
public SchlüsselPosVergütungsart AbrechnungspositionVergütungsart { get; set; }
public decimal AnzahlMenge { get; set; }
public decimal EinzelbetragAbrechnungsposition { get; set; }
public DateTime? DatumDerLeistungserbringung { get; set; }
public decimal BetragZuzahlung { get; set; }
public decimal GefahreneKilometer { get; set; }
public DateTime? Uhrzeit { get; set; }
public DateTime? UhrzeitBis { get; set; }
public int Dauer { get; set; }
public string Text { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoBlockDiagnosen
{
public string Diagnoseschlüssel { get; set; }
public string Diagnosetext { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoBlockKostentrager
{
public InfoNachricht DakotaInfoSLGA { get; set; }
public InfoNachrichtSLGA DakotaInfoNachrichtSLGA { get; set; }
public List<InfoBlockKrankenkasse> BlockKvKarte { get; set; }
public InfoBlockKostentrager(string kostentrager)
{
BlockKvKarte = new List<InfoBlockKrankenkasse>();
IKKostentrager = kostentrager;
}
public string IKKostentrager { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoBlockKrankenkasse
{
public InfoNachricht DakotaInfoSLGA { get; set; }
public InfoNachrichtSLGA DakotaInfoNachrichtSLGA { get; set; }
public InfoNachricht DakotaInfoSLLA { get; set; }
public InfoNachrichtSLLA DakotaInfoNachrichtSLLA { get; set; }
public InfoBlockKrankenkasse(string ikkvkarte)
{
IKKrankenkasse = ikkvkarte;
}
public string IKKrankenkasse { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
public class InfoDateiAuftrags
{
public int Identifikator { get; set; }
public int Version { get; set; }
public int LangeAuftrag { get; set; }
public int SequenzNummer { get; set; }
public string VerfahrenKennung { get; set; }
public int TransferNummer { get; set; }
public string VerfahrenKennungSpezifikation { get; set; }
public string AbsenderEigner { get; set; }
public string AbsenderPhysikalisch { get; set; }
public string EmpfangerNutzer { get; set; }
public string EmpfangerPhysikalisch { get; set; }
public int FehlerNummer { get; set; }
public int FehlerMassnahme { get; set; }
public string Dateiname { get; set; }
// public string DatumErstellung { get; set; }
// public string DatumUbertragungGesendet { get; set; }
public string DatumUbertragungEmpfangenStart { get; set; }
public string DatumUbertragungEmpfangenEnde { get; set; }
public int DateiVersion { get; set; }
public int Korrektur { get; set; }
public int DateigrosseNutzdaten { get; set; }
public int DateigrosseUbertragung { get; set; }
public string Zeichensatz { get; set; }
public int Komprimierung { get; set; }
public int Verschlusselungsart { get; set; }
public int ElektronischeUnterschrift { get; set; }
public string Satzformat { get; set; }
public int Satzlange { get; set; }
public int Blocklange { get; set; }
public string Status { get; set; }
public int Wiederholung { get; set; }
public int Übertragungsweg { get; set; }
public int VerzögerterVersand { get; set; }
public int InfoUndFehlerFelder { get; set; }
public string VariablesInfoFeld { get; set; }
public string EMailAdresseAbsender { get; set; }
public string DateiBezeichnung { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using BS.Shared.DataContracts;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
namespace Dakota.Models.Infos
{
/// <summary>
/// Klasse zum Erzeugen von Dakota Files
/// </summary>
public class InfoDateiNutzdaten
{
private int _Datenaustauschreferenz;
public string SyntaxKennung { get; set; }
public string SyntaxVersion { get; set; }
public string Absenderbezeichnung { get; set; }
public string Empfangerbezeichnung { get; set; }
public int Datenaustauschreferenz
{
get { return _Datenaustauschreferenz; }
set
{
if (value < 1)
throw new ArgumentOutOfRangeException("Datenaustauschreferenz", "Referenz darf nicht negativ sein");
else if (value == 0)
throw new ArgumentOutOfRangeException("Datenaustauschreferenz", "Referenz darf nicht gleich null sein");
else if (value > 100000)
throw new ArgumentOutOfRangeException("Datenaustauschreferenz", "Referenz darf nicht größer als 99999 sein");
else if (value == 100000)
value = 1;
_Datenaustauschreferenz = value;
}
}
public SchlüsselLeistungserbringerSammelgruppenschlussel Leistungsbereich { get; set; }
public string Anwendungsreferenz { get; set; }
public SchlüsselTestindikator Testindikator { get; set; }
internal List<InfoBlockKostentrager> BlockKostentragers { get; set; }
public InfoDateiNutzdaten()
{
BlockKostentragers = new List<InfoBlockKostentrager>();
}
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
public class InfoNachricht
{
public int Nachrichtenreferenznummer { get; set; }
public string NachrichtenTypKennung { get; set; }
public string NachrichtenVersionsnummer { get; set; }
public string NachrichtenFreigabeNrTages { get; set; }
public string NachrichtenVerwaltendeOrganisation { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
public class InfoNachrichtSLGA
{
public SchlüsselVerarbeitungskennzeichen Verarbeitungskennzeichen { get; set; }
public string IKAbsender { get; set; }
public string IKLeistungserbringer { get; set; }
public string IKKrankenkasse { get; set; }
public string IKKostentrager { get; set; }
public string Rechnungsnummer { get; set; }
public DateTime? Rechnungsdatum { get; set; }
public SchlüsselRechnungsart Rechnungsart { get; set; }
public string Name1 { get; set; }
public string Name2 { get; set; }
public string Name3 { get; set; }
public string Name4 { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
internal class InfoNachrichtSLLA
{
public SchlüsselVerarbeitungskennzeichen Verarbeitungskennzeichen { get; set; }
public string IKAbsender { get; set; }
public string IKLeistungserbringer { get; set; }
public string IKKostentrager { get; set; }
public string IKKrankenkasse { get; set; }
public string Rechnungsnummer { get; set; }
public DateTime? Rechnungsdatum { get; set; }
public SchlüsselRechnungsart Rechnungsart { get; set; }
public List<InfoAbrechnungsfall> Abrechnungsfalle { get; set; }
}
}

View File

@@ -0,0 +1,37 @@
using BS.Shared.DataContracts;
using Dakota.Models.Schlüssels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Infos
{
public struct InfoParameterInvoiceItem
{
public InvoiceBaseDC InvoiceBase { get; set; }
public InvoiceItemDC InvoiceItem { get; set; }
public ServiceInvoiceDC ServiceInvoice { get; set; }
public CustomerDC Customer { get; set; }
public OrganisationDC Organisation { get; set; }
public MandatorDC Mandator { get; set; }
public string IKDatenannahmestelle => Organisation.IKDatenannahmestelle;
public string IKKostentrager => Organisation.IKKostentrager;
public string IKKrankenkasse => Organisation.IKKrankenkasse;
public string IKLeistungserbringer => Mandator.IKLeistungserbringer;
public string Belegnummer => "444444test";
public InfoParameterInvoiceItem(ServiceInvoiceDC serviceInvoice, InvoiceItemDC invoiceItem, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator)
{
InvoiceItem = invoiceItem;
InvoiceBase = serviceInvoice.InvoiceBase;
ServiceInvoice = serviceInvoice;
Customer = customer;
Organisation = organisation;
Mandator = mandator;
}
}
}

View File

@@ -0,0 +1,42 @@
using Dakota.Models.Segmente;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Nachrichten
{
internal abstract class Nachricht : IRow
{
public abstract List<Segment> GetAllSegments();
public List<Segment> GetSegments()
{
return GetAllSegments().Where(x => !x.ShouldSkip()).ToList();
}
public int GetSegmentLength()
{
return GetSegments().Count + 2;
}
public string GetRows()
{
var segs = GetSegments();
var res = new List<string>();
if (segs is null || !segs.Any())
return string.Empty;
foreach (var seg in segs)
{
res.Add(seg.GetRow());
}
var str = string.Join(DakotaConfig.NewLine, res);
return str;
}
}
}

View File

@@ -0,0 +1,96 @@
using Dakota.Models.Infos;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLGA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Nachrichten
{
/// <summary>
/// Gesamtaufstellung der
/// Abrechnung(Rechnung)
/// </summary>
internal class NachrichtSLGA : Nachricht
{
/// <summary>
/// Das Segment enthält Informationen über die zu verarbeitende Rechnung, den Rechnungssteller
/// (Leistungserbringer oder Abrechnungsstelle) und das IK der Krankenkasse von
/// der Krankenversichertenkarte bzw.von der ärztlichen Verordnung
/// </summary>
public SegmentSLGAFKT SegmentFKT { get; set; }
/// <summary>
/// Das Segment enthält die Rechnungsinformationen, wie Rechnungsnummer und Rechnungsdatum.
/// </summary>
public SegmentSLGAREC SegmentREC { get; set; }
/// <summary>
/// Das Segment enthält Informationen zur Umsatzsteuer.
/// </summary>
public SegmentSLGAUST SegmentUST { get; set; }
/// <summary>
/// Das Segment enthält Informationen, ob Skonto gewährt wird
/// (Skonto in Prozent, Zahlungsziel).
/// </summary>
public SegmentSLGASKO SegmentSKO { get; set; }
/// <summary>
/// Das Segment enthält Rechnungssummen (Bruttobetrag, Zuzahlungsbetrag, Nettobetrag je Status).
/// </summary>
public SegmentSLGAGES SegmentGES00 { get; set; }
/// <summary>
/// Das Segment enthält Rechnungssummen (Bruttobetrag, Zuzahlungsbetrag, Nettobetrag je Status).
/// </summary>
public List<SegmentSLGAGES> ListSegmentGES { get; set; }
/// <summary>
/// Das Segment enthält den Namen und die Firmenbezeichnung des Leistungserbringers
/// </summary>
public SegmentSLGANAM SegmentNAM { get; set; }
public NachrichtSLGA()
{
SegmentFKT = new SegmentSLGAFKT();
SegmentREC = new SegmentSLGAREC();
SegmentUST = new SegmentSLGAUST();
SegmentSKO = new SegmentSLGASKO();
SegmentGES00 = new SegmentSLGAGES();
ListSegmentGES = new List<SegmentSLGAGES>();
SegmentNAM = new SegmentSLGANAM();
}
public override List<Segment> GetAllSegments()
{
var res = new List<Segment>();
res.Add(SegmentFKT);
res.Add(SegmentREC);
res.Add(SegmentUST);
res.Add(SegmentSKO);
res.Add(SegmentGES00);
res.AddRange(ListSegmentGES);
res.Add(SegmentNAM);
return res;
}
public void Apply(InfoNachrichtSLGA info)
{
SegmentFKT.Verarbeitungskennzeichen.SetValue(info.Verarbeitungskennzeichen);
SegmentFKT.Sammelrechnung.SetValue("J");
SegmentFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringer);
SegmentFKT.IKKostenträger.SetValue(info.IKKostentrager);
SegmentFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
SegmentFKT.IKAbsender.SetValue(info.IKAbsender);
SegmentREC.SammelRechnungsnummer.SetValue(info.Rechnungsnummer);
SegmentREC.EinzelRechnungsnummer.SetValue("0");
SegmentREC.Rechnungsdatum.SetValue(info.Rechnungsdatum);
SegmentREC.Rechnungsart.SetValue(info.Rechnungsart);
SegmentNAM.Name1.SetValue(info.Name1);
SegmentNAM.Name2.SetValue(info.Name2);
SegmentNAM.Name3.SetValue(info.Name3);
SegmentNAM.Name4.SetValue(info.Name4);
}
}
}

View File

@@ -0,0 +1,82 @@
using Dakota.Models.Blocke;
using Dakota.Models.Infos;
using Dakota.Models.Segmente;
using Dakota.Models.Segmente.SLLA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Nachrichten
{
/// <summary>
/// Leistungserbringer
/// </summary>
internal class NachrichtSLLA : Nachricht
{
/// <summary>
/// Das Segment enthält Informationen über den tatsächlichen
/// Leistungserbringer und das IK der Krankenkasse von der
/// Krankenversichertenkarte bzw.der ärztlichen Verordnung bezogen auf die folgenden Abrechnungsfälle.Es kommt je Nachricht nur einmal vor.
/// </summary>
public SegmentSLLAFKT SegmentSLLAFKT { get; private set; }
/// <summary>
/// Das Segment enthält die Rechnungsinformationen, wie Rechnungsnummer und Rechnungsdatum
/// </summary>
public SegmentSLLAREC SegmentSLLAREC { get; private set; }
/// <summary>
/// Abrechnungsfälle (INV - BES)
/// </summary>
public List<BlockKlient> BlockKlienten { get; set; }
public NachrichtSLLA()
{
SegmentSLLAFKT = new SegmentSLLAFKT();
SegmentSLLAREC = new SegmentSLLAREC();
BlockKlienten = new List<BlockKlient>();
}
public override List<Segment> GetAllSegments()
{
var list = new List<Segment>() { SegmentSLLAFKT, SegmentSLLAREC };
foreach (var block in BlockKlienten)
{
list.AddRange(block.GetSegments());
}
return list;
}
public void Add(BlockKlient fall)
{
BlockKlienten.Add(fall);
}
public void Apply(InfoNachrichtSLLA info)
{
SegmentSLLAFKT.Verarbeitungskennzeichen.SetValue(info.Verarbeitungskennzeichen);
SegmentSLLAFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringer);
SegmentSLLAFKT.IKKostenträgers.SetValue(info.IKKostentrager);
SegmentSLLAFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
SegmentSLLAFKT.IKRechnungsstellers.SetValue(info.IKAbsender);
foreach (var infofall in info.Abrechnungsfalle)
{
var block = new BlockKlient();
block.Apply(infofall);
Add(block);
}
SegmentSLLAREC.SammelRechnungsnummer.SetValue(info.Rechnungsnummer);
SegmentSLLAREC.EinzelRechnungsnummer.SetValue("0");
SegmentSLLAREC.Rechnungsdatum.SetValue(info.Rechnungsdatum);
SegmentSLLAREC.Rechnungsart.SetValue(info.Rechnungsart);
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public abstract class Schlüssel
{
public string Value { get; set; }
public Schlüssel(string val)
{
Value = val;
}
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselAbrechnungscodes : Schlüssel
{
public SchlüsselAbrechnungscodes(string val) : base(val) { }
public static SchlüsselAbrechnungscodes SozialpädiatrischeZentren => new SchlüsselAbrechnungscodes("68");
public static SchlüsselAbrechnungscodes SoziotherapeutischerLeistungserbringer => new SchlüsselAbrechnungscodes("69");
public static SchlüsselAbrechnungscodes SpezialisierteAmbulantePalliativversorgung => new SchlüsselAbrechnungscodes("75");
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
/// <summary>
/// Unvollständiges Schlüssel Verzeichnis
/// </summary>
public class SchlüsselArtDerGenehmigung : Schlüssel
{
public SchlüsselArtDerGenehmigung(string val) : base(val) { }
public static SchlüsselArtDerGenehmigung BereichSonstigeGenehmigungImEinzelfall => new SchlüsselArtDerGenehmigung("N1");
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
/// <summary>
/// Ja, das ist echt so
/// </summary>
public class SchlüsselBVG : Schlüssel
{
public SchlüsselBVG(string val) : base(val) { }
public static SchlüsselBVG BVG => new SchlüsselBVG("6");
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselBeleginformation : Schlüssel
{
public SchlüsselBeleginformation(string val) : base(val) { }
public static SchlüsselBeleginformation KeineBeleguebermittlung => new SchlüsselBeleginformation("0");
public static SchlüsselBeleginformation BelegePerPost => new SchlüsselBeleginformation("1");
public static SchlüsselBeleginformation BelegeElektronisch => new SchlüsselBeleginformation("2");
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselLeistungserbringerSammelgruppenschlussel : Schlüssel
{
public SchlüsselLeistungserbringerSammelgruppenschlussel(string val) : base(val) { }
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHilfsmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("A");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHeilmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("B");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHäuslicherKrankenpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("C");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHaushaltshilfe => new SchlüsselLeistungserbringerSammelgruppenschlussel("D");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonKrankentransportleistungen => new SchlüsselLeistungserbringerSammelgruppenschlussel("E");
public static SchlüsselLeistungserbringerSammelgruppenschlussel Hebammen => new SchlüsselLeistungserbringerSammelgruppenschlussel("F");
public static SchlüsselLeistungserbringerSammelgruppenschlussel NichtArztlicheDialyseachleistung => new SchlüsselLeistungserbringerSammelgruppenschlussel("G");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonRehabilitationssport => new SchlüsselLeistungserbringerSammelgruppenschlussel("H");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonFunktionstraining => new SchlüsselLeistungserbringerSammelgruppenschlussel("I");
public static SchlüsselLeistungserbringerSammelgruppenschlussel WeitereSonstigeLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("J");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerPräventions => new SchlüsselLeistungserbringerSammelgruppenschlussel("K");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerRehamassnahmen => new SchlüsselLeistungserbringerSammelgruppenschlussel("L");
public static SchlüsselLeistungserbringerSammelgruppenschlussel SozialpädiatrischeZentren => new SchlüsselLeistungserbringerSammelgruppenschlussel("M");
public static SchlüsselLeistungserbringerSammelgruppenschlussel SoziotherapeutischerLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("N");
public static SchlüsselLeistungserbringerSammelgruppenschlussel SAPV => new SchlüsselLeistungserbringerSammelgruppenschlussel("O");
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerNach132gSGB => new SchlüsselLeistungserbringerSammelgruppenschlussel("P");
public static SchlüsselLeistungserbringerSammelgruppenschlussel Kurzzeitpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("Q");
}
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselPos : Schlüssel
{
public SchlüsselPos(SchlüsselPosArtDerEinrichtung s1, SchlüsselPosBehandlungsart s2, SchlüsselPosVergütungsart s3) : base(s1.Value + s2.Value + s3.Value) { }
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselPosArtDerEinrichtung : Schlüssel
{
public SchlüsselPosArtDerEinrichtung(string val) : base(val) { }
public static SchlüsselPosArtDerEinrichtung SozialpädiatrischesZentrum => new SchlüsselPosArtDerEinrichtung("01");
public static SchlüsselPosArtDerEinrichtung Frühfördereinrichtung => new SchlüsselPosArtDerEinrichtung("02");
public static SchlüsselPosArtDerEinrichtung integrativerKindergarten => new SchlüsselPosArtDerEinrichtung("03");
public static SchlüsselPosArtDerEinrichtung Tagesstätte => new SchlüsselPosArtDerEinrichtung("04");
public static SchlüsselPosArtDerEinrichtung AmbulanteIntensivförderungseinrichtung => new SchlüsselPosArtDerEinrichtung("05");
public static SchlüsselPosArtDerEinrichtung WohnheimWerkstattFörderstätte => new SchlüsselPosArtDerEinrichtung("06");
public static SchlüsselPosArtDerEinrichtung TagesstättePsychischKranke => new SchlüsselPosArtDerEinrichtung("07");
public static SchlüsselPosArtDerEinrichtung Sonderkindergarten => new SchlüsselPosArtDerEinrichtung("08");
public static SchlüsselPosArtDerEinrichtung Sprachheilambulanz => new SchlüsselPosArtDerEinrichtung("09");
public static SchlüsselPosArtDerEinrichtung Institutsambulanz => new SchlüsselPosArtDerEinrichtung("10");
public static SchlüsselPosArtDerEinrichtung Gebärdendolmetscher => new SchlüsselPosArtDerEinrichtung("11");
public static SchlüsselPosArtDerEinrichtung Hochschulambulanz => new SchlüsselPosArtDerEinrichtung("12");
public static SchlüsselPosArtDerEinrichtung PsychiatrischeHochschulambulanz => new SchlüsselPosArtDerEinrichtung("13");
public static SchlüsselPosArtDerEinrichtung PsychiatrischeInstitutsambulanz => new SchlüsselPosArtDerEinrichtung("14");
public static SchlüsselPosArtDerEinrichtung SoziotherapeutischerLeistungserbringer => new SchlüsselPosArtDerEinrichtung("20");
public static SchlüsselPosArtDerEinrichtung VollstationärePflegeeinrichtung => new SchlüsselPosArtDerEinrichtung("30");
public static SchlüsselPosArtDerEinrichtung EinrichtungEingliederungshilfe => new SchlüsselPosArtDerEinrichtung("31");
public static SchlüsselPosArtDerEinrichtung SonstigeEinrichtung => new SchlüsselPosArtDerEinrichtung("99");
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselPosBehandlungsart : Schlüssel
{
public SchlüsselPosBehandlungsart(string val) : base(val) { }
public static SchlüsselPosBehandlungsart Einzelbehandlung => new SchlüsselPosBehandlungsart("01");
public static SchlüsselPosBehandlungsart Gruppenbehandlung => new SchlüsselPosBehandlungsart("02");
public static SchlüsselPosBehandlungsart Sonstiges => new SchlüsselPosBehandlungsart("09");
}
}

View File

@@ -0,0 +1,166 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselPosVergütungsart : Schlüssel
{
public string FullText { get; set; }
public SchlüsselPosVergütungsart(string val, string full) : base(val)
{
FullText = full;
}
public static SchlüsselPosVergütungsart Pauschale1 => new SchlüsselPosVergütungsart("001", "Pauschale 1");
public static SchlüsselPosVergütungsart Pauschale2 => new SchlüsselPosVergütungsart("002", "Pauschale 2");
public static SchlüsselPosVergütungsart Pauschale3 => new SchlüsselPosVergütungsart("003", "Pauschale 3");
public static SchlüsselPosVergütungsart Pauschale4 => new SchlüsselPosVergütungsart("004", "Pauschale 4");
public static SchlüsselPosVergütungsart Pauschale5 => new SchlüsselPosVergütungsart("005", "Pauschale 5");
public static SchlüsselPosVergütungsart Pauschale6 => new SchlüsselPosVergütungsart("006", "Pauschale 6");
public static SchlüsselPosVergütungsart Pauschale7 => new SchlüsselPosVergütungsart("007", "Pauschale 7");
public static SchlüsselPosVergütungsart Pauschale8 => new SchlüsselPosVergütungsart("008", "Pauschale 8");
public static SchlüsselPosVergütungsart Pauschale9 => new SchlüsselPosVergütungsart("009", "Pauschale 9");
public static SchlüsselPosVergütungsart Pauschale10 => new SchlüsselPosVergütungsart("010", "Pauschale 10");
public static SchlüsselPosVergütungsart Pauschale11 => new SchlüsselPosVergütungsart("011", "Pauschale 11");
public static SchlüsselPosVergütungsart Pauschale12 => new SchlüsselPosVergütungsart("012", "Pauschale 12");
public static SchlüsselPosVergütungsart Pauschale13 => new SchlüsselPosVergütungsart("013", "Pauschale 13");
public static SchlüsselPosVergütungsart Pauschale14 => new SchlüsselPosVergütungsart("014", "Pauschale 14");
public static SchlüsselPosVergütungsart Pauschale15 => new SchlüsselPosVergütungsart("015", "Pauschale 15");
public static SchlüsselPosVergütungsart Pauschale16 => new SchlüsselPosVergütungsart("016", "Pauschale 16");
public static SchlüsselPosVergütungsart Pauschale17 => new SchlüsselPosVergütungsart("017", "Pauschale 17");
public static SchlüsselPosVergütungsart Pauschale18 => new SchlüsselPosVergütungsart("018", "Pauschale 18");
public static SchlüsselPosVergütungsart Pauschale19 => new SchlüsselPosVergütungsart("019", "Pauschale 19");
public static SchlüsselPosVergütungsart Pauschale20 => new SchlüsselPosVergütungsart("020", "Pauschale 20");
public static SchlüsselPosVergütungsart KrankenhilfepauschaleHeilmittel => new SchlüsselPosVergütungsart("021", "Krankenhilfepauschale Heilmittel");
public static SchlüsselPosVergütungsart KrankenhilfepauschaleArzneimittel => new SchlüsselPosVergütungsart("022", "Krankenhilfepauschale Arzneimittel");
public static SchlüsselPosVergütungsart GrundpauschaleJeNeuZuTherapierendenPatienten => new SchlüsselPosVergütungsart("600", "Grundpauschale je neu zu therapierenden Patienten");
public static SchlüsselPosVergütungsart GrundpauschaleNach60Therapiestunde => new SchlüsselPosVergütungsart("601", "Grundpauschale nach 60. Therapiestunde");
public static SchlüsselPosVergütungsart GrundpauschaleNach90Therapiestunde => new SchlüsselPosVergütungsart("602", "Grundpauschale nach 90. Therapiestunde");
public static SchlüsselPosVergütungsart ErstellungEinesBetreuungsplanesUndAbstimmungMitArzt => new SchlüsselPosVergütungsart("603", "Erstellung eines Betreuungsplanes und Abstimmung mit Arzt (60 Minuten)");
public static SchlüsselPosVergütungsart ProbestundeOhneVerordnung60Minuten => new SchlüsselPosVergütungsart("604", "Probestunde ohne Verordnung 60 Minuten");
public static SchlüsselPosVergütungsart ProbestundeOhneVerordnung10Minuten => new SchlüsselPosVergütungsart("605", "Probestunde ohne Verordnung 10 Minuten");
public static SchlüsselPosVergütungsart ProbestundeOhneVerordnung1Minute => new SchlüsselPosVergütungsart("606", "Probestunde ohne Verordnung 1 Minute");
public static SchlüsselPosVergütungsart ProbestundeMitVerordnung60Minuten => new SchlüsselPosVergütungsart("607", "Probestunde mit Verordnung 60 Minuten");
public static SchlüsselPosVergütungsart ProbestundeMitVerordnung10Minuten => new SchlüsselPosVergütungsart("608", "Probestunde mit Verordnung 10 Minuten");
public static SchlüsselPosVergütungsart ProbestundeMitVerordnung1Minute => new SchlüsselPosVergütungsart("609", "Probestunde mit Verordnung 1 Minute");
public static SchlüsselPosVergütungsart Einzelbehandlung60Minuten => new SchlüsselPosVergütungsart("610", "Einzelbehandlung 60 Minuten");
public static SchlüsselPosVergütungsart Einzelbehandlung45Minuten => new SchlüsselPosVergütungsart("611", "Einzelbehandlung 45 Minuten");
public static SchlüsselPosVergütungsart Einzelbehandlung30Minuten => new SchlüsselPosVergütungsart("612", "Einzelbehandlung 30 Minuten");
public static SchlüsselPosVergütungsart Einzelbehandlung10Minuten => new SchlüsselPosVergütungsart("613", "Einzelbehandlung 10 Minuten");
public static SchlüsselPosVergütungsart Einzelbehandlung1Minute => new SchlüsselPosVergütungsart("614", "Einzelbehandlung 1 Minute");
public static SchlüsselPosVergütungsart EinzelbehandlungPerVideotelefonie60Minuten => new SchlüsselPosVergütungsart("615", "Einzelbehandlung per Videotelefonie - 60 Minuten");
public static SchlüsselPosVergütungsart EinzelbehandlungPerVideotelefonie30Minuten => new SchlüsselPosVergütungsart("616", "Einzelbehandlung per Videotelefonie - 30 Minuten");
public static SchlüsselPosVergütungsart EinzelbehandlungPerTelefonie60Minuten => new SchlüsselPosVergütungsart("617", "Einzelbehandlung per Telefonie - 60 Minuten");
public static SchlüsselPosVergütungsart EinzelbehandlungPerTelefonie30Minuten => new SchlüsselPosVergütungsart("618", "Einzelbehandlung per Telefonie - 30 Minuten");
public static SchlüsselPosVergütungsart TherapieeinheitBeiÜberweisungZurIndikationsstellung60Minuten => new SchlüsselPosVergütungsart("620", "Therapieeinheit bei Überweisung zur Indikationsstellung 60 Minuten");
public static SchlüsselPosVergütungsart TherapieeinheitBeiÜberweisungZurIndikationsstellung10Minuten => new SchlüsselPosVergütungsart("621", "Therapieeinheit bei Überweisung zur Indikationsstellung 10 Minuten");
public static SchlüsselPosVergütungsart TherapieeinheitBeiÜberweisungZurIndikationsstellung1Minute => new SchlüsselPosVergütungsart("622", "Therapieeinheit bei Überweisung zur Indikationsstellung 1 Minute");
public static SchlüsselPosVergütungsart GrundpauschaleJeNeuZuTherapierendenPatientenGruppe => new SchlüsselPosVergütungsart("640", "Grundpauschale je neu zu therapierenden Patienten");
public static SchlüsselPosVergütungsart GrundpauschaleAb60Therapiestunde => new SchlüsselPosVergütungsart("641", "Grundpauschale ab 60. Therapiestunde");
public static SchlüsselPosVergütungsart GrundpauschaleAb90Therapiestunde => new SchlüsselPosVergütungsart("642", "Grundpauschale ab 90. Therapiestunde");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten2Teilnehmer => new SchlüsselPosVergütungsart("650", "Gruppenbehandlung 90 Minuten 2 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten3Teilnehmer => new SchlüsselPosVergütungsart("651", "Gruppenbehandlung 90 Minuten 3 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten4Teilnehmer => new SchlüsselPosVergütungsart("652", "Gruppenbehandlung 90 Minuten 4 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten5Teilnehmer => new SchlüsselPosVergütungsart("653", "Gruppenbehandlung 90 Minuten 5 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten6Teilnehmer => new SchlüsselPosVergütungsart("654", "Gruppenbehandlung 90 Minuten 6 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten7Teilnehmer => new SchlüsselPosVergütungsart("655", "Gruppenbehandlung 90 Minuten 7 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten8Teilnehmer => new SchlüsselPosVergütungsart("656", "Gruppenbehandlung 90 Minuten 8 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten9Teilnehmer => new SchlüsselPosVergütungsart("657", "Gruppenbehandlung 90 Minuten 9 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten10Teilnehmer => new SchlüsselPosVergütungsart("658", "Gruppenbehandlung 90 Minuten 10 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten11Teilnehmer => new SchlüsselPosVergütungsart("659", "Gruppenbehandlung 90 Minuten 11 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten12Teilnehmer => new SchlüsselPosVergütungsart("660", "Gruppenbehandlung 90 Minuten 12 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten2bis3Teilnehmer => new SchlüsselPosVergütungsart("670", "Gruppenbehandlung 90 Minuten 2 bis 3 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten2bis4Teilnehmer => new SchlüsselPosVergütungsart("671", "Gruppenbehandlung 90 Minuten 2 bis 4 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten2bis5Personen => new SchlüsselPosVergütungsart("672", "Gruppenbehandlung 90 Minuten 2 bis 5 Personen");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten4bis6Teilnehmer => new SchlüsselPosVergütungsart("673", "Gruppenbehandlung 90 Minuten 4 bis 6 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten5bis7Teilnehmer => new SchlüsselPosVergütungsart("674", "Gruppenbehandlung 90 Minuten 5 bis 7 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten6bis12Personen => new SchlüsselPosVergütungsart("675", "Gruppenbehandlung 90 Minuten 6 bis 12 Personen");
public static SchlüsselPosVergütungsart Gruppenbehandlung90Minuten8bis12Teilnehmer => new SchlüsselPosVergütungsart("676", "Gruppenbehandlung 90 Minuten 8 bis 12 Teilnehmer");
public static SchlüsselPosVergütungsart Gruppenbehandlung60Minuten2bis5Personen => new SchlüsselPosVergütungsart("677", "Gruppenbehandlung 60 Minuten 2 bis 5 Personen");
public static SchlüsselPosVergütungsart Gruppenbehandlung45Minuten2bis5Personen => new SchlüsselPosVergütungsart("678", "Gruppenbehandlung 45 Minuten 2 bis 5 Personen");
public static SchlüsselPosVergütungsart HausbesuchspauschaleFahrtkosten => new SchlüsselPosVergütungsart("690", "Hausbesuchspauschale/Fahrtkosten");
public static SchlüsselPosVergütungsart WegegeldpauschaleWegegebühren => new SchlüsselPosVergütungsart("691", "Wegegeldpauschale/Wegegebühren");
public static SchlüsselPosVergütungsart WegegeldJeKm => new SchlüsselPosVergütungsart("692", "Wegegeld je km");
public static SchlüsselPosVergütungsart FahrkostenÖPNV => new SchlüsselPosVergütungsart("693", "Fahrkosten ÖPNV");
public static SchlüsselPosVergütungsart BesuchspauschaleFürFahrtenBis15KmEinfach => new SchlüsselPosVergütungsart("694", "Besuchspauschale für Fahrten bis 15 km (einfach)");
public static SchlüsselPosVergütungsart BesuchspauschaleFürFahrtenÜber15KmEinfach => new SchlüsselPosVergütungsart("695", "Besuchspauschale für Fahrten über 15 km (einfach)");
public static SchlüsselPosVergütungsart KHVermeidung01bis03Tage => new SchlüsselPosVergütungsart("680", "KH Vermeidung 01 bis 03 Tage");
public static SchlüsselPosVergütungsart KHVermeidung04bis12Tage => new SchlüsselPosVergütungsart("681", "KH Vermeidung 04 bis 12 Tage");
public static SchlüsselPosVergütungsart KHVermeidung13bis21Tage => new SchlüsselPosVergütungsart("682", "KH Vermeidung 13 bis 21 Tage");
public static SchlüsselPosVergütungsart KHVermeidung22bis29Tage => new SchlüsselPosVergütungsart("683", "KH Vermeidung 22 bis 29 Tage");
public static SchlüsselPosVergütungsart KHVermeidung30bis34Tage => new SchlüsselPosVergütungsart("684", "KH Vermeidung 30 bis 34 Tage");
public static SchlüsselPosVergütungsart KHVermeidung35undmehrTage => new SchlüsselPosVergütungsart("685", "KH Vermeidung 35 und mehr Tage");
public static SchlüsselPosVergütungsart BesuchspauschalenFürFahrtenBis20Km => new SchlüsselPosVergütungsart("686", "Besuchspauschalen für Fahrten bis 20 km");
public static SchlüsselPosVergütungsart BesuchspauschalenFürFahrtenÜber20Km => new SchlüsselPosVergütungsart("687", "Besuchspauschalen für Fahrten über 20 km");
public static SchlüsselPosVergütungsart Teamgespräch => new SchlüsselPosVergütungsart("901", "Teamgespräch");
public static SchlüsselPosVergütungsart MobileBehandlung => new SchlüsselPosVergütungsart("902", "Mobile Behandlung");
public static SchlüsselPosVergütungsart TeamgesprächKrankengymnastik => new SchlüsselPosVergütungsart("903", "Teamgespräch Krankengymnastik");
public static SchlüsselPosVergütungsart TeamgesprächLogopädie => new SchlüsselPosVergütungsart("904", "Teamgespräch Logopädie");
public static SchlüsselPosVergütungsart TeamgesprächErgotherapie => new SchlüsselPosVergütungsart("905", "Teamgespräch Ergotherapie");
public static SchlüsselPosVergütungsart TeamgesprächsaufschlagJeTherapietagKrankengymnastik => new SchlüsselPosVergütungsart("910", "Teamgesprächsaufschlag je Therapietag Krankengymnastik");
public static SchlüsselPosVergütungsart TeamgesprächsaufschlagJeTherapietagLogopädie => new SchlüsselPosVergütungsart("912", "Teamgesprächsaufschlag je Therapietag Logopädie");
public static SchlüsselPosVergütungsart TeamgesprächsaufschlagJeTherapietagErgotherapie => new SchlüsselPosVergütungsart("914", "Teamgesprächsaufschlag je Therapietag Ergotherapie");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungKrankengymnastik => new SchlüsselPosVergütungsart("916", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines Patienten in seiner Wohnung (Krankengymnastik)");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungLogopädie => new SchlüsselPosVergütungsart("918", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines Patienten in seiner Wohnung (Logopädie)");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungErgotherapie => new SchlüsselPosVergütungsart("920", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines Patienten in seiner Wohnung (Ergotherapie)");
public static SchlüsselPosVergütungsart KilometerpauschaleFürÄrztlichVerordneteHausbesuche => new SchlüsselPosVergütungsart("921", "Kilometerpauschale für ärztlich verordnete Hausbesuche");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientKrankengymnastik => new SchlüsselPosVergütungsart("922", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines oder mehrerer Patienten in derselben sozialen Einrichtung (z. B. Pflegeheime etc.) an einem Tag - je Patient (Krankengymnastik)");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientLogopädie => new SchlüsselPosVergütungsart("924", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines oder mehrerer Patienten in derselben sozialen Einrichtung (z. B. Pflegeheime etc.) an einem Tag - je Patient (Logopädie)");
public static SchlüsselPosVergütungsart AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientErgotherapie => new SchlüsselPosVergütungsart("926", "Abrechungspauschale für den verordneten Hausbesuch inklusive Wegegeld eines oder mehrerer Patienten in derselben sozialen Einrichtung (z. B. Pflegeheime etc.) an einem Tag - je Patient (Ergotherapie)");
public static SchlüsselPosVergütungsart VergütungNach132gSGBVPauschale => new SchlüsselPosVergütungsart("927", "Vergütung nach § 132g SGB V Pauschale");
public static List<SchlüsselPosVergütungsart> Pauschalen = new List<SchlüsselPosVergütungsart>()
{
Pauschale1, Pauschale2, Pauschale3, Pauschale4, Pauschale5, Pauschale6, Pauschale7, Pauschale8,
Pauschale9, Pauschale10, Pauschale11, Pauschale12, Pauschale13, Pauschale14, Pauschale15, Pauschale16,
Pauschale17, Pauschale18, Pauschale19, Pauschale20, KrankenhilfepauschaleHeilmittel, KrankenhilfepauschaleArzneimittel
};
public static List<SchlüsselPosVergütungsart> SozioEinzel = new List<SchlüsselPosVergütungsart>()
{
GrundpauschaleJeNeuZuTherapierendenPatienten, GrundpauschaleNach60Therapiestunde, GrundpauschaleNach90Therapiestunde,
ErstellungEinesBetreuungsplanesUndAbstimmungMitArzt, ProbestundeOhneVerordnung60Minuten, ProbestundeOhneVerordnung10Minuten,
ProbestundeOhneVerordnung1Minute, ProbestundeMitVerordnung60Minuten, ProbestundeMitVerordnung10Minuten, ProbestundeMitVerordnung1Minute,
Einzelbehandlung60Minuten, Einzelbehandlung45Minuten, Einzelbehandlung30Minuten, Einzelbehandlung10Minuten, Einzelbehandlung1Minute,
EinzelbehandlungPerVideotelefonie60Minuten, EinzelbehandlungPerVideotelefonie30Minuten, EinzelbehandlungPerTelefonie60Minuten, EinzelbehandlungPerTelefonie30Minuten,
TherapieeinheitBeiÜberweisungZurIndikationsstellung60Minuten, TherapieeinheitBeiÜberweisungZurIndikationsstellung10Minuten, TherapieeinheitBeiÜberweisungZurIndikationsstellung1Minute
};
public static List<SchlüsselPosVergütungsart> SozioGruppe = new List<SchlüsselPosVergütungsart>()
{
GrundpauschaleJeNeuZuTherapierendenPatientenGruppe, GrundpauschaleAb60Therapiestunde, GrundpauschaleAb90Therapiestunde, Gruppenbehandlung90Minuten2Teilnehmer,
Gruppenbehandlung90Minuten3Teilnehmer, Gruppenbehandlung90Minuten4Teilnehmer, Gruppenbehandlung90Minuten5Teilnehmer, Gruppenbehandlung90Minuten6Teilnehmer,
Gruppenbehandlung90Minuten7Teilnehmer, Gruppenbehandlung90Minuten8Teilnehmer, Gruppenbehandlung90Minuten9Teilnehmer, Gruppenbehandlung90Minuten10Teilnehmer,
Gruppenbehandlung90Minuten11Teilnehmer, Gruppenbehandlung90Minuten12Teilnehmer, Gruppenbehandlung90Minuten2bis3Teilnehmer, Gruppenbehandlung90Minuten2bis4Teilnehmer,
Gruppenbehandlung90Minuten2bis5Personen, Gruppenbehandlung90Minuten4bis6Teilnehmer, Gruppenbehandlung90Minuten5bis7Teilnehmer, Gruppenbehandlung90Minuten6bis12Personen,
Gruppenbehandlung90Minuten8bis12Teilnehmer, Gruppenbehandlung60Minuten2bis5Personen, Gruppenbehandlung45Minuten2bis5Personen
};
public static List<SchlüsselPosVergütungsart> SozioSonst = new List<SchlüsselPosVergütungsart>()
{
HausbesuchspauschaleFahrtkosten, WegegeldpauschaleWegegebühren, WegegeldJeKm, FahrkostenÖPNV, BesuchspauschaleFürFahrtenBis15KmEinfach,
BesuchspauschaleFürFahrtenÜber15KmEinfach, KHVermeidung01bis03Tage, KHVermeidung04bis12Tage, KHVermeidung13bis21Tage, KHVermeidung22bis29Tage, KHVermeidung30bis34Tage,
KHVermeidung35undmehrTage, BesuchspauschalenFürFahrtenBis20Km, BesuchspauschalenFürFahrtenÜber20Km
};
public static List<SchlüsselPosVergütungsart> Sonstiges = new List<SchlüsselPosVergütungsart>()
{
Teamgespräch, MobileBehandlung, TeamgesprächKrankengymnastik, TeamgesprächLogopädie, TeamgesprächErgotherapie, TeamgesprächsaufschlagJeTherapietagKrankengymnastik,
TeamgesprächsaufschlagJeTherapietagLogopädie, TeamgesprächsaufschlagJeTherapietagErgotherapie,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungKrankengymnastik,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungLogopädie,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesPatientenInSeinerWohnungErgotherapie, KilometerpauschaleFürÄrztlichVerordneteHausbesuche,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientKrankengymnastik,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientLogopädie,
AbrechungspauschaleFürDenVerordnetenHausbesuchInklusiveWegegeldEinesOderMehrererPatientenInDerselbenSozialenEinrichtungAnEinemTagJePatientErgotherapie,
VergütungNach132gSGBVPauschale
};
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselRechnungsart : Schlüssel
{
public SchlüsselRechnungsart(string val) : base(val) { }
public static SchlüsselRechnungsart DerzeitNichtBelegt => new SchlüsselRechnungsart("0");
public static SchlüsselRechnungsart AbrechnungVonLeistungserbringer => new SchlüsselRechnungsart("1");
public static SchlüsselRechnungsart AbrechnungÜberAbrechnungsstelleOhnInkassovollmacht => new SchlüsselRechnungsart("2");
public static SchlüsselRechnungsart AbrechnungÜberAbrechnungsstelleMitInkassovollmacht => new SchlüsselRechnungsart("3");
}
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselSummenstatus : Schlüssel
{
public SchlüsselSummenstatus(string val) : base(val) { }
public static SchlüsselSummenstatus Gesamtsumme => new SchlüsselSummenstatus("00");
public static SchlüsselSummenstatus Mitglieder => new SchlüsselSummenstatus("11");
public static SchlüsselSummenstatus Angehörige => new SchlüsselSummenstatus("31");
public static SchlüsselSummenstatus Rentner => new SchlüsselSummenstatus("51");
public static SchlüsselSummenstatus NichtZugehörigerStatus => new SchlüsselSummenstatus("99");
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselTarifkennzeichen : Schlüssel
{
public SchlüsselTarifkennzeichen(SchlüsselTarifkennzeichenBereich bereich, SchlüsselTarifkennzeichenSondertarif sonder) : base(bereich.Value + sonder.Value)
{
}
}
}

View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselTarifkennzeichenBereich : Schlüssel
{
public SchlüsselTarifkennzeichenBereich(string val) : base(val) { }
public static SchlüsselTarifkennzeichenBereich Bundeseinheitlich => new SchlüsselTarifkennzeichenBereich("00");
public static SchlüsselTarifkennzeichenBereich BadenWürtenberg => new SchlüsselTarifkennzeichenBereich("01");
public static SchlüsselTarifkennzeichenBereich Bayern => new SchlüsselTarifkennzeichenBereich("02");
public static SchlüsselTarifkennzeichenBereich BerlinOst => new SchlüsselTarifkennzeichenBereich("03");
public static SchlüsselTarifkennzeichenBereich Bremen => new SchlüsselTarifkennzeichenBereich("04");
public static SchlüsselTarifkennzeichenBereich Hamburg => new SchlüsselTarifkennzeichenBereich("05");
public static SchlüsselTarifkennzeichenBereich Hessen => new SchlüsselTarifkennzeichenBereich("06");
public static SchlüsselTarifkennzeichenBereich Niedersachsen => new SchlüsselTarifkennzeichenBereich("07");
public static SchlüsselTarifkennzeichenBereich NordRheinWestfalen => new SchlüsselTarifkennzeichenBereich("08");
public static SchlüsselTarifkennzeichenBereich RheinlandPfalz => new SchlüsselTarifkennzeichenBereich("09");
public static SchlüsselTarifkennzeichenBereich Saarland => new SchlüsselTarifkennzeichenBereich("10");
public static SchlüsselTarifkennzeichenBereich SchleswigHolstein => new SchlüsselTarifkennzeichenBereich("11");
public static SchlüsselTarifkennzeichenBereich Brandenburg => new SchlüsselTarifkennzeichenBereich("12");
public static SchlüsselTarifkennzeichenBereich Sachsen => new SchlüsselTarifkennzeichenBereich("13");
public static SchlüsselTarifkennzeichenBereich SachsenAnhalt => new SchlüsselTarifkennzeichenBereich("14");
public static SchlüsselTarifkennzeichenBereich MecklenburgVorpommern => new SchlüsselTarifkennzeichenBereich("15");
public static SchlüsselTarifkennzeichenBereich Thüringen => new SchlüsselTarifkennzeichenBereich("16");
public static SchlüsselTarifkennzeichenBereich StuttgartKarlsruhe => new SchlüsselTarifkennzeichenBereich("17");
public static SchlüsselTarifkennzeichenBereich FreiburgTübingen => new SchlüsselTarifkennzeichenBereich("18");
public static SchlüsselTarifkennzeichenBereich BerlinWest => new SchlüsselTarifkennzeichenBereich("19");
public static SchlüsselTarifkennzeichenBereich Nordrhein => new SchlüsselTarifkennzeichenBereich("20");
public static SchlüsselTarifkennzeichenBereich WestfalenLippe => new SchlüsselTarifkennzeichenBereich("21");
public static SchlüsselTarifkennzeichenBereich Lippe => new SchlüsselTarifkennzeichenBereich("22");
public static SchlüsselTarifkennzeichenBereich BerlinGesamt => new SchlüsselTarifkennzeichenBereich("23");
public static SchlüsselTarifkennzeichenBereich BundeseinheitlicherTarifWest => new SchlüsselTarifkennzeichenBereich("24");
public static SchlüsselTarifkennzeichenBereich BundeseinheitlicherTarifOst => new SchlüsselTarifkennzeichenBereich("25");
public static SchlüsselTarifkennzeichenBereich Bundesvertrag => new SchlüsselTarifkennzeichenBereich("50");
public static SchlüsselTarifkennzeichenBereich BadenWürttemberg => new SchlüsselTarifkennzeichenBereich("51");
public static SchlüsselTarifkennzeichenBereich Bayern2 => new SchlüsselTarifkennzeichenBereich("52");
public static SchlüsselTarifkennzeichenBereich BerlinOst2 => new SchlüsselTarifkennzeichenBereich("53");
public static SchlüsselTarifkennzeichenBereich Bremen2 => new SchlüsselTarifkennzeichenBereich("54");
public static SchlüsselTarifkennzeichenBereich Hamburg2 => new SchlüsselTarifkennzeichenBereich("55");
public static SchlüsselTarifkennzeichenBereich Hessen2 => new SchlüsselTarifkennzeichenBereich("56");
public static SchlüsselTarifkennzeichenBereich Niedersachsen2 => new SchlüsselTarifkennzeichenBereich("57");
public static SchlüsselTarifkennzeichenBereich NordRheinWestfalen2 => new SchlüsselTarifkennzeichenBereich("58");
public static SchlüsselTarifkennzeichenBereich RheinlandPfalz2 => new SchlüsselTarifkennzeichenBereich("59");
public static SchlüsselTarifkennzeichenBereich Saarland2 => new SchlüsselTarifkennzeichenBereich("60");
public static SchlüsselTarifkennzeichenBereich SchleswigHolstein2 => new SchlüsselTarifkennzeichenBereich("61");
public static SchlüsselTarifkennzeichenBereich Brandenburg2 => new SchlüsselTarifkennzeichenBereich("62");
public static SchlüsselTarifkennzeichenBereich Sachsen2 => new SchlüsselTarifkennzeichenBereich("63");
public static SchlüsselTarifkennzeichenBereich SachsenAnhalt2 => new SchlüsselTarifkennzeichenBereich("64");
public static SchlüsselTarifkennzeichenBereich MecklenburgVorpommern2 => new SchlüsselTarifkennzeichenBereich("65");
public static SchlüsselTarifkennzeichenBereich Thüringen2 => new SchlüsselTarifkennzeichenBereich("66");
public static SchlüsselTarifkennzeichenBereich StuttgartKarlsruhe2 => new SchlüsselTarifkennzeichenBereich("67");
public static SchlüsselTarifkennzeichenBereich FreiburgTübingen2 => new SchlüsselTarifkennzeichenBereich("68");
public static SchlüsselTarifkennzeichenBereich BerlinWest2 => new SchlüsselTarifkennzeichenBereich("69");
public static SchlüsselTarifkennzeichenBereich Nordrhein2 => new SchlüsselTarifkennzeichenBereich("70");
public static SchlüsselTarifkennzeichenBereich WestfalenLippe2 => new SchlüsselTarifkennzeichenBereich("71");
public static SchlüsselTarifkennzeichenBereich Lippe2 => new SchlüsselTarifkennzeichenBereich("72");
public static SchlüsselTarifkennzeichenBereich BerlinGesamt2 => new SchlüsselTarifkennzeichenBereich("73");
public static SchlüsselTarifkennzeichenBereich BundeseinheitlicherTarifWest2 => new SchlüsselTarifkennzeichenBereich("74");
public static SchlüsselTarifkennzeichenBereich BundeseinheitlicherTarifOst2 => new SchlüsselTarifkennzeichenBereich("75");
public static SchlüsselTarifkennzeichenBereich SonstigeländerübergreifenderTarig => new SchlüsselTarifkennzeichenBereich("90");
}
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselTarifkennzeichenSondertarif : Schlüssel
{
public SchlüsselTarifkennzeichenSondertarif(string val) : base(val) { }
public static SchlüsselTarifkennzeichenSondertarif OhneBesonderheiten => new SchlüsselTarifkennzeichenSondertarif("000");
public static SchlüsselTarifkennzeichenSondertarif NichtBesetzt => new SchlüsselTarifkennzeichenSondertarif("091");
public static SchlüsselTarifkennzeichenSondertarif LeistungOhnePreislicheRegelung => new SchlüsselTarifkennzeichenSondertarif("099");
public static SchlüsselTarifkennzeichenSondertarif NichtBesetzt2 => new SchlüsselTarifkennzeichenSondertarif("U00");
public static SchlüsselTarifkennzeichenSondertarif Sondertarigvereinbarungen => new SchlüsselTarifkennzeichenSondertarif("err");
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselTestindikator : Schlüssel
{
public SchlüsselTestindikator(string val) : base(val) { }
public static SchlüsselTestindikator Testdatei => new SchlüsselTestindikator("0");
public static SchlüsselTestindikator Erprobungsdatei => new SchlüsselTestindikator("1");
public static SchlüsselTestindikator Echtdatei => new SchlüsselTestindikator("2");
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselUnfall : Schlüssel
{
public SchlüsselUnfall(string val) : base(val) { }
public static SchlüsselUnfall ArbeitsunfallWegeunfallBerufskrankheit => new SchlüsselUnfall("1");
public static SchlüsselUnfall SonstigeUnfallfolgen => new SchlüsselUnfall("2");
public static SchlüsselUnfall SonstigesBVFGoBEGoHHGoOEGoIfSGoSVG => new SchlüsselUnfall("3");
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselVerarbeitungskennzeichen : Schlüssel
{
public SchlüsselVerarbeitungskennzeichen(string val) : base(val) { }
public static SchlüsselVerarbeitungskennzeichen AbrechnungOhneBesonderheit => new SchlüsselVerarbeitungskennzeichen("01");
public static SchlüsselVerarbeitungskennzeichen Nachforderung => new SchlüsselVerarbeitungskennzeichen("02");
public static SchlüsselVerarbeitungskennzeichen Zuzahlungsforderung => new SchlüsselVerarbeitungskennzeichen("03");
public static SchlüsselVerarbeitungskennzeichen Korrekturrechnung => new SchlüsselVerarbeitungskennzeichen("04");
}
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselVerordnungsbesonderheiten : Schlüssel
{
public SchlüsselVerordnungsbesonderheiten(string val) : base(val) { }
public static SchlüsselVerordnungsbesonderheiten VerordnungVonEinemZahnarztKieferorthopäden => new SchlüsselVerordnungsbesonderheiten("1");
public static SchlüsselVerordnungsbesonderheiten VerordnungImZusammenhangMitDerSchwangerschaftOderDerEntbindung => new SchlüsselVerordnungsbesonderheiten("2");
public static SchlüsselVerordnungsbesonderheiten ZurZeitNichtBelegt => new SchlüsselVerordnungsbesonderheiten("3");
public static SchlüsselVerordnungsbesonderheiten VerordnungImRahmenDesEntlassmanagements => new SchlüsselVerordnungsbesonderheiten("4");
public static SchlüsselVerordnungsbesonderheiten VerordnungImRahmenDerTerminservicestellen => new SchlüsselVerordnungsbesonderheiten("7");
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Schlüssels
{
public class SchlüsselZuzahlung : Schlüssel
{
public SchlüsselZuzahlung(string val) : base(val) { }
public static SchlüsselZuzahlung KeineGesetzlicheZuzahlung => new SchlüsselZuzahlung("0");
public static SchlüsselZuzahlung Zuzahlungsbefreit => new SchlüsselZuzahlung("1");
public static SchlüsselZuzahlung KeineZuzahlungTrotzSchriftlicherZahlungsaufforderung => new SchlüsselZuzahlung("2");
public static SchlüsselZuzahlung Zuzahlungspflichtig => new SchlüsselZuzahlung("3");
public static SchlüsselZuzahlung ÜbergangZuzahlungspflichtigZuZuzahlungsfrei => new SchlüsselZuzahlung("4");
public static SchlüsselZuzahlung ÜbergangZuzahlungsfreiZuZuzahlungspflichtig => new SchlüsselZuzahlung("5");
}
}

View File

@@ -0,0 +1,68 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment ist je Nachricht einmal
/// zu übermitteln.
/// </summary>
internal class SegmentSLGAFKT : Segment
{
/// <summary>
/// siehe Schlüssel Verarbeitungskennzeichen Anlage 3 Abschnitt 8.1.7
/// </summary>
public Datenelement Verarbeitungskennzeichen { get; private set; }
/// <summary>
/// Feld ist nur anzugeben und mit „J“ zu
/// füllen, wenn es sich um eine Sammelrechnung handelt
/// </summary>
public Datenelement Sammelrechnung { get; private set; }
/// <summary>
/// Es ist das IK des Leistungserbringers
/// anzugeben mit folgender Ausnahme:
/// Erfolgt die Abrechnung über eine
/// Abrechnungsstelle mit Inkassovollmacht, so ist in der Sammelrechnungs-SLGA das IK der Abrechnungsstelle anzugeben.
/// </summary>
public Datenelement IKLeistungserbringers { get; private set; }
/// <summary>
/// Einzutragen ist das IK des Kostenträ-
/// gers auf den das IK der KV-Karte in
/// der Kostenträgerdatei verweist; diese
/// Angabe ist identisch mit dem IK des
/// Kostenträgers im FKT-Segment der
/// zugehörigen SLLA-Nachricht.
/// </summary>
public Datenelement IKKostenträger { get; private set; }
/// <summary>
/// IK der Krankenkasse von der KVKarte bzw. der ärztlichen Verordnung
/// ist zwingend anzugeben, außer es
/// handelt sich um eine Sammelrechnung-SLGA.Bei allen SLGA-Nachrichten als Gesamtrechnung ist diese
/// Angabe identisch mit SLLA.FKT.IK der
/// Krankenkasse der zugehörigen SLLANachricht.
/// </summary>
public Datenelement IKKrankenkasse { get; private set; }
/// <summary>
/// Einzutragen ist das IK des Absenders der Datei. Diese Angabe ist identisch mit UNB.Absender
/// </summary>
public Datenelement IKAbsender { get; private set; }
public SegmentSLGAFKT() : base(Feldart.Muss)
{
Verarbeitungskennzeichen = new Datenelement("Verarbeitungskennzeichen", 2, Feldart.Muss);
Sammelrechnung = new Datenelement("Sammelrechnung", 1, Feldart.Kann);
IKLeistungserbringers = new Datenelement("IKLeistungserbringers", 9, Feldart.Muss);
IKKostenträger = new Datenelement("IKKostenträger", 9, Feldart.Muss);
IKKrankenkasse = new Datenelement("IKKrankenkasse", 9, Feldart.Kann);
IKAbsender = new Datenelement("IKAbsender", 9, Feldart.Muss);
}
public override string GetHead() => "FKT";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Verarbeitungskennzeichen, Sammelrechnung, IKLeistungserbringers, IKKostenträger, IKKrankenkasse, IKAbsender };
}
}

View File

@@ -0,0 +1,95 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment muss je Nachricht mindestens zweimal und kann höchstens
/// neunmal vorkommen.Es ist stets ein
/// GES-Segment für den Summenstatus
/// 00 zuerst zu übermitteln.Diese
/// Summe ergibt sich aus der Addition
/// der nachfolgend anzugebenden Betragssummen des jeweiligen Versichertenstatus (SLGA). Die Betragssumme des Versichertenstatus
/// (SLGA) entspricht den Summen der
/// Abrechnungsfälle (SLLA), die diesen
/// Status beinhalten.
/// </summary>
internal class SegmentSLGAGES : Segment
{
/// <summary>
/// Siehe Schlüssel Summenstatus
/// Anlage 3 Abschnitt 8.1.6
/// </summary>
public Datenelement Status { get; private set; }
/// <summary>
/// Bei Verarbeitungskennzeichen „01“,
/// „02“ und „04“:
/// Gesamtrechnungsbetrag(ggf.inklusive Mehrwertsteuer)
/// Berechnungsregel:
/// GES.Gesamtbruttobetrag minus
/// GES.Gesamtbetrag Zuzahlung und/oder Eigenanteil und/oder Pauschale
/// Korrekturbetrag.
/// Bei Verarbeitungskennzeichen „03“:
/// Entspricht dem Wert aus GES.Gesamtbetrag Zuzahlung und/oder Eigenanteil und/oder Pauschale Korrekturbetrag.
/// </summary>
public DatenelementDecimal Gesamtrechnungsbetrag { get; private set; }
/// <summary>
/// Bei Verarbeitungskennzeichen „01“,
/// „02“ und „04“:
/// Summe der Gesamtbruttobeträge der
/// Abrechnungsfälle(inklusive gesetzlicher Zuzahlungsbeträge oder Eigenanteil und/oder Pauschale Korrekturbetrag sowie ggf.Mehrwertsteuer)
/// aus BES.
/// Bei Verarbeitungskennzeichen „03“:
/// Ist der Gesamtbruttobetrag mit 0,00
/// zu übermitteln.
/// </summary>
public DatenelementDecimal Gesamtbruttobetrag { get; private set; }
/// <summary>
/// Bei Verarbeitungskennzeichen „01“
/// und „02“:
/// Summe der gesetzlichen Zuzahlungen und/oder der Eigenanteile der
/// Abrechnungsfälle aus BES
/// Berechnungsregel:
/// Summe aller Abrechnungsfälle(BES.Gesambetrag gesetzliche Zuzahlung + BES.Gesamtbetrag Eigenanteil).
/// Bei Verarbeitungskennzeichen „03“:
/// Summe der gesetzlichen Zuzahlungen und/oder der Eigenanteile der
/// Abrechnungsfälle aus GZF
/// Berechnungsregel:
/// Summe aller Abrechnungsfälle(GZF.Gesambetrag gesetzliche Zuzahlung + GZF.Gesamtbetrag Eigenanteil).
/// Bei Verarbeitungskennzeichen „04“:
/// Summe der gesetzlichen Zuzahlungen und/oder der Eigenanteile der
/// Abrechnungsfälle aus BES
/// Berechnungsregel:
/// Summe aller Abrechnungsfälle(BES.Gesambetrag gesetzliche Zuzahlung + BES.Gesamtbetrag Eigenanteil + BES.Pauschale Korrekturbetrag).
/// </summary>
public DatenelementDecimal GesamtbetragZuzahlung { get; private set; }
public decimal GesamtrechnungsbetragDecimal => Gesamtrechnungsbetrag.DecimalValue;
public decimal GesamtbruttobetragDecimal => Gesamtbruttobetrag.DecimalValue;
public decimal GesamtbetragZuzahlungDecimal => GesamtbetragZuzahlung.DecimalValue;
public SegmentSLGAGES() : base(Feldart.Muss)
{
Status = new Datenelement("Status", 2, Feldart.Muss);
Gesamtrechnungsbetrag = new DatenelementDecimal("Gesamtrechnungsbetrag", 3, 13, Feldart.Muss);
Gesamtbruttobetrag = new DatenelementDecimal("Gesamtbruttobetrag", 3, 13, Feldart.Muss);
GesamtbetragZuzahlung = new DatenelementDecimal("GesamtbetragZuzahlung", 3, 13, Feldart.Kann);
}
public SegmentSLGAGES(string status, decimal gesamtrechnungsbetrag, decimal gesamtbruttobetrag, decimal gesamtbetragzuzahlung) : this()
{
Status.SetValue(status);
Gesamtrechnungsbetrag.SetValue(gesamtrechnungsbetrag);
Gesamtbruttobetrag.SetValue(gesamtbruttobetrag);
GesamtbetragZuzahlung.SetValue(gesamtbetragzuzahlung);
}
public override string GetHead() => "GES";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Status, Gesamtrechnungsbetrag, Gesamtbruttobetrag, GesamtbetragZuzahlung };
}
}

View File

@@ -0,0 +1,47 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment ist je Nachricht einmal
/// zu übermitteln
/// </summary>
internal class SegmentSLGANAM : Segment
{
/// <summary>
/// Name bzw. Firmenbezeichnung des
/// Rechnungsstellers(Leistungserbringer oder Abrechnungsstelle
/// </summary>
public Datenelement Name1 { get; private set; }
/// <summary>
/// ggf. Ansprechpartner und Telefonnummer.
/// </summary>
public Datenelement Name2 { get; private set; }
/// <summary>
/// ggf. Ansprechpartner und Telefonnummer.
/// </summary>
public Datenelement Name3 { get; private set; }
/// <summary>
/// E-Mail-Adresse;
/// zugelassen sind Buchstaben und Ziffern, ausgenommen Umlaute
/// </summary>
public Datenelement Name4 { get; private set; }
public SegmentSLGANAM() : base(Feldart.Muss)
{
Name1 = new Datenelement("Name1", 0, 30, Feldart.Muss);
Name2 = new Datenelement("Name2", 0, 30, Feldart.Kann);
Name3 = new Datenelement("Name3", 0, 30, Feldart.Kann);
Name4 = new Datenelement("Name4", 0, 70, Feldart.Kann);
}
public override string GetHead() => "NAM";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Name1, Name2, Name3, Name4 };
}
}

View File

@@ -0,0 +1,85 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment ist je Nachricht einmal zu
/// übermitteln und ist identisch mit dem
/// REC-Segment der zugehörigen SLLANachricht.
/// </summary>
internal class SegmentSLGAREC : Segment
{
/// <summary>
/// Datenelementgruppe bestehend aus
/// Sammel-Rechnungsnummer:EinzelRechnungsnummer.
/// Einzutragen ist die eindeutige Rechnungsnummer, die der Rechnungssteller vergibt.Eine Rechnungsnummer ist
/// eindeutig, wenn sie über alle Rechnungsjahre hinweg - ohne Kombination mit anderen identifizierenden
/// Schlüsseln oder Merkmalen (z.B.IK des
/// Leistungserbringers, Rechnungsdatum)
/// für eine Krankenkasse nur einer einzigen Rechnung zugeordnet werden
/// kann.
/// Diese Rechnungsnummer ist vollständig und unverändert auf die Urbelege
/// zu übernehmen (siehe Richtlinien § 4
/// Abs.1 und § 3 des Richtlinientextes).
/// Außer bei der Sammelrechnung-SLGA
/// muss diese Angabe übereinstimmen
/// mit SLLA.REC.Rechnungsnummer der
/// zugehörigen SLLA-Nachricht.Die
/// Rechnungsnummer im Datensatz muss
/// identisch sein mit der Rechnungsnummer auf dem Begleitzettel(vgl.Anlage
/// 4).
/// Sonderzeichen(einschließlich Leerzeichen) sind nicht zugelassen, ausgenommen sind der Bindestrich „-„ und
/// der Schrägstrich „/“ als Gliederungszeichen.Aufeinanderfolgende Gliederungszeichen sind unzulässig.Die
/// Rechnungsnummer darf nicht mit einem Gliederungszeichen beginnen
/// bzw.enden.
/// </summary>
public Datenelementgruppe Rechnungsnummer { get; private set; }
/// <summary>
/// Die Einzel-Rechnungsnummer ist zusätzlich zur Sammel-Rechnungsnummer anzugeben, wenn eine SLGANachricht als Sammelrechnung zusätzlich in der Nutzdatendatei übermittelt
/// wird, ansonsten wird lediglich das Datenelement Sammel-Rechnungsnummer gefüllt und die Einzel-Rechnungsnummer auf „0“ gesetzt(zum Beispiel
/// 00234567:0
/// </summary>
public Datenelement SammelRechnungsnummer { get; private set; }
/// <summary>
/// Ist der Absender der Datei eine Abrechnungsstelle mit Inkassovollmacht
/// erhält jeder Leistungserbringer innerhalb einer Rechnung eine eigene eindeutige Einzel-Rechnungsnummer.
/// Beispiel: Sammel-Rechnungsnummer
/// Abrechnungszentrum: 001, daraus
/// ergibt sich die Rechnungsnummer für
/// den 1. Leistungserbringer 001:1, für
/// den 2. Leistungserbringer 001 :2 usw
/// </summary>
public Datenelement EinzelRechnungsnummer { get; private set; }
/// <summary>
/// Rechnungsdatum JJJJMMTT
/// </summary>
public DatenelementDateTime Rechnungsdatum { get; private set; }
/// <summary>
/// Siehe Schlüssel Rechnungsart
/// Anlage 3 Abschnitt 8.1.4.
/// Dieser Schlüsselwert muss in der
/// Sammelrechnungs-SLGA und allen
/// zugehörigen SLGA-und SLLA-Nachrichten gleich sein.
/// </summary>
public Datenelement Rechnungsart { get; private set; }
public SegmentSLGAREC() : base(Feldart.Muss)
{
Rechnungsnummer = new Datenelementgruppe("Rechnungsnummer", 2);
SammelRechnungsnummer = Rechnungsnummer.Datenelemente[0] = new Datenelement("SammelRechnungsnummer", 0, 14, Feldart.Muss);
EinzelRechnungsnummer = Rechnungsnummer.Datenelemente[1] = new Datenelement("EinzelRechnungsnummer", 0, 6, Feldart.Muss);
Rechnungsdatum = new DatenelementDateTime("Datum", 8, "yyyyMMdd", Feldart.Muss);
Rechnungsart = new Datenelement("Rechnungsart", 1, Feldart.Muss);
}
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Rechnungsnummer, Rechnungsdatum, Rechnungsart };
public override string GetHead() => "REC";
}
}

View File

@@ -0,0 +1,44 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment kann je Nachricht
/// mehrfach übermittelt werden.
/// Das Skonto ist bei Inanspruchnahme
/// durch den Kostenträger abzuziehen.
/// Der Leistungserbringer hat immer
/// den vollen Gesamtrechnungsbetrag
/// anzugeben.
/// </summary>
internal class SegmentSLGASKO : Segment
{
/// <summary>
/// Angabe des gewährten Skonto in
/// Prozent. Ohne führende 0 wenn.
/// xx,xy%
/// </summary>
public Datenelement SkontoProzent { get; private set; }
/// <summary>
/// Angabe des Zahlungsziels in Tagen.
/// Bei Zahlung innerhalb der hier angegebenen Tage wird Skonto gewährt
/// </summary>
public Datenelement Zahlungsziel { get; private set; }
public SegmentSLGASKO() : base(Feldart.Kann)
{
SkontoProzent = new Datenelement("SkontoProzent", 3, 5, Feldart.Muss);
Zahlungsziel = new Datenelement("Zahlungsziel", 0, 3, Feldart.Muss);
}
public override string GetHead() => "SKO";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { SkontoProzent, Zahlungsziel };
}
}

View File

@@ -0,0 +1,38 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLGA
{
/// <summary>
/// Das Segment kann je Nachricht einmal übermittelt werden. Es ist nicht
/// in der Sammelrechnung-SLGA zu
/// übermitteln
/// </summary>
internal class SegmentSLGAUST : Segment
{
/// <summary>
/// Steuernummer gemäß § 14 Abs. 1a
/// UStG oder Umsatzsteuer-Identifikationsnummer.
/// </summary>
public Datenelement Steuernummer { get; private set; }
/// <summary>
/// "J" wenn befreit gem. § 4 UStG
/// </summary>
public Datenelement Kennung { get; private set; }
public SegmentSLGAUST() : base(Feldart.Kann)
{
Steuernummer = new Datenelement("Steuernummer", 0, 20, Feldart.Muss);
Kennung = new Datenelement("Kennung", 1, Feldart.Kann);
}
public override string GetHead() => "UST";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Steuernummer, Kennung };
}
}

View File

@@ -0,0 +1,62 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln.
/// </summary>
internal class SegmentSLLABES : Segment
{
/// <summary>
/// Gesamtbetrag Brutto je Abrechnungsfall (einschl. evtl. Mehrwertsteuer).
/// Berechnungsregel:
/// Summe über alle Abrechnungspositionen des Abrechnungsfalls von:
/// (((ENF.Einzelbetrag der Abrechnungsposition mal ENF.Anzahl/Menge) plus ggf.MWS.Betrag
/// Mehrwertsteuer)) kaufmännisch gerundet).
/// </summary>
public DatenelementDecimal GesamtbetragBrutto { get; private set; }
/// <summary>
/// Gesamtbetrag gesetzliche Zuzahlung je Abrechnungsfall.
/// Berechnungsregel:
/// Summe
/// (BES.Gesamtbetrag prozentuale Zuzahlung je Abrechnungsfall
/// +BES.PauschalerZuzahlungsbetrag je
/// Abrechnungsfall
/// +(Summe über alle Leistungen
/// (ZUZ.Betrag Gesetzliche Zuzahlung))
/// </summary>
public DatenelementDecimal GesamtbetragGesetzlicheZuzahlung { get; private set; }
/// <summary>
/// Gesamtbetrag prozentuale Zuzahlung je Abrechnungsfall.
/// Berechnungsregel:
/// Summe über alle Abrechnungspositionen des Abrechnungsfalls von:
/// (ENF.Betrag der Zuzahlung mal
/// ENF.Anzahl/Menge) kaufmännisch
/// gerundet
/// </summary>
public DatenelementDecimal GesamtbetragProzentualeZuzahlung { get; private set; }
/// <summary>
/// Pauschaler Zuzahlungsbetrag je Abrechnungsfall (Verordnungsblatt).
/// 10 Euro maximal, jedoch höchstens
/// die Differenz Gesamtbetrag Brutto
/// abzüglich Gesamtbetrag prozentuale Zuzahlung
/// </summary>
public DatenelementDecimal PauschalerZuzahlungsbetrag { get; private set; }
/// <summary>
/// Gesamtbetrag Eigenanteil
/// Berechnungsregel:
/// Summe über alle Abrechnungspositionen(ZUZ.Betrag Eigenanteil).
/// </summary>
public DatenelementDecimal GesamtbetragEigenanteil { get; private set; }
public SegmentSLLABES() : base(Feldart.Muss)
{
GesamtbetragBrutto = new DatenelementDecimal("GesamtbetragBrutto", 3, 13, Feldart.Muss);
GesamtbetragGesetzlicheZuzahlung = new DatenelementDecimal("GesamtbetragGesetzlicheZuzahlung", 3, 13, Feldart.Kann);
GesamtbetragProzentualeZuzahlung = new DatenelementDecimal("GesamtbetragProzentualeZuzahlung", 3, 13, Feldart.Kann);

View File

@@ -0,0 +1,38 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist 1 mal je Diagnose
/// zu übermitteln.
/// </summary>
internal class SegmentSLLADIA : Segment
{
/// <summary>
/// Falls auf der Verordnung ein ICD-
/// 10-GM-Code als Diagnoseschlüssel
/// aufgebracht ist, ist dieser zwingend
/// anzugeben.Es sind nicht die Indikationsschlüssel anzugeben
/// </summary>
public Datenelement Diagnoseschlüssel { get; private set; }
/// <summary>
/// Der auf der Verordnung angegebene
/// Diagnosetext ist hier anzugeben
/// </summary>
public Datenelement Diagnosetext { get; private set; }
public SegmentSLLADIA() : base(Feldart.Kann)
{
Diagnoseschlüssel = new Datenelement("Diagnoseschlüssel", 0, 12, Feldart.Kann);
Diagnosetext = new Datenelement("Diagnosetext", 0, 70, Feldart.Kann);
}
public override string GetHead() => "DIA";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>()
{Diagnoseschlüssel, Diagnosetext};

View File

@@ -0,0 +1,108 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist für jede Abrechnungsposition, bezogen auf den Tag
/// der Leistungserbringung, einmal zu
/// übermitteln
/// </summary>
internal class SegmentSLLAENF : Segment
{
/// <summary>
/// Zur Identifikation aller zuzahlungstechnisch zusammengehörenden
/// Abrechnungspositionen ist jeweils
/// die gleiche Identifikationsnummer
/// zu übermitteln.
/// Bei der Abrechnung von zuzahlungsfreien Positionsnummern im
/// Zusammenhang mit zuzahlungspflichtigen Positionsnummern sind
/// die zuzahlungsfreien Positionsnummern mit einer eigenen Identifikationsnummer anzugeben
/// </summary>
public Datenelement Identifikationsnummer { get; private set; }
/// <summary>
/// Datenelementgruppe bestehend aus
/// Abrechnungscode:Tarifkennzeichen
/// </summary>
public Datenelementgruppe Leistungserbringergruppe { get; private set; }
/// <summary>
/// Siehe Schlüssel Abrechnungscode
/// Anlage 3 Abschnitt 8.1.5.1
/// </summary>
public Datenelement Abrechnungscode { get; private set; }
/// <summary>
/// Siehe Schlüssel Tarifkennzeichen
/// Anlage 3 Abschnitt 8.1.5.2.
/// Die Kennzeichnung „Leistungserbringergruppe“ wird für die Abrechnung benötigt, da hierüber die Zuordnung zur gültigen vertraglichen
/// Vereinbarung /Festbetragsgruppe/
/// Gebührensatzung usw. und damit
/// zu den Abrechnungspositionsnummern erfolgt.
/// Jede Vereinbarung/Festbetragsgruppe /Gebührensatzung sieht
/// entsprechende Kennzeichen vor.
/// Dieses ist entsprechend den Vergü-
/// tungsregeln anzugeben.
/// Bei der Übermittlung von Kennzeichen für Sondertarife (3. - 5. Stelle)
/// sind die zu übermittelnden Buchstaben ausschließlich in Großbuchstaben zulässig.
/// </summary>
public Datenelement Tarifkennzeichen { get; private set; }
/// <summary>
/// Siehe Schlüssel Abrechnungspositionsnummer Anlage 3 Abschnitt
/// 8.2.1 bis 8.2.10
/// </summary>
public Datenelement ArtLeistung { get; private set; }
/// <summary>
/// Anzahl der Abrechnungspositionen
/// z.B. 1 x Massage; 20 Kilometer usw.
/// Es dürfen nur dann Abrechnungspositionen in einem ENF-Segment zusammengefasst werden, wenn sie
/// am selben Tag erbracht worden
/// sind. Andernfalls ist für jeden Tag
/// der Leistungserbringung ein eigenes
/// ENF-Segment zu erstellen.
/// </summary>
public DatenelementDecimal AnzahlMenge { get; private set; }
/// <summary>
/// Einzelpreis (vereinbarter Preis/Festbetrag)
/// Als Einzelpreis ist immer der Preis
/// einer Abrechnungsposition zu verstehen. Sofern ein Nettopreis zuzüglich MwSt. vereinbart wurde, ist
/// der Nettopreis in ENF anzugeben
/// und das Segment MWS zu füllen. Ist
/// der Einzelpreis inklusive MwSt. vereinbart, ist dieser in ENF anzugeben
/// und kein Segment MWS anzugeben
/// </summary>
public DatenelementDecimal EinzelbetragAbrechnungsposition { get; private set; }
/// <summary>
/// Tag der Leistungserbringung
/// (JJJJMMTT).
/// </summary>
public DatenelementDateTime DatumLeistungserbringung { get; private set; }
/// <summary>
/// Der Einzelbetrag der prozentualen
/// Zuzahlung bzw. der Zuzahlungsbetrag pro Tag ist zwingend je Abrechnungsposition zu berechnen
/// und anzugeben, sofern dieser vom
/// Versicherten zu entrichten ist.
/// Berechnungsregel:
/// (ENF.Einzelbetrag der Abrechnungsposition plus ggf. MWS.Betrag Mehrwertsteuer*) mal Zuzahlungsprozentsatz
/// * Der Betrag Mehrwertsteuer ist auf
/// die einzelne Position mit dem Mengenfaktor 1 herunterzurechnen und
/// kaufmännisch zu runden.
/// (Der ermittelte Betrag ist kaufmännisch zu runden).
/// </summary>
public DatenelementDecimal BetragZuzahlung { get; private set; }
public SegmentSLLAENF() : base(Feldart.Muss)
{
Identifikationsnummer = new Datenelement("Identifikationsnummer", 0, 3, Feldart.Kann);
Leistungserbringergruppe = new Datenelementgruppe("Leistungserbringergruppe", 2);
Abrechnungscode = Leistungserbringergruppe.Datenelemente[0] = new Datenelement("Abrechnungscode", 2, Feldart.Muss);
Tarifkennzeichen = Leistungserbringergruppe.Datenelemente[1] = new Datenelement("Tarifkennzeichen", 5, Feldart.Muss);
ArtLeistung = new Datenelement("ArtLeistung", 0, 10, Feldart.Muss);
AnzahlMenge = new DatenelementDecimal("AnzahlMenge", 3, 7, Feldart.Muss);
EinzelbetragAbrechnungsposition = new DatenelementDecimal("EinzelbetragAbrechnungsposition", 3, 13, Feldart.Muss);
DatumLeistungserbringung = new DatenelementDateTime("DatumLeistungserbringung", 8, "yyyyMMdd", Feldart.Muss);
BetragZuzahlung = new DatenelementDecimal("BetragZuzahlung", 3, 13, Feldart.Kann);
}
public override string GetHead() => "ENF";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Identifikationsnummer, Leistungserbringergruppe, ArtLeistung, AnzahlMenge, EinzelbetragAbrechnungsposition, DatumLeistungserbringung, BetragZuzahlung };

View File

@@ -0,0 +1,67 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Nachricht einmal zu übermitteln.
/// </summary>
internal class SegmentSLLAFKT : Segment
{
/// <summary>
/// Siehe Schlüssel Verarbeitungskennzeichen Anlage 3 Abschnitt 8.1.7.
/// </summary>
public Datenelement Verarbeitungskennzeichen { get; private set; }
/// <summary>
///
/// </summary>
public Datenelement Freifeld { get; private set; }
/// <summary>
/// Einzutragen ist das IK des Leistungserbringers.
/// Diese Angabe muss übereinstimmen
/// mit
/// SLGA.FKT.Rechnungssteller/Leistungserbringer der zugehörigen SLGA-Nachricht als Gesamtrechnung
/// </summary>
public Datenelement IKLeistungserbringers { get; private set; }
/// <summary>
/// Einzutragen ist das IK des Kostenträ-
/// gers auf den das IK der KV-Karte in der
/// Kostenträgerdatei verweist, die Angabe
/// ist identisch mit dem IK des Kostenträ-
/// gers im FKT-Segment der zugehörigen
/// SLGA-Nachricht als Gesamtrechnung.
/// </summary>
public Datenelement IKKostenträgers { get; private set; }
/// <summary>
/// IK der Krankenkasse von der KV-Karte
/// bzw.der ärztlichen Verordnung ist
/// zwingend anzugeben.Diese Angabe ist
/// identisch mit SLGA.FKT.IK der Krankenkasse der zugehörigen SLGA-Nachricht als Gesamtrechnung.
/// </summary>
public Datenelement IKKrankenkasse { get; private set; }
/// <summary>
/// IK des Rechnungsstellers, ist nur anzugeben, wenn die Abrechnung durch
/// eine Abrechnungsstelle mit Inkassovollmacht erfolgt.In diesem Fall muss
/// die Angabe übereinstimmen mit Sammelrechnung-SLGA.FKT.Rechnungssteller der zugehörigen Sammelrechnungs-SLGA.
/// </summary>
public Datenelement IKRechnungsstellers { get; private set; }
public SegmentSLLAFKT() : base(Feldart.Muss)
{
Verarbeitungskennzeichen = new Datenelement("Verarbeitungskennzeichen", 2, Feldart.Muss);
Freifeld = new Datenelement("Freifeld", 1, Feldart.Kann);
IKLeistungserbringers = new Datenelement("IKLeistungserbringers", 9, Feldart.Muss);
IKKostenträgers = new Datenelement("IKKostenträgers", 9, Feldart.Muss);
IKKrankenkasse = new Datenelement("IKKVKarte", 9, Feldart.Muss);
IKRechnungsstellers = new Datenelement("IKRechnungsstellers", 9, Feldart.Kann);
}
public override string GetHead() => "FKT";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Verarbeitungskennzeichen, Freifeld, IKLeistungserbringers, IKKostenträgers, IKKrankenkasse, IKRechnungsstellers };
}
}

View File

@@ -0,0 +1,40 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment kann für jeden Abrechnungsfall einmal übermittelt
/// werden.
/// </summary>
internal class SegmentSLLAIMG : Segment
{
/// <summary>
/// JJJJ
/// </summary>
public Datenelement Abrechnungsjahr { get; private set; }
/// <summary>
/// Mit führender Null
/// </summary>
public Datenelement Abrechnungsmonat { get; private set; }
/// <summary>
/// Institutionskennzeichen
/// </summary>
public Datenelement Identifikationsmerkmal { get; private set; }
public SegmentSLLAIMG() : base(Feldart.Kann)
{
Abrechnungsjahr = new Datenelement("Abrechnungsjahr", 4, Feldart.Muss);
Abrechnungsmonat = new Datenelement("Abrechnungsmonat", 2, Feldart.Muss);
Identifikationsmerkmal = new Datenelement("Identifikationsmerkmal", 9, Feldart.Muss);
}
public override string GetHead() => "IMG";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Abrechnungsjahr, Abrechnungsmonat, Identifikationsmerkmal};
}
}

View File

@@ -0,0 +1,56 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln.
/// </summary>
internal class SegmentSLLAINV : Segment
{
/// <summary>
/// Krankenversichertennummer ist
/// zwingend gemäß KV-Karte bzw.
/// ärztlicher Verordnung anzugeben.
/// Sofern nicht bekannt, wird die Anschrift und das Geburtsdatum des
/// Versicherten übermittelt. (Segment
/// NAD)
/// </summary>
public Datenelement VersichertenNummer { get; private set; }
/// <summary>
/// Anzugeben ist der Versichertenstatus
/// von der Verordnung(alle lesbaren
/// Zeichen werden nacheinander in das
/// Feld geschrieben und ggfs.auf 5
/// Stellen rechtsbündig mit Nullen ergänzt, z.B. 10000 oder 18000)
/// Sofern nicht bekannt, wird die Anschrift und das Geburtsdatum des
/// Versicherten übermittelt(Segment
/// NAD).
/// Bei 7-stelliger Bedruckung des Versichertenstatus sind die Stellen 1 bis
/// 5 anzugeben.
/// Beispiel: Bedruckung "1000100" =>
/// Übertragung "10001
/// </summary>
public Datenelement Versichertenstatus { get; private set; }
/// <summary>
/// Siehe Schlüssel Beleginformation,
/// Anlage 3, Abschnitt 8.1.18
/// </summary>
public Datenelement Beleginformation { get; private set; }
/// <summary>
/// Eindeutige Nummer innerhalb der
/// Gesamtrechnung(siehe auch § 4 des
/// Richtlinientextes).
/// </summary>
public Datenelement Belegnummer { get; private set; }
/// <summary>
/// Anzugeben ist das Vertragskennzeichen für besondere Versorgungsformen gemäß der vertraglichen Vereinbarungen.
/// Für Verordnungen im Rahmen der
/// Versorgung nach § 116b Abs. 1
/// SGB V ist eine "1" zu übermitteln
/// </summary>

View File

@@ -0,0 +1,38 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist nur dann zu übermitteln, wenn für die abrechnungsfähige Einzelposition (ENF) zusätzlich Mehrwertsteuer vertraglich vereinbart ist.
/// </summary>
internal class SegmentSLLAMWS : Segment
{
/// <summary>
/// Mehrwertsteuersatz in Prozent mit
/// zwei Nachkommastellen(z.B.
/// "19,00")
/// </summary>
public DatenelementDecimal Mehrwertsteuersatz { get; private set; }
/// <summary>
/// Berechnungsregel:
/// ENF.Einzelbetrag der Abrechnungsposition(NETTO) mal ENF.Anzahl/Menge mal Mehrwertsteuerprozentsatz (Der ermittelte Betrag
/// ist kaufmännisch zu runden.).
/// </summary>
public DatenelementDecimal BetragMehrwertsteuer { get; private set; }
public SegmentSLLAMWS() : base(Feldart.Kann)
{
Mehrwertsteuersatz = new DatenelementDecimal("Mehrwertsteuersatz", 3, 8, Feldart.Muss);
BetragMehrwertsteuer = new DatenelementDecimal("BetragMehrwertsteuer", 3, 13, Feldart.Muss);
}
public override string GetHead() => "MWS";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>()
{Mehrwertsteuersatz, BetragMehrwertsteuer};
}

View File

@@ -0,0 +1,68 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln
/// </summary>
internal class SegmentSLLANAD : Segment
{
/// <summary>
///
/// </summary>
public Datenelement Nachname { get; private set; }
/// <summary>
///
/// </summary>
public Datenelement Vorname { get; private set; }
/// <summary>
/// JJJJMMTT
/// Hinweis: Für ausländische Ver-sicherte kann die Angabe „00“ für
/// nicht bekannte Geburtstage oder
/// „0000“ für nicht bekannte Geburtstage und Geburtsmonate verwendet
/// werden.
/// </summary>
public DatenelementDateTime Geburtsdatum { get; private set; }
/// <summary>
/// Die Anschrift ist zwingend anzugeben, sofern die Versichertennummer/Versichertenstatus nicht bekannt ist.
/// </summary>
public Datenelement StraßeNr { get; private set; }
/// <summary>
/// Bei Inlandsanschrift ist die gültige,
/// 5-stellige Postleitzahl ohne weitere
/// Zusätze anzugeben, sofern die Versichertennummer/Versichertenstatus nicht bekannt sind.
/// </summary>
public Datenelement PLZ { get; private set; }
/// <summary>
/// Die Anschrift ist zwingend anzugeben, sofern die Versichertennummer/Versichertenstatus nicht bekannt ist
/// </summary>
public Datenelement Wohnort { get; private set; }
/// <summary>
/// Bei Auslandsanschrift ist das Länderkennzeichen gemäß Anlage 3
/// Schlüssel 8.5 zwingend anzugeben,
/// sofern die Versichertennummer/Versichertenstatus nicht bekannt sind
/// </summary>
public Datenelement Länderkennzeichen { get; private set; }
public SegmentSLLANAD() : base(Feldart.Muss)
{
Nachname = new Datenelement("Nachname", 0, 47, Feldart.Muss);
Vorname = new Datenelement("Vorname", 0, 30, Feldart.Muss);
Geburtsdatum = new DatenelementDateTime("Geburtsdatum", 8, "yyyyMMdd", Feldart.Muss);
StraßeNr = new Datenelement("StraßeNr", 0, 30, Feldart.Kann);
PLZ = new Datenelement("PLZ", 0, 7, Feldart.Kann);
Wohnort = new Datenelement("Wohnort", 0, 25, Feldart.Kann);
Länderkennzeichen = new Datenelement("Länderkennzeichen", 0, 3, Feldart.Kann);
}
public override string GetHead() => "NAD";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Nachname, Vorname, Geburtsdatum, StraßeNr, PLZ, Wohnort, Länderkennzeichen };
}
}

View File

@@ -0,0 +1,19 @@
using Dakota.Models.Segmente.SLGA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Nachricht einmal zu
/// übermitteln und ist identisch mit dem
/// REC-Segment der zugehörigen SLGANachricht.
/// </summary>
internal class SegmentSLLAREC : SegmentSLGAREC
{
}
}

View File

@@ -0,0 +1,38 @@
using Dakota.Models.Daten;
using System.Collections.Generic;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln, wenn eine
/// Kostenzusage vorliegt
/// </summary>
internal class SegmentSLLASKZ : Segment
{
/// <summary>
/// Hier ist die durch die Krankenkasse
/// bei der Kostenzusage vergebene
/// Genehmigungsnummer oder das
/// Aktenzeichen einzutragen.
/// </summary>
public Datenelement Genehmigungskennzeichen { get; private set; }
/// <summary>
/// JJJJMMTT
/// </summary>
public DatenelementDateTime DatumGenehmigung { get; private set; }
/// <summary>
/// Siehe Schlüssel Art der Genehmigung, Anlage 3, Abschnitt 8.1.17
/// </summary>
public Datenelement ArtGenehmigung { get; private set; }
public SegmentSLLASKZ() : base(Feldart.Kann)
{
Genehmigungskennzeichen = new Datenelement("Genehmigungskennzeichen", 0, 20, Feldart.Muss);
DatumGenehmigung = new DatenelementDateTime("DatumGenehmigung", 8, "yyyyMMdd", Feldart.Muss);
ArtGenehmigung = new Datenelement("ArtGenehmigung", 2, Feldart.Muss);
}
public override string GetHead() => "SKZ";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>()

View File

@@ -0,0 +1,61 @@
using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
/// <summary>
/// Das Segment kann je Abrechnungsposition (ENF) einmal übermittelt
/// werden.
/// </summary>
internal class SegmentSLLASUT : Segment
{
/// <summary>
/// Anzahl der gefahrenen Kilometer/
/// bzw.anteilige Kilometer.Das Datenfeld enthält Angaben über die Kilometeranzahl, die z.B. in einer Pauschale abgerechnet werden. Sofern
/// Einzelkilometer abgerechnet werden, sind diese im Datenfeld Anzahl/Menge in ENF angegeben.
/// </summary>
public DatenelementDecimal GefahreneKilometer { get; private set; }
/// <summary>
/// HHMM (Wertebereich HH 00 bis 23,
/// MM 00 bis 59)
/// </summary>
public DatenelementDateTime Uhrzeit { get; private set; }
/// <summary>
/// HHMM (Wertebereich HH 00 bis 23,
/// MM 00 bis 59)
/// </summary>
public DatenelementDateTime UhrzeitBis { get; private set; }
/// <summary>
/// Zeitangabe in Minuten.
/// </summary>
public Datenelement Dauer { get; private set; }
/// <summary>
/// JJJJMMTT. Beginn des Versorgungszeitraumes.
/// Angabe erfolgt soweit vorgesehen
/// bzw.vertraglich vereinbart
/// </summary>
public DatenelementDateTime VersorgungszeitraumVon { get; private set; }
/// <summary>
/// JJJJMMTT. Ende des Versorgungszeitraumes.
/// Angabe erfolgt soweit vorgesehen
/// bzw.vertraglich vereinbart
/// Das Feld "Versorgungszeitraum bis"
/// ist zwingend anzugeben, wenn das
/// Feld "Versorgungszeitraum von"
/// vorhanden ist.
/// </summary>
public DatenelementDateTime VersorgungszeitraumBis { get; private set; }
public SegmentSLLASUT() : base(Feldart.Kann)
{
GefahreneKilometer = new DatenelementDecimal("GefahreneKilometer", 0, 6, Feldart.Kann);
Uhrzeit = new DatenelementDateTime("Uhrzeit", 4, "HHmm", Feldart.Kann);
UhrzeitBis = new DatenelementDateTime("UhrzeitBis", 4, "HHmm", Feldart.Kann);
Dauer = new Datenelement("Dauer", 0, 4, Feldart.Kann);
VersorgungszeitraumVon = new DatenelementDateTime("VersorgungszeitraumVon", 8, "yyyyMMdd", Feldart.Kann);
VersorgungszeitraumBis = new DatenelementDateTime("VersorgungszeitraumBis", 8, "yyyyMMdd", Feldart.Kann);
}

Some files were not shown because too many files have changed in this diff Show More