Schlüssel übersichtlich, Segmente neu sortiert PDFs eingeführt, Beispiel Ansicht eingeführt,
102 lines
4.7 KiB
C#
102 lines
4.7 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Dakota.Models.Segmente
|
|
{
|
|
/// <summary>
|
|
/// Kopf-Segment einer Nutzdatendatei; es dient zur Eröffnung,
|
|
/// Identifizierung und Beschreibung der Datei.Eine Nutzdatendatei
|
|
/// besteht aus der Folge UNB bis UNZ.Sie beinhaltet die Nachrichten SLGA und SLLA, die mehrfach wiederholbar sind.So ist es
|
|
/// möglich, dass ein oder mehrere Leistungserbringer Abrechnungen für ein oder mehrere Kostenträger übermitteln.
|
|
/// </summary>
|
|
internal class SegmentUNB : Segment
|
|
{
|
|
/// <summary>
|
|
/// UNOC:3
|
|
/// </summary>
|
|
public Datenelementgruppe Syntax { get; private set; }
|
|
/// <summary>
|
|
/// Vereinbarte EDIFACT-Syntax;
|
|
/// hier: UNOC = Groß- und Kleinbuchstaben, Umlaut
|
|
/// </summary>
|
|
public Datenelement SyntaxKennung { get; private set; }
|
|
/// <summary>
|
|
/// Vereinbarte Version der Syntax;
|
|
/// hier: Version 3 (derzeit aktuell)
|
|
/// </summary>
|
|
public Datenelement SyntaxVersionsnummer { get; private set; }
|
|
/// <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 Datenelement Absenderdatei { get; private 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 Datenelement Empfangdatei { get; private set; }
|
|
/// <summary>
|
|
/// JJJJMMTT:HHMM
|
|
/// </summary>
|
|
public Datenelementgruppe DatumUhrzeit { get; private set; }
|
|
/// <summary>
|
|
/// Erstelldatum der Datei
|
|
/// </summary>
|
|
public Datenelement Datum { get; private set; }
|
|
/// <summary>
|
|
/// Erstelluhrzeit der Datei
|
|
/// </summary>
|
|
public Datenelement Uhrzeit { get; private 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 Datenelement Datenaustauschreferenz { get; private set; }
|
|
/// <summary>
|
|
/// Einzutragen ist der Leistungserbringer-Sammelgruppenschlüssel,
|
|
/// siehe Schlüssel Anlage 3 Abschnitt 8.1.14
|
|
/// </summary>
|
|
public Datenelement Leistungsbereich { get; private set; }
|
|
/// <summary>
|
|
/// Genutzt werden die ersten 11 Stellen;
|
|
/// einzutragen ist der logische Dateiname s.Anhang 1 zur Anlage 1
|
|
/// zum Kapitel 4.
|
|
/// </summary>
|
|
public Datenelement Anwengundsreferenz { get; private set; }
|
|
/// <summary>
|
|
/// Inhalt = 0 wenn Testdatei
|
|
/// Inhalt = 1 wenn Erprobungsdatei
|
|
/// Inhalt = 2 wenn Echtdatei
|
|
/// </summary>
|
|
public Datenelement Testindikator { get; private set; }
|
|
|
|
public SegmentUNB()
|
|
{
|
|
Syntax = new Datenelementgruppe("Syntax", 2);
|
|
SyntaxKennung = Syntax.Datenelemente[0] = new Datenelement("SyntaxKennung", 4, Feldart.Muss);
|
|
SyntaxVersionsnummer = Syntax.Datenelemente[1] = new Datenelement("SyntaxVersionsnummer", 1, Feldart.Muss);
|
|
Absenderdatei = new Datenelement("Absenderdatei", 0, 35, Feldart.Muss);
|
|
Empfangdatei = new Datenelement("Empfangdatei", 0, 35, Feldart.Muss);
|
|
DatumUhrzeit = new Datenelementgruppe("DatumUhrzeit", 2);
|
|
Datum = DatumUhrzeit.Datenelemente[0] = new Datenelement("Datum", 8, Feldart.Muss);
|
|
Uhrzeit = DatumUhrzeit.Datenelemente[1] = new Datenelement("Uhrzeit", 4, Feldart.Muss);
|
|
Datenaustauschreferenz = new Datenelement("Datenaustauschreferenz", 0, 14, Feldart.Muss);
|
|
Leistungsbereich = new Datenelement("Leistungsbereich", 1, Feldart.Muss);
|
|
Anwengundsreferenz = new Datenelement("Anwengundsreferenz", 0, 14, Feldart.Muss);
|
|
Testindikator = new Datenelement("Testindikator", 1, Feldart.Muss);
|
|
}
|
|
|
|
public override string GetHead() => "UNB";
|
|
|
|
public override List<Dateneinheit> GetBody()
|
|
=> new List<Dateneinheit> { Syntax, Absenderdatei, Empfangdatei, DatumUhrzeit, Datenaustauschreferenz, Leistungsbereich, Anwengundsreferenz, Testindikator };
|
|
}
|
|
}
|