Files
BeWoPlaner/Dakota/Models/Nachricht/NachrichtSLLA2.cs
rene d65ac37cc0 Zwischenstand:
Schlüssel übersichtlich,
Segmente neu sortiert
PDFs eingeführt,
Beispiel Ansicht eingeführt,
2023-08-21 14:45:00 +02:00

117 lines
5.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Dakota.Models.Segmente;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Nachricht
{
/// <summary>
/// Leistungserbringer
/// </summary>
internal class NachrichtSLLA2 : Nachricht
{
/// <summary>
/// Das Segment enthält Informationen über den tatsächlichen
/// Leistungserbringer und das IK der Krankenkasse von der
/// Krankenversichertenkarte bzw.der ärztlichen Verordnung bezogen auf die folgenden Abrechnungsfälle.Es kommt je Nachricht nur einmal vor.
/// </summary>
public SegmentSLLAFKT SegmentSLLAFKT { get; private set; }
/// <summary>
/// Das Segment enthält die Rechnungsinformationen, wie Rechnungsnummer und Rechnungsdatum
/// </summary>
public SegmentSLLAREC SegmentSLLAREC { get; private set; }
/// <summary>
/// Das Segment enthält die Versichertendaten eines Abrechnungsfalles (Verordnung), und gilt gleichzeitig als BeginnSegment für einen Abrechnungsfall. Jeder Abrechnungsfall ist
/// mit einer eindeutigen Belegnummer zu kennzeichnen, die der
/// auf der Verordnung zu übertragenen Belegnummer(s. § 4 des
/// Richtlinientextes) entsprechen muss.
/// </summary>
public SegmentSLLAINV SegmentSLLAINV { get; private set; }
/// <summary>
/// Dieses Segment enthält bei Korrekturlieferungen die ursprünglichen Rechnungsinformationen. Es wird zunächst nur
/// in Abhängigkeit für die Verarbeitungskennzeichen
/// '02' Nachforderung,
/// 03 Zuzahlungsforderung und
/// 04 Korrekturrechnung
/// (Schlüsselverzeichnis Anlage 3, Kapitel 8.1.7) geliefert
/// </summary>
public SegmentSLLAURI SegmentSLLAURI { get; private set; }
/// <summary>
/// Das Segment enthält den Namen und die Adressdaten des
/// Versicherten.
/// </summary>
public SegmentSLLANAD SegmentSLLANAD { get; private set; }
/// <summary>
/// Das Segment enthält den Imagenamen bei Übermittlung von
/// Imagearchiven durch den Absender.
/// </summary>
public SegmentSLLAIMG SegmentSLLAIMG { get; private set; }
/// <summary>
/// Das Segment dient zur Abrechnung der einzelnen Positionen,
/// die für den abzurechnenden Fall angefallen sind.
/// Es ist so oft
/// wiederholbar, wie Abrechnungspositionen vorkommen.
/// </summary>
public List<Abrechnungsposition> Abrechnungspositions { get; set; }
/// <summary>
/// Das Segment enthält Angaben über die Zuzahlung. Das Segment ist bis auf weiteres nicht zu übermitteln. Das Segment ist
/// für spätere Ausprägungen reserviert.
/// </summary>
public SegmentSLLAZUV SegmentSLLAZUV { get; private set; }
/// <summary>
/// Das Segment dient zur Angabe der Diagnose und ist so oft
/// wiederholbar, wie Diagnosen vorliegen
/// </summary>
public SegmentSLLADIA SegmentSLLADIA { get; private set; }
/// <summary>
/// Das Segment enthält Angaben über die von der Krankenkasse
/// ausgesprochene Kostenzusage/Genehmigung und ist nur zu
/// übermitteln, wenn diese vorliegt.
/// </summary>
public SegmentSLLASKZ SegmentSLLASKZ { get; private set; }
/// <summary>
/// Das Segment enthält Angaben über den abzurechnenden Gesamtbruttobetrag eines Abrechnungsfalles (Verordnung)
/// (Summe aller ENF-Beträge ggf.zuzüglich der Mehrwertsteuer)
/// </summary>
public SegmentSLLABES SegmentSLLABES { get; private set; }
public NachrichtSLLA2()
{
SegmentSLLAFKT = new SegmentSLLAFKT();
SegmentSLLAREC = new SegmentSLLAREC();
SegmentSLLAINV = new SegmentSLLAINV();
SegmentSLLAURI = new SegmentSLLAURI();
SegmentSLLANAD = new SegmentSLLANAD();
SegmentSLLAIMG = new SegmentSLLAIMG();
Abrechnungspositions = new List<Abrechnungsposition>();
SegmentSLLAZUV = new SegmentSLLAZUV();
SegmentSLLADIA = new SegmentSLLADIA();
SegmentSLLASKZ = new SegmentSLLASKZ();
SegmentSLLABES = new SegmentSLLABES();
}
public void AddPosition(Abrechnungsposition pos)
{
Abrechnungspositions.Add(pos);
}
public override List<Segment> GetSegments()
{
var list = new List<Segment>() { SegmentSLLAFKT, SegmentSLLAREC, SegmentSLLAINV, SegmentSLLAURI, SegmentSLLANAD, SegmentSLLAIMG };
var list2 = new List<Segment>() { SegmentSLLABES };
//var list2 = new List<Segment>() { SegmentSLLAZUZ, SegmentSLLAZUV, SegmentSLLADIA, SegmentSLLASKZ, SegmentSLLABES };
foreach (var seg in Abrechnungspositions)
{
list.AddRange(seg.GetSegments());
}
list.AddRange(list2);
return list;
}
}
}