Files
BeWoPlaner/Dakota/Models/Segmente/SLLA/SegmentSLLAENF.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

107 lines
5.6 KiB
C#

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