Zwischenstand:
Schlüssel übersichtlich, Segmente neu sortiert PDFs eingeführt, Beispiel Ansicht eingeführt,
This commit is contained in:
@@ -313,6 +313,10 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
<Page Include="View\Detail\DebugMessageLogView.xaml">
|
<Page Include="View\Detail\DebugMessageLogView.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
@@ -1052,6 +1056,9 @@
|
|||||||
<Compile Include="View\Controls\ValueListEntryEditControl.xaml.cs">
|
<Compile Include="View\Controls\ValueListEntryEditControl.xaml.cs">
|
||||||
<DependentUpon>ValueListEntryEditControl.xaml</DependentUpon>
|
<DependentUpon>ValueListEntryEditControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="View\Detail\Accounting\DigitalInvoiceOverview.xaml.cs">
|
||||||
|
<DependentUpon>DigitalInvoiceOverview.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="View\Detail\DebugMessageLogView.xaml.cs">
|
<Compile Include="View\Detail\DebugMessageLogView.xaml.cs">
|
||||||
<DependentUpon>DebugMessageLogView.xaml</DependentUpon>
|
<DependentUpon>DebugMessageLogView.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
94
BeWo/View/Detail/Accounting/DigitalInvoiceOverview.xaml
Normal file
94
BeWo/View/Detail/Accounting/DigitalInvoiceOverview.xaml
Normal 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>
|
||||||
138
BeWo/View/Detail/Accounting/DigitalInvoiceOverview.xaml.cs
Normal file
138
BeWo/View/Detail/Accounting/DigitalInvoiceOverview.xaml.cs
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
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;
|
||||||
|
using Shared.Extensions;
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
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(DakotaExtensions.IsSozioTherapie).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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -40,6 +40,7 @@
|
|||||||
Selector.Selected="tabitem_collectiveinvoice_Selected" />
|
Selector.Selected="tabitem_collectiveinvoice_Selected" />
|
||||||
<TabItem Header="Allgemeine Rechnungen" Name="tabitem_otherinvoice" Selector.Selected="tabitem_otherinvoice_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="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="Bargeldverwaltung" Name="tabitem_bargeldverwaltung" Selector.Selected="tabitem_bargeldverwaltung_Selected"/>
|
||||||
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
|
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
|
||||||
</TabControl>
|
</TabControl>
|
||||||
|
|||||||
@@ -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
|
//Dokument Selection
|
||||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -43,9 +43,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="DakotaConfig.cs" />
|
<Compile Include="DakotaConfig.cs" />
|
||||||
<Compile Include="DakotaEnums.cs" />
|
<Compile Include="DakotaEnums.cs" />
|
||||||
<Compile Include="DakotaFileGenerator.cs" />
|
<Compile Include="DakotaFile.cs" />
|
||||||
<Compile Include="DakotaValidator.cs" />
|
<Compile Include="DakotaValidator.cs" />
|
||||||
<Compile Include="Models\Abrechnungsposition.cs" />
|
<Compile Include="Models\Abrechnungsposition.cs" />
|
||||||
|
<Compile Include="DakotaFileInfo.cs" />
|
||||||
<Compile Include="Models\Datei\BlockKostenträger.cs" />
|
<Compile Include="Models\Datei\BlockKostenträger.cs" />
|
||||||
<Compile Include="Models\Datei\BlockKrankenkarteVerordnung.cs" />
|
<Compile Include="Models\Datei\BlockKrankenkarteVerordnung.cs" />
|
||||||
<Compile Include="Models\Datei\SozioTherapieEinzelnachweis.cs" />
|
<Compile Include="Models\Datei\SozioTherapieEinzelnachweis.cs" />
|
||||||
@@ -58,36 +59,46 @@
|
|||||||
<Compile Include="Models\Nachricht\NachrichtSLGA2.cs" />
|
<Compile Include="Models\Nachricht\NachrichtSLGA2.cs" />
|
||||||
<Compile Include="Models\Nachricht\NachrichtSLLA2.cs" />
|
<Compile Include="Models\Nachricht\NachrichtSLLA2.cs" />
|
||||||
<Compile Include="Models\Nachricht\NachrichtSLLA.cs" />
|
<Compile Include="Models\Nachricht\NachrichtSLLA.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLABES.cs" />
|
<Compile Include="Models\Schlüssel\Schlüssel.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLADIA.cs" />
|
<Compile Include="Models\Schlüssel\SchlüsselRechnungsart.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAMWS.cs" />
|
<Compile Include="Models\Schlüssel\SchlüsselSummenstatus.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAENF.cs" />
|
<Compile Include="Models\Schlüssel\SchlüsselTestindikator.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLASKZ.cs" />
|
<Compile Include="Models\Schlüssel\SchlüsselVerarbeitungskennzeichen.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLASUT.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLABES.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLATXT.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLADIA.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAZUV.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAMWS.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAZUZ.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="Models\Datei\Nutzdatendatei.cs" />
|
<Compile Include="Models\Datei\Nutzdatendatei.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Models\Segmente\Segment.cs" />
|
<Compile Include="Models\Segmente\Segment.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGAFKT.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGAFKT.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGAGES.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGAGES.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGANAM.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGANAM.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGAREC.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGAREC.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGASKO.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGASKO.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAFKT.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAFKT.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAINV.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAINV.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLANAD.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLANAD.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAREC.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAREC.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAURI.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAURI.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLLAIMG.cs" />
|
<Compile Include="Models\Segmente\SLLA\SegmentSLLAIMG.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentUNB.cs" />
|
<Compile Include="Models\Segmente\SegmentUNB.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentUNH.cs" />
|
<Compile Include="Models\Segmente\SegmentUNH.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentUNT.cs" />
|
<Compile Include="Models\Segmente\SegmentUNT.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentUNZ.cs" />
|
<Compile Include="Models\Segmente\SegmentUNZ.cs" />
|
||||||
<Compile Include="Models\Segmente\SegmentSLGAUST.cs" />
|
<Compile Include="Models\Segmente\SLGA\SegmentSLGAUST.cs" />
|
||||||
<Compile Include="Models\Datei\SozioTherapieDatei.cs" />
|
<Compile Include="Models\Datei\SozioTherapieDatei.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Shared\Shared.csproj">
|
||||||
|
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
|
||||||
|
<Name>Shared</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -5,19 +5,18 @@ using Dakota.Models.Nachricht;
|
|||||||
using Dakota.Models.Segmente;
|
using Dakota.Models.Segmente;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Dakota
|
namespace Dakota
|
||||||
{
|
{
|
||||||
public class DakotaFileGenerator
|
/// <summary>
|
||||||
|
/// Interne Logik
|
||||||
|
/// </summary>
|
||||||
|
public class DakotaFile : IRowable
|
||||||
{
|
{
|
||||||
internal SozioTherapieEinzelnachweis SozioTherapieEinzelnachweis { get; set; }
|
internal SozioTherapieEinzelnachweis SozioTherapieEinzelnachweis { get; set; }
|
||||||
internal DateTime Created { get; private set; }
|
internal DateTime Created { get; private set; }
|
||||||
|
|
||||||
internal int DatenaustauschreferenzCounter { get; private set; }
|
internal int NachrichtenCounter { get; set; }
|
||||||
internal int NachrichtenreferenzCounter { get; private set; }
|
|
||||||
internal int AnzahlUNHCounter { get; set; }
|
internal int AnzahlUNHCounter { get; set; }
|
||||||
internal int SegmentSLGACounter { get; set; }
|
internal int SegmentSLGACounter { get; set; }
|
||||||
internal int SegmentSLLACounter { get; set; }
|
internal int SegmentSLLACounter { get; set; }
|
||||||
@@ -37,59 +36,48 @@ namespace Dakota
|
|||||||
// UNZ
|
// UNZ
|
||||||
internal SegmentUNZ SegmentUNZ => SozioTherapieEinzelnachweis.UNZ;
|
internal SegmentUNZ SegmentUNZ => SozioTherapieEinzelnachweis.UNZ;
|
||||||
|
|
||||||
public string UNBAbsenderbezeichnung => string.Empty;
|
public DakotaFile()
|
||||||
public string UNBEmpfangerbezeichnung => string.Empty;
|
|
||||||
public string UNBAnwendungsreferenz => string.Empty;
|
|
||||||
public string SLGAFKTIKRechnungssteller => string.Empty;
|
|
||||||
public string SLGAFKTIKKostentrager => string.Empty;
|
|
||||||
public string SLGAFKTIKKrankenkasse => string.Empty;
|
|
||||||
|
|
||||||
public DakotaFileGenerator(int counter)
|
|
||||||
{
|
{
|
||||||
SozioTherapieEinzelnachweis = new SozioTherapieEinzelnachweis();
|
SozioTherapieEinzelnachweis = new SozioTherapieEinzelnachweis();
|
||||||
Created = DateTime.Now;
|
Created = DateTime.Now;
|
||||||
|
|
||||||
DatenaustauschreferenzCounter = counter;
|
NachrichtenCounter = 1;
|
||||||
NachrichtenreferenzCounter = 1;
|
|
||||||
AnzahlUNHCounter = 0;
|
AnzahlUNHCounter = 0;
|
||||||
SegmentSLGACounter = 0;
|
SegmentSLGACounter = 0;
|
||||||
SegmentSLLACounter = 0;
|
SegmentSLLACounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Generate()
|
public void Generate(DakotaFileInfo info)
|
||||||
{
|
{
|
||||||
GenerateUNB();
|
GenerateUNB(info);
|
||||||
GenerateBlockSLGA();
|
GenerateBlockSLGA(info);
|
||||||
GenerateBlockSLLA();
|
GenerateBlockSLLA(info);
|
||||||
GenerateUNZ();
|
GenerateUNZ(info);
|
||||||
|
|
||||||
IncrementCounter();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateUNB()
|
public void GenerateUNB(DakotaFileInfo info)
|
||||||
{
|
{
|
||||||
SegmentUNB.SyntaxKennung.SetValue("UNOC");
|
SegmentUNB.SyntaxKennung.SetValue("UNOC");
|
||||||
SegmentUNB.SyntaxVersionsnummer.SetValue("3");
|
SegmentUNB.SyntaxVersionsnummer.SetValue("3");
|
||||||
SegmentUNB.Absenderdatei.SetValue(UNBAbsenderbezeichnung);
|
SegmentUNB.Absenderdatei.SetValue(info.Absenderbezeichnung);
|
||||||
SegmentUNB.Empfangdatei.SetValue(UNBEmpfangerbezeichnung);
|
SegmentUNB.Empfangdatei.SetValue(info.Empfangerbezeichnung);
|
||||||
SegmentUNB.Datum.SetValue(Created.ToString("yyyyMMdd"));
|
SegmentUNB.Datum.SetValue(Created.ToString("yyyyMMdd"));
|
||||||
SegmentUNB.Uhrzeit.SetValue(Created.ToString("HHmm"));
|
SegmentUNB.Uhrzeit.SetValue(Created.ToString("HHmm"));
|
||||||
SegmentUNB.Datenaustauschreferenz.SetFilledIntValue(DatenaustauschreferenzCounter++, 5);
|
SegmentUNB.Datenaustauschreferenz.SetFilledIntValue(info.Datenaustauschreferenz, 5);
|
||||||
SegmentUNB.Leistungsbereich.SetValue("O");
|
SegmentUNB.Leistungsbereich.SetValue("O");
|
||||||
SegmentUNB.Anwengundsreferenz.SetValue(UNBAnwendungsreferenz);
|
SegmentUNB.Anwengundsreferenz.SetValue(info.Anwendungsreferenz);
|
||||||
SegmentUNB.Testindikator.SetValue("0");
|
SegmentUNB.Testindikator.SetValue(info.Testindikator.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateBlockSLGA()
|
public void GenerateBlockSLGA(DakotaFileInfo info)
|
||||||
{
|
{
|
||||||
//UNH, UNT, FKT, REC
|
//UNH, UNT, FKT, REC, GES00, GES, NAM
|
||||||
SegmentSLGACounter += 2;
|
SegmentSLGACounter += 7;
|
||||||
AnzahlUNHCounter++;
|
|
||||||
|
|
||||||
var nachrichtenreferenznummer = NachrichtenreferenzCounter++;
|
var nachrefnum = ++AnzahlUNHCounter;
|
||||||
|
|
||||||
// Head
|
// Head
|
||||||
BlockSLGAUNH.Nachrichtenreferenznummer.SetFilledIntValue(nachrichtenreferenznummer, 5);
|
BlockSLGAUNH.Nachrichtenreferenznummer.SetFilledIntValue(nachrefnum, 5);
|
||||||
BlockSLGAUNH.NachrichtenTypKennung.SetValue("SLGA");
|
BlockSLGAUNH.NachrichtenTypKennung.SetValue("SLGA");
|
||||||
BlockSLGAUNH.Verionsnummer.SetValue("18");
|
BlockSLGAUNH.Verionsnummer.SetValue("18");
|
||||||
BlockSLGAUNH.FreigabeNrDesTypes.SetValue("0");
|
BlockSLGAUNH.FreigabeNrDesTypes.SetValue("0");
|
||||||
@@ -97,16 +85,16 @@ namespace Dakota
|
|||||||
|
|
||||||
// Body
|
// Body
|
||||||
// FKT
|
// FKT
|
||||||
BlockSLGANachricht.SegmentFKT.Verarbeitungskennzeichen.SetValue("01");
|
BlockSLGANachricht.SegmentFKT.Verarbeitungskennzeichen.SetValue(info.Verarbeitungskennzeichen.Value);
|
||||||
BlockSLGANachricht.SegmentFKT.IKLeistungserbringers.SetValue(SLGAFKTIKRechnungssteller);
|
BlockSLGANachricht.SegmentFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringers);
|
||||||
BlockSLGANachricht.SegmentFKT.IKKostenträger.SetValue(SLGAFKTIKKostentrager);
|
BlockSLGANachricht.SegmentFKT.IKKostenträger.SetValue(info.IKKostenträger);
|
||||||
BlockSLGANachricht.SegmentFKT.IKKrankenkasse.SetValue(SLGAFKTIKKrankenkasse);
|
BlockSLGANachricht.SegmentFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
|
||||||
BlockSLGANachricht.SegmentFKT.IKAbsender.SetValue(UNBAbsenderbezeichnung);
|
BlockSLGANachricht.SegmentFKT.IKAbsender.SetValue(info.Absenderbezeichnung);
|
||||||
// REC
|
// REC
|
||||||
BlockSLGANachricht.SegmentREC.SammelRechnungsnummer.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentREC.SammelRechnungsnummer.SetValue(info.Rechnungsnummer);
|
||||||
BlockSLGANachricht.SegmentREC.EinzelRechnungsnummer.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentREC.EinzelRechnungsnummer.SetValue("0");
|
||||||
BlockSLGANachricht.SegmentREC.Datum.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentREC.Datum.SetValue(info.Rechnungsdatum.ToString("yyyyMMdd"));
|
||||||
BlockSLGANachricht.SegmentREC.Rechnungsart.SetValue("1");
|
BlockSLGANachricht.SegmentREC.Rechnungsart.SetValue(info.Rechnungsart.Value);
|
||||||
// UST - wird nicht gebraucht
|
// UST - wird nicht gebraucht
|
||||||
//BlockSLGANachricht.SegmentUST.Steuernummer.SetValue(string.Empty);
|
//BlockSLGANachricht.SegmentUST.Steuernummer.SetValue(string.Empty);
|
||||||
//BlockSLGANachricht.SegmentUST.Kennung.SetValue(string.Empty);
|
//BlockSLGANachricht.SegmentUST.Kennung.SetValue(string.Empty);
|
||||||
@@ -114,35 +102,35 @@ namespace Dakota
|
|||||||
//BlockSLGANachricht.SegmentSKO.SkontoProzent.SetValue(string.Empty);
|
//BlockSLGANachricht.SegmentSKO.SkontoProzent.SetValue(string.Empty);
|
||||||
//BlockSLGANachricht.SegmentSKO.Zahlungsziel.SetValue(string.Empty);
|
//BlockSLGANachricht.SegmentSKO.Zahlungsziel.SetValue(string.Empty);
|
||||||
// GES00
|
// GES00
|
||||||
BlockSLGANachricht.SegmentGES00.Status.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES00.Status.SetValue("00");
|
||||||
BlockSLGANachricht.SegmentGES00.Gesamtrechnungsbetrag.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES00.Gesamtrechnungsbetrag.SetDecimalValue(info.Gesamtrechnungsbetrag) ;
|
||||||
BlockSLGANachricht.SegmentGES00.Gesamtbruttobetrag.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES00.Gesamtbruttobetrag.SetDecimalValue(info.Gesamtbruttobetrag);
|
||||||
BlockSLGANachricht.SegmentGES00.GesamtbetragZuzahlung.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES00.GesamtbetragZuzahlung.SetDecimalValue(info.GesamtbetragZuzahlung);
|
||||||
// GES
|
// GES
|
||||||
BlockSLGANachricht.SegmentGES.Status.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES.Status.SetValue(info.Summenstatus.Value);
|
||||||
BlockSLGANachricht.SegmentGES.Gesamtrechnungsbetrag.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES.Gesamtrechnungsbetrag.SetDecimalValue(info.Gesamtrechnungsbetrag);
|
||||||
BlockSLGANachricht.SegmentGES.Gesamtbruttobetrag.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES.Gesamtbruttobetrag.SetDecimalValue(info.Gesamtbruttobetrag);
|
||||||
BlockSLGANachricht.SegmentGES.GesamtbetragZuzahlung.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentGES.GesamtbetragZuzahlung.SetDecimalValue(info.GesamtbetragZuzahlung);
|
||||||
// NAM
|
// NAM
|
||||||
BlockSLGANachricht.SegmentNAM.Name1.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentNAM.Name1.SetValue(info.Name1);
|
||||||
BlockSLGANachricht.SegmentNAM.Name2.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentNAM.Name2.SetValue(info.Name2);
|
||||||
BlockSLGANachricht.SegmentNAM.Name3.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentNAM.Name3.SetValue(info.Name3);
|
||||||
BlockSLGANachricht.SegmentNAM.Name4.SetValue(string.Empty);
|
BlockSLGANachricht.SegmentNAM.Name4.SetValue(info.Name4);
|
||||||
|
|
||||||
// End
|
// End
|
||||||
BlockSLGAUNT.AnzahlEinheiten.SetFilledIntValue(SegmentSLGACounter, 6);
|
BlockSLGAUNT.AnzahlEinheiten.SetFilledIntValue(SegmentSLGACounter, 6);
|
||||||
BlockSLGAUNT.Nachrichtenreferenznummer.SetFilledIntValue(nachrichtenreferenznummer, 5);
|
BlockSLGAUNT.Nachrichtenreferenznummer.SetFilledIntValue(nachrefnum, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateBlockSLLA()
|
public void GenerateBlockSLLA(DakotaFileInfo info)
|
||||||
{
|
{
|
||||||
SegmentSLLACounter++;
|
SegmentSLLACounter++;
|
||||||
AnzahlUNHCounter++;
|
AnzahlUNHCounter++;
|
||||||
|
|
||||||
var nachrichtenreferenznummer = NachrichtenreferenzCounter++;
|
var nachrefnum = ++AnzahlUNHCounter;
|
||||||
|
|
||||||
// Head
|
// Head
|
||||||
BlockSLLAUNH.Nachrichtenreferenznummer.SetFilledIntValue(NachrichtenreferenzCounter, 5);
|
BlockSLLAUNH.Nachrichtenreferenznummer.SetFilledIntValue(nachrefnum, 5);
|
||||||
BlockSLLAUNH.NachrichtenTypKennung.SetValue("SLLA");
|
BlockSLLAUNH.NachrichtenTypKennung.SetValue("SLLA");
|
||||||
BlockSLLAUNH.Verionsnummer.SetValue("18");
|
BlockSLLAUNH.Verionsnummer.SetValue("18");
|
||||||
BlockSLLAUNH.FreigabeNrDesTypes.SetValue("0");
|
BlockSLLAUNH.FreigabeNrDesTypes.SetValue("0");
|
||||||
@@ -150,22 +138,21 @@ namespace Dakota
|
|||||||
|
|
||||||
// Body
|
// Body
|
||||||
// FKT Funktion
|
// FKT Funktion
|
||||||
BlockSLLANachricht.SegmentSLLAFKT.Verarbeitungskennzeichen.SetValue("01");
|
BlockSLLANachricht.SegmentSLLAFKT.Verarbeitungskennzeichen.SetValue(info.Verarbeitungskennzeichen.Value);
|
||||||
BlockSLLANachricht.SegmentSLLAFKT.IKLeistungserbringers.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringers);
|
||||||
BlockSLLANachricht.SegmentSLLAFKT.IKKostenträgers.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAFKT.IKKostenträgers.SetValue(info.IKKostenträger);
|
||||||
BlockSLLANachricht.SegmentSLLAFKT.IKKrankenkasse.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
|
||||||
BlockSLLANachricht.SegmentSLLAFKT.IKRechnungsstellers.SetValue(string.Empty);
|
//BlockSLLANachricht.SegmentSLLAFKT.IKRechnungsstellers.SetValue(string.Empty);
|
||||||
// REC
|
// REC
|
||||||
var slgarec = BlockSLGANachricht.SegmentREC;
|
BlockSLLANachricht.SegmentSLLAREC.SammelRechnungsnummer.SetValue(info.Rechnungsnummer);
|
||||||
BlockSLLANachricht.SegmentSLLAREC.SammelRechnungsnummer.SetValue(slgarec.SammelRechnungsnummer.GetValue());
|
BlockSLLANachricht.SegmentSLLAREC.EinzelRechnungsnummer.SetValue("0");
|
||||||
BlockSLLANachricht.SegmentSLLAREC.EinzelRechnungsnummer.SetValue(slgarec.EinzelRechnungsnummer.GetValue());
|
BlockSLLANachricht.SegmentSLLAREC.Datum.SetValue(info.Rechnungsdatum.ToString("yyyyMMdd"));
|
||||||
BlockSLLANachricht.SegmentSLLAREC.Datum.SetValue(slgarec.Datum.GetValue());
|
BlockSLLANachricht.SegmentSLLAREC.Rechnungsart.SetValue(info.Rechnungsart.Value);
|
||||||
BlockSLLANachricht.SegmentSLLAREC.Rechnungsart.SetValue(slgarec.Rechnungsart.GetValue());
|
|
||||||
// INV
|
// INV
|
||||||
// Information Versicherte
|
// Information Versicherte
|
||||||
BlockSLLANachricht.SegmentSLLAINV.VersichertenNummer.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAINV.VersichertenNummer.SetValue(string.Empty);
|
||||||
BlockSLLANachricht.SegmentSLLAINV.Versichertenstatus.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAINV.Versichertenstatus.SetValue(string.Empty);
|
||||||
BlockSLLANachricht.SegmentSLLAINV.Beleginformation.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAINV.Beleginformation.SetValue("0");
|
||||||
BlockSLLANachricht.SegmentSLLAINV.Belegnummer.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAINV.Belegnummer.SetValue(string.Empty);
|
||||||
BlockSLLANachricht.SegmentSLLAINV.KennzeichenBesondereVersorgungsform.SetValue(string.Empty);
|
BlockSLLANachricht.SegmentSLLAINV.KennzeichenBesondereVersorgungsform.SetValue(string.Empty);
|
||||||
// URI
|
// URI
|
||||||
@@ -207,8 +194,8 @@ namespace Dakota
|
|||||||
// TXT
|
// TXT
|
||||||
pos.SegmentSLLATXT.Text.SetValue(string.Empty);
|
pos.SegmentSLLATXT.Text.SetValue(string.Empty);
|
||||||
// MWS
|
// MWS
|
||||||
pos.SegmentSLLAMWS.Mehrwertsteuersatz.SetValue(string.Empty);
|
//pos.SegmentSLLAMWS.Mehrwertsteuersatz.SetValue(string.Empty);
|
||||||
pos.SegmentSLLAMWS.BetragMehrwertsteuer.SetValue(string.Empty);
|
//pos.SegmentSLLAMWS.BetragMehrwertsteuer.SetValue(string.Empty);
|
||||||
|
|
||||||
BlockSLLANachricht.AddPosition(pos);
|
BlockSLLANachricht.AddPosition(pos);
|
||||||
}
|
}
|
||||||
@@ -231,22 +218,74 @@ namespace Dakota
|
|||||||
|
|
||||||
// End
|
// End
|
||||||
BlockSLLAUNT.AnzahlEinheiten.SetFilledIntValue(SegmentSLLACounter, 6);
|
BlockSLLAUNT.AnzahlEinheiten.SetFilledIntValue(SegmentSLLACounter, 6);
|
||||||
BlockSLLAUNT.Nachrichtenreferenznummer.SetFilledIntValue(nachrichtenreferenznummer, 5);
|
BlockSLLAUNT.Nachrichtenreferenznummer.SetFilledIntValue(nachrefnum, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateUNZ()
|
public void GenerateUNZ(DakotaFileInfo info)
|
||||||
{
|
{
|
||||||
SegmentUNZ.AnzahlNachrichten.SetFilledIntValue(AnzahlUNHCounter, 6);
|
SegmentUNZ.AnzahlNachrichten.SetFilledIntValue(AnzahlUNHCounter, 6);
|
||||||
var datenaustauschreferenz = SegmentUNB.Datenaustauschreferenz.GetValue();
|
SegmentUNZ.Datenaustauschreferenz.SetFilledIntValue(info.Datenaustauschreferenz, 5);
|
||||||
SegmentUNZ.Datenaustauschreferenz.SetValue(datenaustauschreferenz);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void IncrementCounter()
|
public void foo(long? invoiceBaseOid)
|
||||||
{
|
{
|
||||||
if (DatenaustauschreferenzCounter == 99999)
|
//var serviceInvoice = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoiceBaseOid.Value);
|
||||||
DatenaustauschreferenzCounter = 0;
|
|
||||||
|
|
||||||
DatenaustauschreferenzCounter++;
|
//if (!serviceInvoice.Oid.HasValue)
|
||||||
|
// return;
|
||||||
|
|
||||||
|
//if (serviceInvostring.IsNullOrEmpty(serviceInvoiceOid))
|
||||||
|
// return;
|
||||||
|
|
||||||
|
//var serviceInvoiceOid = serviceInvoice.Oid.Value;
|
||||||
|
//var serviceInvoiceOid2CostbearerId = new Dictionary<long, string>();
|
||||||
|
//var dcList = new List<ServiceInvoiceDC>();
|
||||||
|
|
||||||
|
|
||||||
|
// var oid = long.Parse(oidStr);
|
||||||
|
// // Lade ServiceInvoice
|
||||||
|
// var invoice = DAOFactory.GenericDAO.LoadByID<ServiceInvoice>(oid);
|
||||||
|
// var dc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(invoice);
|
||||||
|
// // Füge dcListe hinzu
|
||||||
|
// dcList.Add(dc);
|
||||||
|
|
||||||
|
// // Falls ServiceInvoice Oid bereits in serviceInvoiceOid2CostbearerOid List (S2C List) ist, überspringe
|
||||||
|
// if (serviceInvoiceOid2CostbearerId.ContainsKey(oid))
|
||||||
|
// continue;
|
||||||
|
|
||||||
|
// // ServiceInvoice Oid ist noch nicht in S2C List
|
||||||
|
|
||||||
|
// // Frage, ob InvoiceId existiert
|
||||||
|
// if (!String.IsNullOrEmpty(invoice.InvoiceBase.InvoiceId))
|
||||||
|
// // Falls InvoiceId existiert
|
||||||
|
// serviceInvoiceOid2CostbearerId.Add(oid, invoice.InvoiceBase.InvoiceId);
|
||||||
|
//}
|
||||||
|
|
||||||
|
//IBeWoReport<ServiceInvoiceRO> allReports = null;
|
||||||
|
|
||||||
|
//foreach (var iDC in dcList)
|
||||||
|
//{
|
||||||
|
// String reportId = null;
|
||||||
|
// if (serviceInvoiceOid2CostbearerId.ContainsKey(iDC.ServiceInvoiceOid.Value))
|
||||||
|
// reportId = serviceInvoiceOid2CostbearerId[iDC.ServiceInvoiceOid.Value];
|
||||||
|
|
||||||
|
// IBeWoReport<ServiceInvoiceRO> singleReport = FindReportImp<ServiceInvoiceRO>(reportId);
|
||||||
|
|
||||||
|
// singleReport.SetReportDataSource(ServiceInvoiceRO.Create(iDC));
|
||||||
|
// ((XtraReport)singleReport).CreateDocument();
|
||||||
|
// if (allReports == null)
|
||||||
|
// allReports = singleReport;
|
||||||
|
// else
|
||||||
|
// ((XtraReport)allReports).Pages.AddRange(((XtraReport)singleReport).Pages);
|
||||||
|
//}
|
||||||
|
|
||||||
|
//return allReports as XtraReport;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetRows()
|
||||||
|
{
|
||||||
|
return SozioTherapieEinzelnachweis.GetRows();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
178
Dakota/DakotaFileInfo.cs
Normal file
178
Dakota/DakotaFileInfo.cs
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
using Dakota.Models.Schlüssel;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Dakota
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Klasse zum Erzeugen von Dakota Files
|
||||||
|
/// </summary>
|
||||||
|
public class DakotaFileInfo
|
||||||
|
{
|
||||||
|
private int _Datenaustauschreferenz;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// IK des Absenders ( Abrechnungsstelle mit oder ohne Inkassobefugnis oder LE)
|
||||||
|
/// Genutzt werden die ersten 9 Stellen;
|
||||||
|
/// einzutragen ist das IK der absendenden Stelle.
|
||||||
|
/// Diese Angabe muss übereinstimmen mit SLGA.FKT.IK Absender der Datei.
|
||||||
|
/// </summary>
|
||||||
|
public string Absenderbezeichnung { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// IK des Empfängers (d.h. Datenannahmestelle mit Entschlüsselungsbefugnis);
|
||||||
|
/// genutzt werden die ersten 9 Stellen;
|
||||||
|
/// einzutragen ist das IK der empfangenden Stelle
|
||||||
|
/// </summary>
|
||||||
|
public string Empfangerbezeichnung { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Ab Version 12 ist die Datenaustauschreferenz zwingend zu füllen.
|
||||||
|
/// Genutzt werden die ersten 5 Stellen;
|
||||||
|
/// einzutragen ist die fortlaufende
|
||||||
|
/// Nummer der Lieferungen zwischen
|
||||||
|
/// Absender und Empfänger mit führenden Nullen.
|
||||||
|
/// Bei Überlauf der Datenaustauschreferenz („99999“) ist wieder
|
||||||
|
/// bei Eins(„00001“) zu beginnen
|
||||||
|
/// </summary>
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Genutzt werden die ersten 11 Stellen;
|
||||||
|
/// einzutragen ist der logische Dateiname s.Anhang 1 zur Anlage 1
|
||||||
|
/// zum Kapitel 4.
|
||||||
|
/// </summary>
|
||||||
|
public string Anwendungsreferenz { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Inhalt = 0 wenn Testdatei
|
||||||
|
/// Inhalt = 1 wenn Erprobungsdatei
|
||||||
|
/// Inhalt = 2 wenn Echtdatei
|
||||||
|
/// </summary>
|
||||||
|
public SchlüsselTestindikator Testindikator { get; 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 string IKLeistungserbringers { get; 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 string IKKostenträger { get; 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 string IKKrankenkasse { get; 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 string Rechnungsnummer { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Rechnungsdatum JJJJMMTT
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Rechnungsdatum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Siehe Schlüssel Summenstatus
|
||||||
|
/// Anlage 3 Abschnitt 8.1.6
|
||||||
|
/// </summary>
|
||||||
|
public SchlüsselSummenstatus Summenstatus { get; 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 decimal Gesamtrechnungsbetrag { get; 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 decimal Gesamtbruttobetrag { get; 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 decimal GesamtbetragZuzahlung { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Name bzw. Firmenbezeichnung des
|
||||||
|
/// Rechnungsstellers(Leistungserbringer oder Abrechnungsstelle
|
||||||
|
/// </summary>
|
||||||
|
/// /// <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 SchlüsselRechnungsart Rechnungsart { get; set; }
|
||||||
|
public string Name1 { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// ggf. Ansprechpartner und Telefonnummer.
|
||||||
|
/// </summary>
|
||||||
|
public string Name2 { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// ggf. Ansprechpartner und Telefonnummer.
|
||||||
|
/// </summary>
|
||||||
|
public string Name3 { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// E-Mail-Adresse;
|
||||||
|
/// zugelassen sind Buchstaben und Ziffern, ausgenommen Umlaute
|
||||||
|
/// </summary>
|
||||||
|
public string Name4 { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Siehe Schlüssel Verarbeitungskennzeichen Anlage 3 Abschnitt 8.1.7.
|
||||||
|
/// </summary>
|
||||||
|
public SchlüsselVerarbeitungskennzeichen Verarbeitungskennzeichen { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,11 +25,8 @@ namespace Dakota.Models
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Mit diesem Segment kann zu jeder abzurechnenden Position
|
/// Mit diesem Segment kann zu jeder abzurechnenden Position
|
||||||
/// Mehrwertsteuer angegeben werden.Benutzt werden soll das
|
/// Mehrwertsteuer angegeben werden.Benutzt werden soll das
|
||||||
/// Segment nur dann, wenn dem in ENF genannten Einzelbetrag
|
/// Segment nur dann, wenn dem in ENF genannten Einzelbetrag
|
||||||
/// die Mehrwertsteuer hinzuzurechnen ist.
|
/// die Mehrwertsteuer hinzuzurechnen ist.
|
||||||
/// </summary>
|
|
||||||
public SegmentSLLAMWS SegmentSLLAMWS { get; private set; }
|
|
||||||
/// <summary>
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
///public SegmentSLLAMWS SegmentSLLAMWS { get; private set; }
|
///public SegmentSLLAMWS SegmentSLLAMWS { get; private set; }
|
||||||
|
|
||||||
@@ -37,12 +34,14 @@ namespace Dakota.Models
|
|||||||
|
|
||||||
public Abrechnungsposition()
|
public Abrechnungsposition()
|
||||||
{
|
{
|
||||||
SegmentSLLAENF = new SegmentSLLAENF();
|
SegmentSLLAENF = new SegmentSLLAENF();
|
||||||
SegmentSLLASUT = new SegmentSLLASUT();
|
SegmentSLLASUT = new SegmentSLLASUT();
|
||||||
SegmentSLLATXT = new SegmentSLLATXT();
|
SegmentSLLATXT = new SegmentSLLATXT();
|
||||||
//SegmentSLLAMWS = new SegmentSLLAMWS();
|
//SegmentSLLAMWS = new SegmentSLLAMWS();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Segment> GetSegments()
|
||||||
|
{
|
||||||
return new List<Segment>() { SegmentSLLAENF, SegmentSLLASUT, SegmentSLLATXT,
|
return new List<Segment>() { SegmentSLLAENF, SegmentSLLASUT, SegmentSLLATXT,
|
||||||
};
|
};
|
||||||
//SegmentSLLAMWS };
|
//SegmentSLLAMWS };
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace Dakota.Models.Datei
|
|||||||
|
|
||||||
public string GetRows()
|
public string GetRows()
|
||||||
{
|
{
|
||||||
return UNH.GetValue() + NachrichtSLGA.GetRows() + UNT.GetValue() + string.Join("", BlockKrankenkarteVerordnung.Select(x => x.GetRows()));
|
return UNH.GetRows() + NachrichtSLGA.GetRows() + UNT.GetRows() + string.Join("", BlockKrankenkarteVerordnung.Select(x => x.GetRows()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ namespace Dakota.Models.Datei
|
|||||||
|
|
||||||
public string GetRows()
|
public string GetRows()
|
||||||
{
|
{
|
||||||
return SLGAUNH.GetValue() + SLGANachricht2.GetRows() + SLGAUNT.GetValue() +
|
return SLGAUNH.GetRows() + SLGANachricht2.GetRows() + SLGAUNT.GetRows() +
|
||||||
SLLAUNH.GetValue() + SLLANachricht2.GetRows() + SLLAUNT.GetValue();
|
SLLAUNH.GetRows() + SLLANachricht2.GetRows() + SLLAUNT.GetRows();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace Dakota.Models.Datei
|
|||||||
|
|
||||||
public string GetRows()
|
public string GetRows()
|
||||||
{
|
{
|
||||||
return UNB.GetValue() + string.Join(string.Empty, BlockKostenträger.Select(x => x.GetRows())) + UNZ.GetValue();
|
return UNB.GetRows() + string.Join(string.Empty, BlockKostenträger.Select(x => x.GetRows())) + UNZ.GetRows();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace Dakota.Models.Datei
|
|||||||
|
|
||||||
public string GetRows()
|
public string GetRows()
|
||||||
{
|
{
|
||||||
return UNB.GetValue() + string.Join(string.Empty, BlockKrankenkarteVerordnung.GetRows() + UNZ.GetValue());
|
return UNB.GetRows() + string.Join(string.Empty, BlockKrankenkarteVerordnung.GetRows() + UNZ.GetRows());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ namespace Dakota.Models
|
|||||||
{
|
{
|
||||||
public abstract string GetValue();
|
public abstract string GetValue();
|
||||||
|
|
||||||
|
public string Title { get; set; }
|
||||||
|
|
||||||
public bool HasValue()
|
public bool HasValue()
|
||||||
{
|
{
|
||||||
return GetValue() is string;
|
return GetValue() is string;
|
||||||
|
|||||||
@@ -12,19 +12,21 @@ namespace Dakota.Models
|
|||||||
|
|
||||||
public Feldart Feldart { get; set; }
|
public Feldart Feldart { get; set; }
|
||||||
|
|
||||||
public Datenelement()
|
public Datenelement(string title)
|
||||||
{
|
{
|
||||||
|
Title = title;
|
||||||
|
|
||||||
_IsDecimal = false;
|
_IsDecimal = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Datenelement(int min, int max, Feldart art) : this()
|
public Datenelement(string title, int min, int max, Feldart art) : this(title)
|
||||||
{
|
{
|
||||||
MinStellen = min;
|
MinStellen = min;
|
||||||
MaxStellen = max;
|
MaxStellen = max;
|
||||||
Feldart = art;
|
Feldart = art;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Datenelement(int count, Feldart art) : this(count, count, art)
|
public Datenelement(string title, int count, Feldart art) : this(title, count, count, art)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -69,12 +71,12 @@ namespace Dakota.Models
|
|||||||
{
|
{
|
||||||
if (value.Length < MinStellen || value.Length > MaxStellen)
|
if (value.Length < MinStellen || value.Length > MaxStellen)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException("Error Code: 3483091097894");
|
throw new ArgumentOutOfRangeException(Title, value, $"Wertebereich: min:max = ({MinStellen}:{MaxStellen})");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new NotImplementedException("Error Code: 3483091097893");
|
throw new ArgumentOutOfRangeException(Title, value, "value ist kein string");
|
||||||
}
|
}
|
||||||
|
|
||||||
DakotaValidator.ClearTextString(value);
|
DakotaValidator.ClearTextString(value);
|
||||||
|
|||||||
@@ -10,11 +10,13 @@ namespace Dakota.Models
|
|||||||
{
|
{
|
||||||
public Datenelement[] Datenelemente { get; set; }
|
public Datenelement[] Datenelemente { get; set; }
|
||||||
|
|
||||||
public Datenelementgruppe(int count)
|
public Datenelementgruppe(string title, int count)
|
||||||
{
|
{
|
||||||
if (count < 2)
|
if (count < 2)
|
||||||
throw new ArgumentOutOfRangeException("#37493218741616891269821");
|
throw new ArgumentOutOfRangeException("#37493218741616891269821");
|
||||||
|
|
||||||
|
Title = title;
|
||||||
|
|
||||||
Datenelemente = new Datenelement[count];
|
Datenelemente = new Datenelement[count];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,10 +48,15 @@ namespace Dakota.Models.Nachricht
|
|||||||
/// Imagearchiven durch den Absender.
|
/// Imagearchiven durch den Absender.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public SegmentSLLAIMG SegmentSLLAIMG { get; private set; }
|
public SegmentSLLAIMG SegmentSLLAIMG { get; private set; }
|
||||||
|
/// <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>
|
/// </summary>
|
||||||
public List<Abrechnungsposition> Abrechnungspositions { get; set; }
|
public List<Abrechnungsposition> Abrechnungspositions { get; set; }
|
||||||
/// Das Segment enthält allgemeine Angaben zum Abrechnungsfall (Verordnung) und ist zu übermitteln, wenn eine ärztliche
|
/// <summary>
|
||||||
/// Verordnung, ein Reparatur- oder Berechtigungsschein oder
|
/// 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.
|
/// für spätere Ausprägungen reserviert.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public SegmentSLLAZUV SegmentSLLAZUV { get; private set; }
|
public SegmentSLLAZUV SegmentSLLAZUV { get; private set; }
|
||||||
|
|||||||
18
Dakota/Models/Schlüssel/Schlüssel.cs
Normal file
18
Dakota/Models/Schlüssel/Schlüssel.cs
Normal 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üssel
|
||||||
|
{
|
||||||
|
public abstract class Schlüssel
|
||||||
|
{
|
||||||
|
public string Value { get; set; }
|
||||||
|
|
||||||
|
public Schlüssel(string val)
|
||||||
|
{
|
||||||
|
Value = val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Dakota/Models/Schlüssel/SchlüsselRechnungsart.cs
Normal file
18
Dakota/Models/Schlüssel/SchlüsselRechnungsart.cs
Normal 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üssel
|
||||||
|
{
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Dakota/Models/Schlüssel/SchlüsselSummenstatus.cs
Normal file
19
Dakota/Models/Schlüssel/SchlüsselSummenstatus.cs
Normal 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üssel
|
||||||
|
{
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
17
Dakota/Models/Schlüssel/SchlüsselTestindikator.cs
Normal file
17
Dakota/Models/Schlüssel/SchlüsselTestindikator.cs
Normal 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üssel
|
||||||
|
{
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Dakota/Models/Schlüssel/SchlüsselVerarbeitungskennzeichen.cs
Normal file
18
Dakota/Models/Schlüssel/SchlüsselVerarbeitungskennzeichen.cs
Normal 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üssel
|
||||||
|
{
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Nachricht einmal
|
/// Das Segment ist je Nachricht einmal
|
||||||
@@ -52,12 +52,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGAFKT()
|
public SegmentSLGAFKT()
|
||||||
{
|
{
|
||||||
Verarbeitungskennzeichen = new Datenelement(2, Feldart.Muss);
|
Verarbeitungskennzeichen = new Datenelement("Verarbeitungskennzeichen", 2, Feldart.Muss);
|
||||||
Sammelrechnung = new Datenelement(1, Feldart.Kann);
|
Sammelrechnung = new Datenelement("Sammelrechnung", 1, Feldart.Kann);
|
||||||
IKLeistungserbringers = new Datenelement(9, Feldart.Muss);
|
IKLeistungserbringers = new Datenelement("IKLeistungserbringers", 9, Feldart.Muss);
|
||||||
IKKostenträger = new Datenelement(9, Feldart.Muss);
|
IKKostenträger = new Datenelement("IKKostenträger", 9, Feldart.Muss);
|
||||||
IKKrankenkasse = new Datenelement(9, Feldart.Kann);
|
IKKrankenkasse = new Datenelement("IKKrankenkasse", 9, Feldart.Kann);
|
||||||
IKAbsender = new Datenelement(9, Feldart.Muss);
|
IKAbsender = new Datenelement("IKAbsender", 9, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "FKT";
|
public override string GetHead() => "FKT";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment muss je Nachricht mindestens zweimal und kann höchstens
|
/// Das Segment muss je Nachricht mindestens zweimal und kann höchstens
|
||||||
@@ -69,10 +69,10 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGAGES()
|
public SegmentSLGAGES()
|
||||||
{
|
{
|
||||||
Status = new Datenelement(2, Feldart.Muss);
|
Status = new Datenelement("Status", 2, Feldart.Muss);
|
||||||
Gesamtrechnungsbetrag = new Datenelement(3, 13, Feldart.Muss);
|
Gesamtrechnungsbetrag = new Datenelement("Gesamtrechnungsbetrag", 3, 13, Feldart.Muss);
|
||||||
Gesamtbruttobetrag = new Datenelement(3, 13, Feldart.Muss);
|
Gesamtbruttobetrag = new Datenelement("Gesamtbruttobetrag", 3, 13, Feldart.Muss);
|
||||||
GesamtbetragZuzahlung = new Datenelement(3, 13, Feldart.Kann);
|
GesamtbetragZuzahlung = new Datenelement("GesamtbetragZuzahlung", 3, 13, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "GES";
|
public override string GetHead() => "GES";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Nachricht einmal
|
/// Das Segment ist je Nachricht einmal
|
||||||
@@ -33,10 +33,10 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGANAM()
|
public SegmentSLGANAM()
|
||||||
{
|
{
|
||||||
Name1 = new Datenelement(0, 30, Feldart.Muss);
|
Name1 = new Datenelement("Name1", 0, 30, Feldart.Muss);
|
||||||
Name2 = new Datenelement(0, 30, Feldart.Kann);
|
Name2 = new Datenelement("Name2", 0, 30, Feldart.Kann);
|
||||||
Name3 = new Datenelement(0, 30, Feldart.Kann);
|
Name3 = new Datenelement("Name3", 0, 30, Feldart.Kann);
|
||||||
Name4 = new Datenelement(0, 70, Feldart.Kann);
|
Name4 = new Datenelement("Name4", 0, 70, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "NAM";
|
public override string GetHead() => "NAM";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Nachricht einmal zu
|
/// Das Segment ist je Nachricht einmal zu
|
||||||
@@ -69,11 +69,11 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGAREC()
|
public SegmentSLGAREC()
|
||||||
{
|
{
|
||||||
Rechnungsnummer = new Datenelementgruppe(2);
|
Rechnungsnummer = new Datenelementgruppe("Rechnungsnummer", 2);
|
||||||
SammelRechnungsnummer = Rechnungsnummer.Datenelemente[0] = new Datenelement(0, 14, Feldart.Muss);
|
SammelRechnungsnummer = Rechnungsnummer.Datenelemente[0] = new Datenelement("SammelRechnungsnummer", 0, 14, Feldart.Muss);
|
||||||
EinzelRechnungsnummer = Rechnungsnummer.Datenelemente[1] = new Datenelement(0, 6, Feldart.Muss);
|
EinzelRechnungsnummer = Rechnungsnummer.Datenelemente[1] = new Datenelement("EinzelRechnungsnummer", 0, 6, Feldart.Muss);
|
||||||
Datum = new Datenelement(8, Feldart.Muss);
|
Datum = new Datenelement("Datum", 8, Feldart.Muss);
|
||||||
Rechnungsart = new Datenelement(1, Feldart.Muss);
|
Rechnungsart = new Datenelement("Rechnungsart", 1, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override List<Dateneinheit> GetBody()
|
public override List<Dateneinheit> GetBody()
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment kann je Nachricht
|
/// Das Segment kann je Nachricht
|
||||||
@@ -31,8 +31,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGASKO()
|
public SegmentSLGASKO()
|
||||||
{
|
{
|
||||||
SkontoProzent = new Datenelement(3, 5, Feldart.Muss);
|
SkontoProzent = new Datenelement("SkontoProzent", 3, 5, Feldart.Muss);
|
||||||
Zahlungsziel = new Datenelement(0, 3, Feldart.Muss);
|
Zahlungsziel = new Datenelement("Zahlungsziel", 0, 3, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "SKO";
|
public override string GetHead() => "SKO";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLGA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment kann je Nachricht einmal übermittelt werden. Es ist nicht
|
/// Das Segment kann je Nachricht einmal übermittelt werden. Es ist nicht
|
||||||
@@ -25,8 +25,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLGAUST()
|
public SegmentSLGAUST()
|
||||||
{
|
{
|
||||||
Steuernummer = new Datenelement(0, 20, Feldart.Muss);
|
Steuernummer = new Datenelement("Steuernummer", 0, 20, Feldart.Muss);
|
||||||
Kennung = new Datenelement(1, Feldart.Kann);
|
Kennung = new Datenelement("Kennung", 1, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "UST";
|
public override string GetHead() => "UST";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Abrechnungsfall
|
/// Das Segment ist je Abrechnungsfall
|
||||||
@@ -46,11 +46,11 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLABES()
|
public SegmentSLLABES()
|
||||||
{
|
{
|
||||||
GesamtbetragBrutto = new Datenelement(3, 13, Feldart.Muss);
|
GesamtbetragBrutto = new Datenelement("GesamtbetragBrutto", 3, 13, Feldart.Muss);
|
||||||
GesamtbetragGesetzlicheZuzahlung = new Datenelement(3, 13, Feldart.Kann);
|
GesamtbetragGesetzlicheZuzahlung = new Datenelement("GesamtbetragGesetzlicheZuzahlung", 3, 13, Feldart.Kann);
|
||||||
GesamtbetragProzentualeZuzahlung = new Datenelement(3, 13, Feldart.Kann);
|
GesamtbetragProzentualeZuzahlung = new Datenelement("GesamtbetragProzentualeZuzahlung", 3, 13, Feldart.Kann);
|
||||||
PauschalerZuzahlungsbetrag = new Datenelement(3, 13, Feldart.Kann);
|
PauschalerZuzahlungsbetrag = new Datenelement("PauschalerZuzahlungsbetrag", 3, 13, Feldart.Kann);
|
||||||
GesamtbetragEigenanteil = new Datenelement(3, 13, Feldart.Kann);
|
GesamtbetragEigenanteil = new Datenelement("GesamtbetragEigenanteil", 3, 13, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "BES";
|
public override string GetHead() => "BES";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist 1 mal je Diagnose
|
/// Das Segment ist 1 mal je Diagnose
|
||||||
@@ -25,8 +25,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLADIA()
|
public SegmentSLLADIA()
|
||||||
{
|
{
|
||||||
Diagnoseschlüssel = new Datenelement(0, 12, Feldart.Kann);
|
Diagnoseschlüssel = new Datenelement("Diagnoseschlüssel", 0, 12, Feldart.Kann);
|
||||||
Diagnosetext = new Datenelement(0, 70, Feldart.Kann);
|
Diagnosetext = new Datenelement("Diagnosetext", 0, 70, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "DIA";
|
public override string GetHead() => "DIA";
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist für jede Abrechnungsposition, bezogen auf den Tag
/// der Leistungserbringung, einmal zu
/// übermitteln
|
/// Das Segment ist für jede Abrechnungsposition, bezogen auf den Tag
/// der Leistungserbringung, einmal zu
/// übermitteln
|
||||||
@@ -88,15 +88,15 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAENF()
|
public SegmentSLLAENF()
|
||||||
{
|
{
|
||||||
Identifikationsnummer = new Datenelement(0, 3, Feldart.Kann);
|
Identifikationsnummer = new Datenelement("Identifikationsnummer", 0, 3, Feldart.Kann);
|
||||||
Leistungserbringergruppe = new Datenelementgruppe(2);
|
Leistungserbringergruppe = new Datenelementgruppe("Leistungserbringergruppe", 2);
|
||||||
Abrechnungscode = Leistungserbringergruppe.Datenelemente[0] = new Datenelement(2, Feldart.Muss);
|
Abrechnungscode = Leistungserbringergruppe.Datenelemente[0] = new Datenelement("Abrechnungscode", 2, Feldart.Muss);
|
||||||
Tarifkennzeichen = Leistungserbringergruppe.Datenelemente[1] = new Datenelement(5, Feldart.Muss);
|
Tarifkennzeichen = Leistungserbringergruppe.Datenelemente[1] = new Datenelement("Tarifkennzeichen", 5, Feldart.Muss);
|
||||||
ArtLeistung = new Datenelement(0, 10, Feldart.Muss);
|
ArtLeistung = new Datenelement("ArtLeistung", 0, 10, Feldart.Muss);
|
||||||
AnzahlMenge = new Datenelement(3, 7, Feldart.Muss);
|
AnzahlMenge = new Datenelement("AnzahlMenge", 3, 7, Feldart.Muss);
|
||||||
EinzelbetragAbrechnungsposition = new Datenelement(3, 13, Feldart.Muss);
|
EinzelbetragAbrechnungsposition = new Datenelement("EinzelbetragAbrechnungsposition", 3, 13, Feldart.Muss);
|
||||||
DatumLeistungserbringung = new Datenelement(8, Feldart.Muss);
|
DatumLeistungserbringung = new Datenelement("DatumLeistungserbringung", 8, Feldart.Muss);
|
||||||
BetragZuzahlung = new Datenelement(3, 13, Feldart.Kann);
|
BetragZuzahlung = new Datenelement("BetragZuzahlung", 3, 13, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "ENF";
|
public override string GetHead() => "ENF";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Nachricht einmal zu übermitteln.
|
/// Das Segment ist je Nachricht einmal zu übermitteln.
|
||||||
@@ -51,12 +51,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAFKT()
|
public SegmentSLLAFKT()
|
||||||
{
|
{
|
||||||
Verarbeitungskennzeichen = new Datenelement(2, Feldart.Muss);
|
Verarbeitungskennzeichen = new Datenelement("Verarbeitungskennzeichen", 2, Feldart.Muss);
|
||||||
Freifeld = new Datenelement(1, Feldart.Kann);
|
Freifeld = new Datenelement("Freifeld", 1, Feldart.Kann);
|
||||||
IKLeistungserbringers = new Datenelement(9, Feldart.Muss);
|
IKLeistungserbringers = new Datenelement("IKLeistungserbringers", 9, Feldart.Muss);
|
||||||
IKKostenträgers = new Datenelement(9, Feldart.Muss);
|
IKKostenträgers = new Datenelement("IKKostenträgers", 9, Feldart.Muss);
|
||||||
IKKrankenkasse = new Datenelement(9, Feldart.Muss);
|
IKKrankenkasse = new Datenelement("IKKrankenkasse", 9, Feldart.Muss);
|
||||||
IKRechnungsstellers = new Datenelement(9, Feldart.Kann);
|
IKRechnungsstellers = new Datenelement("IKRechnungsstellers", 9, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "FKT";
|
public override string GetHead() => "FKT";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment kann für jeden Abrechnungsfall einmal übermittelt
|
/// Das Segment kann für jeden Abrechnungsfall einmal übermittelt
|
||||||
@@ -27,9 +27,9 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAIMG()
|
public SegmentSLLAIMG()
|
||||||
{
|
{
|
||||||
Abrechnungsjahr = new Datenelement(4, Feldart.Muss);
|
Abrechnungsjahr = new Datenelement("Abrechnungsjahr", 4, Feldart.Muss);
|
||||||
Abrechnungsmonat = new Datenelement(2, Feldart.Muss);
|
Abrechnungsmonat = new Datenelement("Abrechnungsmonat", 2, Feldart.Muss);
|
||||||
Identifikationsmerkmal = new Datenelement(9, Feldart.Muss);
|
Identifikationsmerkmal = new Datenelement("Identifikationsmerkmal", 9, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "IMG";
|
public override string GetHead() => "IMG";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Abrechnungsfall
|
/// Das Segment ist je Abrechnungsfall
|
||||||
@@ -41,11 +41,11 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAINV()
|
public SegmentSLLAINV()
|
||||||
{
|
{
|
||||||
VersichertenNummer = new Datenelement(0, 12, Feldart.Kann);
|
VersichertenNummer = new Datenelement("VersichertenNummer", 0, 12, Feldart.Kann);
|
||||||
Versichertenstatus = new Datenelement(5, Feldart.Kann);
|
Versichertenstatus = new Datenelement("Versichertenstatus", 5, Feldart.Kann);
|
||||||
Beleginformation = new Datenelement(1, Feldart.Kann);
|
Beleginformation = new Datenelement("Beleginformation", 1, Feldart.Kann);
|
||||||
Belegnummer = new Datenelement(0, 10, Feldart.Muss);
|
Belegnummer = new Datenelement("Belegnummer", 0, 10, Feldart.Muss);
|
||||||
KennzeichenBesondereVersorgungsform = new Datenelement(0, 25, Feldart.Kann);
|
KennzeichenBesondereVersorgungsform = new Datenelement("KennzeichenBesondereVersorgungsform", 0, 25, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "INV";
|
public override string GetHead() => "INV";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist nur dann zu übermitteln, wenn für die abrechnungsfähige Einzelposition (ENF) zusätzlich Mehrwertsteuer vertraglich vereinbart ist.
|
/// Das Segment ist nur dann zu übermitteln, wenn für die abrechnungsfähige Einzelposition (ENF) zusätzlich Mehrwertsteuer vertraglich vereinbart ist.
|
||||||
@@ -25,8 +25,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAMWS()
|
public SegmentSLLAMWS()
|
||||||
{
|
{
|
||||||
Mehrwertsteuersatz = new Datenelement(3, 8, Feldart.Muss);
|
Mehrwertsteuersatz = new Datenelement("Mehrwertsteuersatz", 3, 8, Feldart.Muss);
|
||||||
BetragMehrwertsteuer = new Datenelement(3, 13, Feldart.Muss);
|
BetragMehrwertsteuer = new Datenelement("BetragMehrwertsteuer", 3, 13, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "MWS";
|
public override string GetHead() => "MWS";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Abrechnungsfall
|
/// Das Segment ist je Abrechnungsfall
|
||||||
@@ -51,13 +51,13 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLANAD()
|
public SegmentSLLANAD()
|
||||||
{
|
{
|
||||||
Nachname = new Datenelement(0, 47, Feldart.Muss);
|
Nachname = new Datenelement("Nachname", 0, 47, Feldart.Muss);
|
||||||
Vorname = new Datenelement(0, 30, Feldart.Muss);
|
Vorname = new Datenelement("Vorname", 0, 30, Feldart.Muss);
|
||||||
Geburtsdatum = new Datenelement(8, Feldart.Muss);
|
Geburtsdatum = new Datenelement("Geburtsdatum", 8, Feldart.Muss);
|
||||||
StraßeNr = new Datenelement(0, 30, Feldart.Kann);
|
StraßeNr = new Datenelement("StraßeNr", 0, 30, Feldart.Kann);
|
||||||
PLZ = new Datenelement(0, 7, Feldart.Kann);
|
PLZ = new Datenelement("PLZ", 0, 7, Feldart.Kann);
|
||||||
Wohnort = new Datenelement(0, 25, Feldart.Kann);
|
Wohnort = new Datenelement("Wohnort", 0, 25, Feldart.Kann);
|
||||||
Länderkennzeichen = new Datenelement(0, 3, Feldart.Kann);
|
Länderkennzeichen = new Datenelement("Länderkennzeichen", 0, 3, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "NAD";
|
public override string GetHead() => "NAD";
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
using System;
|
using Dakota.Models.Segmente.SLGA;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Nachricht einmal zu
|
/// Das Segment ist je Nachricht einmal zu
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln, wenn eine
|
/// Das Segment ist je Abrechnungsfall
/// einmal zu übermitteln, wenn eine
|
||||||
@@ -24,9 +24,9 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLASKZ()
|
public SegmentSLLASKZ()
|
||||||
{
|
{
|
||||||
Genehmigungskennzeichen = new Datenelement(0, 20, Feldart.Muss);
|
Genehmigungskennzeichen = new Datenelement("Genehmigungskennzeichen", 0, 20, Feldart.Muss);
|
||||||
DatumGenehmigung = new Datenelement(8, Feldart.Muss);
|
DatumGenehmigung = new Datenelement("DatumGenehmigung", 8, Feldart.Muss);
|
||||||
ArtGenehmigung = new Datenelement(2, Feldart.Muss);
|
ArtGenehmigung = new Datenelement("ArtGenehmigung", 2, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "SKZ";
|
public override string GetHead() => "SKZ";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment kann je Abrechnungsposition (ENF) einmal übermittelt
|
/// Das Segment kann je Abrechnungsposition (ENF) einmal übermittelt
|
||||||
@@ -44,12 +44,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLASUT()
|
public SegmentSLLASUT()
|
||||||
{
|
{
|
||||||
GefahreneKilometer = new Datenelement(0, 6, Feldart.Kann);
|
GefahreneKilometer = new Datenelement("GefahreneKilometer", 0, 6, Feldart.Kann);
|
||||||
Uhrzeit = new Datenelement(4, Feldart.Kann);
|
Uhrzeit = new Datenelement("Uhrzeit", 4, Feldart.Kann);
|
||||||
UhrzeitBis = new Datenelement(4, Feldart.Kann);
|
UhrzeitBis = new Datenelement("UhrzeitBis", 4, Feldart.Kann);
|
||||||
Dauer = new Datenelement(0, 4, Feldart.Kann);
|
Dauer = new Datenelement("Dauer", 0, 4, Feldart.Kann);
|
||||||
VersorgungszeitraumVon = new Datenelement(8, Feldart.Kann);
|
VersorgungszeitraumVon = new Datenelement("VersorgungszeitraumVon", 8, Feldart.Kann);
|
||||||
VersorgungszeitraumBis = new Datenelement(8, Feldart.Kann);
|
VersorgungszeitraumBis = new Datenelement("VersorgungszeitraumBis", 8, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "SUT";
|
public override string GetHead() => "SUT";
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment kann je Abrechnungspositionsnummer einmal übermittelt
|
/// Das Segment kann je Abrechnungspositionsnummer einmal übermittelt
|
||||||
@@ -16,7 +16,7 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLATXT()
|
public SegmentSLLATXT()
|
||||||
{
|
{
|
||||||
Text = new Datenelement(0, 70, Feldart.Muss);
|
Text = new Datenelement("Text", 0, 70, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "TXT";
|
public override string GetHead() => "TXT";
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
@@ -44,12 +44,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAURI()
|
public SegmentSLLAURI()
|
||||||
{
|
{
|
||||||
UrsprünglichesIKdesLeistungserbringers = new Datenelement(9, Feldart.Muss);
|
UrsprünglichesIKdesLeistungserbringers = new Datenelement("UrsprünglichesIKdesLeistungserbringers", 9, Feldart.Muss);
|
||||||
UrsprünglicheRechnungsnummer = new Datenelementgruppe(2);
|
UrsprünglicheRechnungsnummer = new Datenelementgruppe("UrsprünglicheRechnungsnummer", 2);
|
||||||
UrsprünglicheSammelRechnungsnummer = UrsprünglicheRechnungsnummer.Datenelemente[0] = new Datenelement(0, 14, Feldart.Muss);
|
UrsprünglicheSammelRechnungsnummer = UrsprünglicheRechnungsnummer.Datenelemente[0] = new Datenelement("UrsprünglicheSammelRechnungsnummer", 0, 14, Feldart.Muss);
|
||||||
UrsprünglicheEinzelRechnungsnummer = UrsprünglicheRechnungsnummer.Datenelemente[1] = new Datenelement(0, 6, Feldart.Muss);
|
UrsprünglicheEinzelRechnungsnummer = UrsprünglicheRechnungsnummer.Datenelemente[1] = new Datenelement("UrsprünglicheEinzelRechnungsnummer", 0, 6, Feldart.Muss);
|
||||||
UrsprünglichesRechnungsdatum = new Datenelement(8, Feldart.Muss);
|
UrsprünglichesRechnungsdatum = new Datenelement("UrsprünglichesRechnungsdatum", 8, Feldart.Muss);
|
||||||
UrsprünglicheBelegnummer = new Datenelement(0, 10, Feldart.Muss);
|
UrsprünglicheBelegnummer = new Datenelement("UrsprünglicheBelegnummer", 0, 10, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "URI";
|
public override string GetHead() => "URI";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist/kann je Abrechnungsfall einmal übermittelt werden.
|
/// Das Segment ist/kann je Abrechnungsfall einmal übermittelt werden.
|
||||||
@@ -49,13 +49,13 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAZUV()
|
public SegmentSLLAZUV()
|
||||||
{
|
{
|
||||||
Betriebsstättennummer = new Datenelement(0, 9, Feldart.Muss);
|
Betriebsstättennummer = new Datenelement("Betriebsstättennummer", 0, 9, Feldart.Muss);
|
||||||
LebenslangeArztnummer = new Datenelement(0, 9, Feldart.Muss);
|
LebenslangeArztnummer = new Datenelement("LebenslangeArztnummer", 0, 9, Feldart.Muss);
|
||||||
VerordnungsAusstellEinsatzdatum = new Datenelement(8, Feldart.Kann);
|
VerordnungsAusstellEinsatzdatum = new Datenelement("VerordnungsAusstellEinsatzdatum", 8, Feldart.Kann);
|
||||||
Zuzahlungskennzeichen = new Datenelement(1, Feldart.Muss);
|
Zuzahlungskennzeichen = new Datenelement("Zuzahlungskennzeichen", 1, Feldart.Muss);
|
||||||
Unfallkennzeichen = new Datenelement(1, Feldart.Kann);
|
Unfallkennzeichen = new Datenelement("Unfallkennzeichen", 1, Feldart.Kann);
|
||||||
KennzeichenBVGSonstiges = new Datenelement(1, Feldart.Kann);
|
KennzeichenBVGSonstiges = new Datenelement("KennzeichenBVGSonstiges", 1, Feldart.Kann);
|
||||||
KennzeichenVerordnungsbesonderheiten = new Datenelement(1, Feldart.Kann);
|
KennzeichenVerordnungsbesonderheiten = new Datenelement("KennzeichenVerordnungsbesonderheiten", 1, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "ZUV";
|
public override string GetHead() => "ZUV";
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente.SLLA
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Das Segment ist bei der Abrechnung
/// des Leistungserbringergruppensammelschlüssels G - N bis auf weiteres
/// nicht zu übermitteln.Das Segment
|
/// Das Segment ist bei der Abrechnung
/// des Leistungserbringergruppensammelschlüssels G - N bis auf weiteres
/// nicht zu übermitteln.Das Segment
|
||||||
@@ -48,12 +48,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentSLLAZUZ()
|
public SegmentSLLAZUZ()
|
||||||
{
|
{
|
||||||
Identifikationsnummer = new Datenelement(0, 3, Feldart.Muss);
|
Identifikationsnummer = new Datenelement("Identifikationsnummer", 0, 3, Feldart.Muss);
|
||||||
Bruttobetrag = new Datenelement(3, 13, Feldart.Muss);
|
Bruttobetrag = new Datenelement("Bruttobetrag", 3, 13, Feldart.Muss);
|
||||||
Zuzahlungsart = new Datenelement(2, Feldart.Kann);
|
Zuzahlungsart = new Datenelement("Zuzahlungsart", 2, Feldart.Kann);
|
||||||
BetragGesetzlicheZuzahlung = new Datenelement(3, 13, Feldart.Kann);
|
BetragGesetzlicheZuzahlung = new Datenelement("BetragGesetzlicheZuzahlung", 3, 13, Feldart.Kann);
|
||||||
BetragEigenanteil = new Datenelement(3, 13, Feldart.Kann);
|
BetragEigenanteil = new Datenelement("BetragEigenanteil", 3, 13, Feldart.Kann);
|
||||||
Versorgungszeitraum = new Datenelement(0, 2, Feldart.Kann);
|
Versorgungszeitraum = new Datenelement("Versorgungszeitraum", 0, 2, Feldart.Kann);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "ZUZ";
|
public override string GetHead() => "ZUZ";
|
||||||
@@ -6,14 +6,14 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Dakota.Models.Segmente
|
namespace Dakota.Models.Segmente
|
||||||
{
|
{
|
||||||
internal abstract class Segment : Dateneinheit
|
internal abstract class Segment : IRowable
|
||||||
{
|
{
|
||||||
//public List<Datenelement> Datenelemente { get; set; }
|
//public List<Datenelement> Datenelemente { get; set; }
|
||||||
|
|
||||||
public abstract string GetHead();
|
public abstract string GetHead();
|
||||||
public abstract List<Dateneinheit> GetBody();
|
public abstract List<Dateneinheit> GetBody();
|
||||||
|
|
||||||
public override string GetValue()
|
public string GetRows()
|
||||||
{
|
{
|
||||||
Dateneinheit lastzero = null;
|
Dateneinheit lastzero = null;
|
||||||
var body = GetBody();
|
var body = GetBody();
|
||||||
|
|||||||
@@ -79,18 +79,18 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentUNB()
|
public SegmentUNB()
|
||||||
{
|
{
|
||||||
Syntax = new Datenelementgruppe(2);
|
Syntax = new Datenelementgruppe("Syntax", 2);
|
||||||
SyntaxKennung = Syntax.Datenelemente[0] = new Datenelement(4, Feldart.Muss);
|
SyntaxKennung = Syntax.Datenelemente[0] = new Datenelement("SyntaxKennung", 4, Feldart.Muss);
|
||||||
SyntaxVersionsnummer = Syntax.Datenelemente[1] = new Datenelement(1, Feldart.Muss);
|
SyntaxVersionsnummer = Syntax.Datenelemente[1] = new Datenelement("SyntaxVersionsnummer", 1, Feldart.Muss);
|
||||||
Absenderdatei = new Datenelement(0, 35, Feldart.Muss);
|
Absenderdatei = new Datenelement("Absenderdatei", 0, 35, Feldart.Muss);
|
||||||
Empfangdatei = new Datenelement(0, 35, Feldart.Muss);
|
Empfangdatei = new Datenelement("Empfangdatei", 0, 35, Feldart.Muss);
|
||||||
DatumUhrzeit = new Datenelementgruppe(2);
|
DatumUhrzeit = new Datenelementgruppe("DatumUhrzeit", 2);
|
||||||
Datum = DatumUhrzeit.Datenelemente[0] = new Datenelement(8, Feldart.Muss);
|
Datum = DatumUhrzeit.Datenelemente[0] = new Datenelement("Datum", 8, Feldart.Muss);
|
||||||
Uhrzeit = DatumUhrzeit.Datenelemente[1] = new Datenelement(4, Feldart.Muss);
|
Uhrzeit = DatumUhrzeit.Datenelemente[1] = new Datenelement("Uhrzeit", 4, Feldart.Muss);
|
||||||
Datenaustauschreferenz = new Datenelement(0, 14, Feldart.Muss);
|
Datenaustauschreferenz = new Datenelement("Datenaustauschreferenz", 0, 14, Feldart.Muss);
|
||||||
Leistungsbereich = new Datenelement(1, Feldart.Muss);
|
Leistungsbereich = new Datenelement("Leistungsbereich", 1, Feldart.Muss);
|
||||||
Anwengundsreferenz = new Datenelement(0, 14, Feldart.Muss);
|
Anwengundsreferenz = new Datenelement("Anwengundsreferenz", 0, 14, Feldart.Muss);
|
||||||
Testindikator = new Datenelement(1, Feldart.Muss);
|
Testindikator = new Datenelement("Testindikator", 1, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "UNB";
|
public override string GetHead() => "UNB";
|
||||||
|
|||||||
@@ -58,12 +58,12 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentUNH()
|
public SegmentUNH()
|
||||||
{
|
{
|
||||||
Nachrichtenreferenznummer = new Datenelement(0, 14, Feldart.Muss);
|
Nachrichtenreferenznummer = new Datenelement("Nachrichtenreferenznummer", 0, 14, Feldart.Muss);
|
||||||
Nachrichtenerkennung = new Datenelementgruppe(4);
|
Nachrichtenerkennung = new Datenelementgruppe("Nachrichtenerkennung", 4);
|
||||||
NachrichtenTypKennung = Nachrichtenerkennung.Datenelemente[0] = new Datenelement(0, 6, Feldart.Muss);
|
NachrichtenTypKennung = Nachrichtenerkennung.Datenelemente[0] = new Datenelement("NachrichtenTypKennung", 0, 6, Feldart.Muss);
|
||||||
Verionsnummer = Nachrichtenerkennung.Datenelemente[1] = new Datenelement(0, 3, Feldart.Muss);
|
Verionsnummer = Nachrichtenerkennung.Datenelemente[1] = new Datenelement("Verionsnummer", 0, 3, Feldart.Muss);
|
||||||
FreigabeNrDesTypes = Nachrichtenerkennung.Datenelemente[2] = new Datenelement(0, 3, Feldart.Muss);
|
FreigabeNrDesTypes = Nachrichtenerkennung.Datenelemente[2] = new Datenelement("FreigabeNrDesTypes", 0, 3, Feldart.Muss);
|
||||||
VerwaltendeOrganisation = Nachrichtenerkennung.Datenelemente[3] = new Datenelement(0, 2, Feldart.Muss);
|
VerwaltendeOrganisation = Nachrichtenerkennung.Datenelemente[3] = new Datenelement("VerwaltendeOrganisation", 0, 2, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "UNH";
|
public override string GetHead() => "UNH";
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentUNT()
|
public SegmentUNT()
|
||||||
{
|
{
|
||||||
AnzahlEinheiten = new Datenelement(6, Feldart.Muss);
|
AnzahlEinheiten = new Datenelement("AnzahlEinheiten", 6, Feldart.Muss);
|
||||||
Nachrichtenreferenznummer = new Datenelement(0, 14, Feldart.Muss);
|
Nachrichtenreferenznummer = new Datenelement("Nachrichtenreferenznummer", 0, 14, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "UNT";
|
public override string GetHead() => "UNT";
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ namespace Dakota.Models.Segmente
|
|||||||
|
|
||||||
public SegmentUNZ()
|
public SegmentUNZ()
|
||||||
{
|
{
|
||||||
AnzahlNachrichten = new Datenelement(6, Feldart.Muss);
|
AnzahlNachrichten = new Datenelement("AnzahlNachrichten", 6, Feldart.Muss);
|
||||||
Datenaustauschreferenz = new Datenelement(0, 14, Feldart.Muss);
|
Datenaustauschreferenz = new Datenelement("Datenaustauschreferenz", 0, 14, Feldart.Muss);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetHead() => "UNZ";
|
public override string GetHead() => "UNZ";
|
||||||
|
|||||||
BIN
ProjectInfo/Dakota/Anlage_1_TP5_V18_20220714.pdf
Normal file
BIN
ProjectInfo/Dakota/Anlage_1_TP5_V18_20220714.pdf
Normal file
Binary file not shown.
BIN
ProjectInfo/Dakota/Anlage_3_TP5_V18_20221027.pdf
Normal file
BIN
ProjectInfo/Dakota/Anlage_3_TP5_V18_20221027.pdf
Normal file
Binary file not shown.
@@ -272,14 +272,13 @@ namespace BeWo.Report
|
|||||||
|
|
||||||
// ServiceInvoice Oid ist noch nicht in S2C List
|
// ServiceInvoice Oid ist noch nicht in S2C List
|
||||||
|
|
||||||
// Frage, ob ServiceInvoice - InvoiceBase - InvoiceId nicht leer ist
|
// Frage, ob InvoiceId existiert
|
||||||
if (!String.IsNullOrEmpty(invoice.InvoiceBase.InvoiceId))
|
if (!String.IsNullOrEmpty(invoice.InvoiceBase.InvoiceId))
|
||||||
// Falls ServiceInvoice - InvoiceBase - InvoiceId nicht leer ist, füge in S2C Liste ein
|
// Falls InvoiceId existiert
|
||||||
serviceInvoiceOid2CostbearerId.Add(oid, invoice.InvoiceBase.InvoiceId);
|
serviceInvoiceOid2CostbearerId.Add(oid, invoice.InvoiceBase.InvoiceId);
|
||||||
else
|
else
|
||||||
// Ab wann? Welcher Sinn?
|
|
||||||
{
|
{
|
||||||
// Falls ServiceInvoice - InvoiceBase - InvoiceId leer ist
|
// Falls InvoiceId nicht existiert
|
||||||
// Gehe jede peroide von ServiceInvoice - ServiceInvoicePeriodList durch
|
// Gehe jede peroide von ServiceInvoice - ServiceInvoicePeriodList durch
|
||||||
foreach (var period in invoice.ServiceInvoicePeriodList)
|
foreach (var period in invoice.ServiceInvoicePeriodList)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -478,6 +478,7 @@
|
|||||||
<Compile Include="ServiceUtils\DistanceCalculator\GoogleDistanceMatrixAPI.cs" />
|
<Compile Include="ServiceUtils\DistanceCalculator\GoogleDistanceMatrixAPI.cs" />
|
||||||
<Compile Include="ServiceUtils\DistanceCalculator\IDistanceAPI.cs" />
|
<Compile Include="ServiceUtils\DistanceCalculator\IDistanceAPI.cs" />
|
||||||
<Compile Include="ServiceUtils\DistanceCalculator\OpenrouteServiceAPI.cs" />
|
<Compile Include="ServiceUtils\DistanceCalculator\OpenrouteServiceAPI.cs" />
|
||||||
|
<Compile Include="ServiceUtils\Generell\DakotaFileCreator.cs" />
|
||||||
<Compile Include="UnitOfWork\HibernateSessionEndpointBehavior.cs" />
|
<Compile Include="UnitOfWork\HibernateSessionEndpointBehavior.cs" />
|
||||||
<Compile Include="UnitOfWork\HibernateSessionBehaviorExtension.cs" />
|
<Compile Include="UnitOfWork\HibernateSessionBehaviorExtension.cs" />
|
||||||
<Compile Include="UnitOfWork\HibernateSessionContextInitializer.cs" />
|
<Compile Include="UnitOfWork\HibernateSessionContextInitializer.cs" />
|
||||||
@@ -486,6 +487,10 @@
|
|||||||
<Compile Include="XAMLInformation\InfoViaXAMLManager.cs" />
|
<Compile Include="XAMLInformation\InfoViaXAMLManager.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Dakota\Dakota.csproj">
|
||||||
|
<Project>{47331732-dd96-4075-869f-83aa9f3f9937}</Project>
|
||||||
|
<Name>Dakota</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\Data\Data.csproj">
|
<ProjectReference Include="..\Data\Data.csproj">
|
||||||
<Project>{b0d73e3d-4ae7-4024-93a6-db1f46d7ccee}</Project>
|
<Project>{b0d73e3d-4ae7-4024-93a6-db1f46d7ccee}</Project>
|
||||||
<Name>Data</Name>
|
<Name>Data</Name>
|
||||||
@@ -514,7 +519,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="ServiceUtils\API\" />
|
<Folder Include="ServiceUtils\API\" />
|
||||||
<Folder Include="ServiceUtils\Generell\" />
|
|
||||||
<Folder Include="Utils\" />
|
<Folder Include="Utils\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1299,5 +1299,9 @@ namespace BeWo.Service.ServiceContracts
|
|||||||
[FaultContract(typeof(BeWoFault))]
|
[FaultContract(typeof(BeWoFault))]
|
||||||
[OperationContract]
|
[OperationContract]
|
||||||
SchedulerAppointmentDC GetRootAppointment(string recurrenceId);
|
SchedulerAppointmentDC GetRootAppointment(string recurrenceId);
|
||||||
|
|
||||||
|
[FaultContract(typeof(BeWoFault))]
|
||||||
|
[OperationContract]
|
||||||
|
string GetDakotaFileFormat(object param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,7 @@ using BeWo.Service.Plugins;
|
|||||||
using BeWo.Service.SBD;
|
using BeWo.Service.SBD;
|
||||||
using BeWo.Service.Security;
|
using BeWo.Service.Security;
|
||||||
using BeWo.Service.ServiceContracts;
|
using BeWo.Service.ServiceContracts;
|
||||||
|
using BeWo.Service.ServiceUtils.Generell;
|
||||||
using BeWo.Service.Vorlagen;
|
using BeWo.Service.Vorlagen;
|
||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
using BS.Shared.Core;
|
using BS.Shared.Core;
|
||||||
@@ -23,6 +24,7 @@ using BS.Shared.DataContracts.Compact;
|
|||||||
using BS.Shared.DataContracts.Reports;
|
using BS.Shared.DataContracts.Reports;
|
||||||
using BS.Shared.Extensions;
|
using BS.Shared.Extensions;
|
||||||
using BS.Shared.Services;
|
using BS.Shared.Services;
|
||||||
|
using Dakota;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using RestSharp;
|
using RestSharp;
|
||||||
using System;
|
using System;
|
||||||
@@ -7698,5 +7700,25 @@ namespace BeWo.Service.ServiceImplementations
|
|||||||
throw Utils.CreateBeWoFaultException(e);
|
throw Utils.CreateBeWoFaultException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetDakotaFileFormat(object param)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var baseoid = long.Parse((string)param);
|
||||||
|
|
||||||
|
var accounting = new AccountingServiceImp();
|
||||||
|
|
||||||
|
var invoice = accounting.GetServiceInvoiceByInvoiceBaseOid(baseoid);
|
||||||
|
|
||||||
|
var code = DakotaFileCreator.GetAsciiCode(invoice);
|
||||||
|
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw Utils.CreateBeWoFaultException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
64
Service/ServiceUtils/Generell/DakotaFileCreator.cs
Normal file
64
Service/ServiceUtils/Generell/DakotaFileCreator.cs
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
using BS.Shared.DataContracts;
|
||||||
|
using Dakota;
|
||||||
|
using Dakota.Models.Schlüssel;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BeWo.Service.ServiceUtils.Generell
|
||||||
|
{
|
||||||
|
public static class DakotaFileCreator
|
||||||
|
{
|
||||||
|
public static string GetAsciiCode(ServiceInvoiceDC dc)
|
||||||
|
{
|
||||||
|
var info = LoadInfo(dc);
|
||||||
|
|
||||||
|
var file = new DakotaFile();
|
||||||
|
|
||||||
|
file.Generate(info);
|
||||||
|
|
||||||
|
return file.GetRows();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static DakotaFileInfo LoadInfo(ServiceInvoiceDC dc)
|
||||||
|
{
|
||||||
|
var res = new DakotaFileInfo();
|
||||||
|
|
||||||
|
res.Absenderbezeichnung = "123456789";
|
||||||
|
res.Empfangerbezeichnung = "987654321";
|
||||||
|
res.Datenaustauschreferenz = 1;
|
||||||
|
res.Anwendungsreferenz = "abovollkra.txt";
|
||||||
|
res.Testindikator = SchlüsselTestindikator.Testdatei;
|
||||||
|
|
||||||
|
res.IKLeistungserbringers = "abovollkrass.txt";
|
||||||
|
res.IKKostenträger = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.Rechnungsnummer = dc.InvoiceBase.InvoiceNumber;
|
||||||
|
// Einheitlich monatlich
|
||||||
|
res.Rechnungsdatum = dc.InvoiceBase.InvoiceDate.Value;
|
||||||
|
|
||||||
|
res.Summenstatus = SchlüsselSummenstatus.Mitglieder;
|
||||||
|
res.Gesamtrechnungsbetrag = 3.5m;
|
||||||
|
res.Gesamtbruttobetrag = 3.5m;
|
||||||
|
res.GesamtbetragZuzahlung = 3.5m;
|
||||||
|
res.Rechnungsart = SchlüsselRechnungsart.AbrechnungVonLeistungserbringer;
|
||||||
|
res.Name1 = "nam7";
|
||||||
|
res.Name2 = "nam4";
|
||||||
|
res.Name3 = "nam3";
|
||||||
|
res.Name4 = "nam1";
|
||||||
|
|
||||||
|
res.Verarbeitungskennzeichen = SchlüsselVerarbeitungskennzeichen.AbrechnungOhneBesonderheit;
|
||||||
|
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
res.IKKrankenkasse = "abovollkrass.txt";
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
34
Shared/Extensions/DakotaExtensions.cs
Normal file
34
Shared/Extensions/DakotaExtensions.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
using BS.Shared.DataContracts;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Shared.Extensions
|
||||||
|
{
|
||||||
|
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"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (invoiceBase.InvoiceId.ToLower().Contains("soziotherapie"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -292,6 +292,7 @@
|
|||||||
<Compile Include="DataContracts\Reports\AuslastungAnalysisSupportConceptDC.cs" />
|
<Compile Include="DataContracts\Reports\AuslastungAnalysisSupportConceptDC.cs" />
|
||||||
<Compile Include="DataContracts\ServiceRecordHistoryDC.cs" />
|
<Compile Include="DataContracts\ServiceRecordHistoryDC.cs" />
|
||||||
<Compile Include="DataContracts\SupportPinDC.cs" />
|
<Compile Include="DataContracts\SupportPinDC.cs" />
|
||||||
|
<Compile Include="Extensions\DakotaExtensions.cs" />
|
||||||
<Compile Include="Extensions\EnumExtensions.cs" />
|
<Compile Include="Extensions\EnumExtensions.cs" />
|
||||||
<Compile Include="Extensions\GridExtensions.cs" />
|
<Compile Include="Extensions\GridExtensions.cs" />
|
||||||
<Compile Include="Extensions\ICollectionExtensions.cs" />
|
<Compile Include="Extensions\ICollectionExtensions.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user