using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente.SLLA
{
///
/// Das Segment ist bei der Abrechnung
/// des Leistungserbringergruppensammelschlüssels G - N bis auf weiteres
/// nicht zu übermitteln.Das Segment
/// ist für spätere Ausprägungen reserviert.
///
internal class SegmentSLLAZUZ : Segment
{
///
/// Es ist die Identifikationsnummer aus
/// ENF anzugeben
///
public Datenelement Identifikationsnummer { get; private set; }
///
/// Gesamtbetrag Brutto der Leistung
/// (einschl.evtl.Mehrwertsteuer).
/// Berechnungsregel:
/// Summe über alle Abrechnungspositionen der Leistung von:
/// (((ENF.Einzelbetrag der Abrechnungsposition plus ggf.MWS.Betrag
/// Mehrwertsteuer) mal ENF.Anzahl/Menge) kaufmännisch gerundet).
///
public Datenelement Bruttobetrag { get; private set; }
///
/// Zuzahlungsart.
/// Siehe Schlüssel Anlage 3 Abschnitt
/// 8.1.13.
///
public Datenelement Zuzahlungsart { get; private set; }
///
/// Abhängig von der Zuzahlungsart ist
/// hier die gesetzliche Zuzahlung je
/// Leistung anzugeben.
/// Bei der Zuzahlungsart "01" gilt folgende Berechnungsregel:
/// ((Gesamtbetrag Brutto je Leistung –
/// Eigenanteil) mal prozentuale Zuzahlung) kaufmännisch gerundet.
///
public Datenelement BetragGesetzlicheZuzahlung { get; private set; }
///
/// Eigenanteil
///
public Datenelement BetragEigenanteil { get; private set; }
///
/// Angabe des Versorgungszeitraums
/// in Monaten
///
public Datenelement Versorgungszeitraum { get; private set; }
public SegmentSLLAZUZ()
{
Identifikationsnummer = new Datenelement("Identifikationsnummer", 0, 3, Feldart.Muss);
Bruttobetrag = new Datenelement("Bruttobetrag", 3, 13, Feldart.Muss);
Zuzahlungsart = new Datenelement("Zuzahlungsart", 2, Feldart.Kann);
BetragGesetzlicheZuzahlung = new Datenelement("BetragGesetzlicheZuzahlung", 3, 13, Feldart.Kann);
BetragEigenanteil = new Datenelement("BetragEigenanteil", 3, 13, Feldart.Kann);
Versorgungszeitraum = new Datenelement("Versorgungszeitraum", 0, 2, Feldart.Kann);
}
public override string GetHead() => "ZUZ";
public override List GetBody()
=> new List()
{Identifikationsnummer, Bruttobetrag, Zuzahlungsart, BetragGesetzlicheZuzahlung, BetragEigenanteil, Versorgungszeitraum};
}
}