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