Dakota: GKV-Abrechnung auch für nichtärztliche Dialyseleistungen
SupportOID=157652
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
using Dakota.Models.Infos;
|
using Dakota.Models.Infos;
|
||||||
using Dakota.Models.Schlüssels;
|
using Dakota.Models.Schlüssels;
|
||||||
using System;
|
using System;
|
||||||
@@ -14,10 +14,20 @@ namespace Dakota.Logic
|
|||||||
public int NachrichtenRefenrenz { get; set; }
|
public int NachrichtenRefenrenz { get; set; }
|
||||||
public bool IsSammelrechnung { get; set; }
|
public bool IsSammelrechnung { get; set; }
|
||||||
|
|
||||||
|
// Leistungserbringer-Sammelgruppenschlüssel (N = Soziotherapie, G = Dialyse)
|
||||||
|
// Wird im UNB-Segment als S005/Leistungsbereich uebermittelt.
|
||||||
|
public SchlüsselLeistungserbringerSammelgruppenschlussel Leistungsbereich { get; set; }
|
||||||
|
|
||||||
|
// Standard-Leistungsbereich ist Soziotherapie
|
||||||
public DakotaInfoCreator(bool isSammelrechnung = false)
|
public DakotaInfoCreator(bool isSammelrechnung = false)
|
||||||
|
: this(SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer, isSammelrechnung)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public DakotaInfoCreator(SchlüsselLeistungserbringerSammelgruppenschlussel leistungsbereich, bool isSammelrechnung = false)
|
||||||
{
|
{
|
||||||
NachrichtenRefenrenz = 0;
|
NachrichtenRefenrenz = 0;
|
||||||
|
Leistungsbereich = leistungsbereich;
|
||||||
IsSammelrechnung = isSammelrechnung;
|
IsSammelrechnung = isSammelrechnung;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,25 +36,6 @@ namespace Dakota.Logic
|
|||||||
return ++NachrichtenRefenrenz;
|
return ++NachrichtenRefenrenz;
|
||||||
}
|
}
|
||||||
|
|
||||||
//internal static InfoFile GetDakotaInfoFile(InfoCreatorParameter para)
|
|
||||||
//{
|
|
||||||
// var info = new InfoFile();
|
|
||||||
|
|
||||||
// info.SyntaxKennung = "UNOC";
|
|
||||||
// info.SyntaxVersion = "3";
|
|
||||||
// info.Absenderbezeichnung = para.Absender;
|
|
||||||
// info.Empfangerbezeichnung = para.Empfang;
|
|
||||||
// info.Created = DateTime.Now;
|
|
||||||
// info.Datenaustauschreferenz = 1;
|
|
||||||
// info.Leistungsbereich = SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer;
|
|
||||||
// info.Anwendungsreferenz = "testdateiaa";
|
|
||||||
// info.Testindikator = SchlüsselTestindikator.Testdatei;
|
|
||||||
|
|
||||||
// info.BlockKostentragers.Add(GetDakotaInfoBlockKostentrager(para));
|
|
||||||
|
|
||||||
// return info;
|
|
||||||
//}
|
|
||||||
|
|
||||||
internal InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(string absender, string empfang, int verfahrensstufe, string logischerDateiname, int datenaustauschreferenz)
|
internal InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(string absender, string empfang, int verfahrensstufe, string logischerDateiname, int datenaustauschreferenz)
|
||||||
{
|
{
|
||||||
var info = new InfoDateiNutzdaten();
|
var info = new InfoDateiNutzdaten();
|
||||||
@@ -54,12 +45,13 @@ namespace Dakota.Logic
|
|||||||
info.Absenderbezeichnung = absender;
|
info.Absenderbezeichnung = absender;
|
||||||
info.Empfangerbezeichnung = empfang;
|
info.Empfangerbezeichnung = empfang;
|
||||||
info.Datenaustauschreferenz = datenaustauschreferenz;
|
info.Datenaustauschreferenz = datenaustauschreferenz;
|
||||||
info.Leistungsbereich = SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer;
|
info.Leistungsbereich = Leistungsbereich;
|
||||||
info.Anwendungsreferenz = logischerDateiname;
|
info.Anwendungsreferenz = logischerDateiname;
|
||||||
info.Testindikator = SchlüsselTestindikator.GetSchlüsselTestindikator((GkvVerfahrensstufe)verfahrensstufe);
|
info.Testindikator = SchlüsselTestindikator.GetSchlüsselTestindikator((GkvVerfahrensstufe)verfahrensstufe);
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal InfoDateiAuftrags GetEmptyInfoAuftragsdatei(string empfang, string logischerDateiname, string verfahrenkennung, int transfernummer)
|
internal InfoDateiAuftrags GetEmptyInfoAuftragsdatei(string empfang, string logischerDateiname, string verfahrenkennung, int transfernummer)
|
||||||
{
|
{
|
||||||
var info = new InfoDateiAuftrags();
|
var info = new InfoDateiAuftrags();
|
||||||
@@ -124,12 +116,13 @@ namespace Dakota.Logic
|
|||||||
block.DakotaInfoSLGA = CreateDakotaInfoNachricht(true, version);
|
block.DakotaInfoSLGA = CreateDakotaInfoNachricht(true, version);
|
||||||
block.DakotaInfoNachrichtSLGA = CreateDakotaInfoNachrichtSLGA(infoParameter);
|
block.DakotaInfoNachrichtSLGA = CreateDakotaInfoNachrichtSLGA(infoParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
file.BlockKostentragers.Add(block);
|
file.BlockKostentragers.Add(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal InfoBlockKrankenkasse GetDakotaInfoBlockKvKarte(InfoBlockKostentrager blockkostentrager, InfoParameterInvoiceItem infoParameter, int version)
|
internal InfoBlockKrankenkasse GetDakotaInfoBlockKvKarte(InfoBlockKostentrager blockkostentrager, InfoParameterInvoiceItem infoParameter, int version)
|
||||||
{
|
{
|
||||||
var ikkrankenkasse = infoParameter.IKKrankenkasse;
|
var ikkrankenkasse = infoParameter.IKKrankenkasse;
|
||||||
@@ -149,12 +142,13 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal InfoAbrechnungsfall GetDakotaInfoAbrechnungsfall(InfoBlockKrankenkasse block, InfoParameterInvoiceItem infoParameter)
|
internal InfoAbrechnungsfall GetDakotaInfoAbrechnungsfall(InfoBlockKrankenkasse block, InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var belegnummer = infoParameter.Customer.CustomerOid.ToString();
|
var belegnummer = infoParameter.Customer.CustomerOid.ToString();
|
||||||
var fall = block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.FirstOrDefault(x => x.Belegnummer == belegnummer);
|
var fall = block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.FirstOrDefault(x => x.Belegnummer == belegnummer);
|
||||||
|
|
||||||
if(fall is null)
|
if (fall is null)
|
||||||
{
|
{
|
||||||
fall = CreateDakotaInfoAbrechnungsfall(infoParameter);
|
fall = CreateDakotaInfoAbrechnungsfall(infoParameter);
|
||||||
block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.Add(fall);
|
block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.Add(fall);
|
||||||
@@ -162,10 +156,10 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return fall;
|
return fall;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal InfoAbrechnungsposition GetDakotaInfoAbrechnungsposition(InfoAbrechnungsfall fall, InfoParameterInvoiceItem infoParameter)
|
internal InfoAbrechnungsposition GetDakotaInfoAbrechnungsposition(InfoAbrechnungsfall fall, InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var pos = CreateDakotaInfoAbrechnungsposition(infoParameter);
|
var pos = CreateDakotaInfoAbrechnungsposition(infoParameter);
|
||||||
|
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,6 +178,7 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoNachrichtSLGA CreateDakotaInfoNachrichtSLGA(InfoParameterInvoiceItem infoParameter)
|
private InfoNachrichtSLGA CreateDakotaInfoNachrichtSLGA(InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var info = new InfoNachrichtSLGA();
|
var info = new InfoNachrichtSLGA();
|
||||||
@@ -205,6 +200,7 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoNachrichtSLLA CreateDakotaInfoNachrichtSLLA(InfoParameterInvoiceItem infoParameter)
|
private InfoNachrichtSLLA CreateDakotaInfoNachrichtSLLA(InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var info = new InfoNachrichtSLLA();
|
var info = new InfoNachrichtSLLA();
|
||||||
@@ -223,6 +219,7 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoAbrechnungsfall CreateDakotaInfoAbrechnungsfall(InfoParameterInvoiceItem infoParameter)
|
private InfoAbrechnungsfall CreateDakotaInfoAbrechnungsfall(InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var info = new InfoAbrechnungsfall();
|
var info = new InfoAbrechnungsfall();
|
||||||
@@ -234,7 +231,8 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
info.VersichtertenVorname = infoParameter.Customer.FirstName;
|
info.VersichtertenVorname = infoParameter.Customer.FirstName;
|
||||||
info.VersichtertenNachname = infoParameter.Customer.LastName;
|
info.VersichtertenNachname = infoParameter.Customer.LastName;
|
||||||
info.VersichtertenGeburtstag = infoParameter.Customer.DateOfBirth.Value;
|
if (infoParameter.Customer.DateOfBirth != null)
|
||||||
|
info.VersichtertenGeburtstag = infoParameter.Customer.DateOfBirth.Value;
|
||||||
info.VersichtertenStraßeNr = infoParameter.Customer.Street;
|
info.VersichtertenStraßeNr = infoParameter.Customer.Street;
|
||||||
info.VersichtertenPLZ = infoParameter.Customer.PostalCode;
|
info.VersichtertenPLZ = infoParameter.Customer.PostalCode;
|
||||||
info.VersichtertenWohnort = infoParameter.Customer.Town;
|
info.VersichtertenWohnort = infoParameter.Customer.Town;
|
||||||
@@ -242,12 +240,13 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoAbrechnungsposition CreateDakotaInfoAbrechnungsposition(InfoParameterInvoiceItem infoParameter)
|
private InfoAbrechnungsposition CreateDakotaInfoAbrechnungsposition(InfoParameterInvoiceItem infoParameter)
|
||||||
{
|
{
|
||||||
var info = new InfoAbrechnungsposition();
|
var info = new InfoAbrechnungsposition();
|
||||||
|
|
||||||
var leistungserbringergruppe = infoParameter.Organisation.Leistungserbringergruppe;
|
var leistungserbringergruppe = infoParameter.Organisation.Leistungserbringergruppe;
|
||||||
if(leistungserbringergruppe.Length == 5)
|
if (leistungserbringergruppe.Length == 5)
|
||||||
{
|
{
|
||||||
info.Abrechnungscode = "69";
|
info.Abrechnungscode = "69";
|
||||||
info.Tarifkennzeichen = leistungserbringergruppe;
|
info.Tarifkennzeichen = leistungserbringergruppe;
|
||||||
@@ -259,7 +258,10 @@ namespace Dakota.Logic
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new ArgumentOutOfRangeException(nameof(infoParameter.Organisation.Leistungserbringergruppe), infoParameter.Organisation.Leistungserbringergruppe.Length, "Leistungserbringergruppe 7 Stellen oder 5 Stelle ohne Abrechnungscode");
|
throw new ArgumentOutOfRangeException(
|
||||||
|
nameof(infoParameter.Organisation.Leistungserbringergruppe),
|
||||||
|
infoParameter.Organisation.Leistungserbringergruppe.Length,
|
||||||
|
"Leistungserbringergruppe 7 Stellen oder 5 Stelle ohne Abrechnungscode");
|
||||||
}
|
}
|
||||||
|
|
||||||
info.AbrechnungspositionString = infoParameter.Abrechnungsposition;
|
info.AbrechnungspositionString = infoParameter.Abrechnungsposition;
|
||||||
@@ -271,10 +273,10 @@ namespace Dakota.Logic
|
|||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InfoBlockDiagnosen CreateDakotaInfoDiagnosen()
|
private InfoBlockDiagnosen CreateDakotaInfoDiagnosen()
|
||||||
{
|
{
|
||||||
var info = new InfoBlockDiagnosen();
|
var info = new InfoBlockDiagnosen();
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using BS.Shared.DataContracts;
|
using BS.Shared.DataContracts;
|
||||||
using BS.Shared.Models;
|
using BS.Shared.Models;
|
||||||
using Dakota.Models.Infos;
|
using Dakota.Models.Infos;
|
||||||
|
using Dakota.Models.Schlüssels;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@@ -10,111 +11,120 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Dakota.Logic
|
namespace Dakota.Logic
|
||||||
{
|
{
|
||||||
public class DakotaManager
|
public class DakotaManager
|
||||||
{
|
{
|
||||||
public int Month { get; set; }
|
public int Month { get; set; }
|
||||||
public int Version { get; set; }
|
public int Version { get; set; }
|
||||||
|
|
||||||
public DakotaInfoCreator DakotaInfoCreator { get; set; }
|
public DakotaInfoCreator DakotaInfoCreator { get; set; }
|
||||||
public bool IsSammelrechnung { get; set; }
|
public bool IsSammelrechnung { get; set; }
|
||||||
|
|
||||||
public Dictionary<string, DakotaFile> DakotaFileDict { get; set; }
|
public Dictionary<string, DakotaFile> DakotaFileDict { get; set; }
|
||||||
|
|
||||||
public Dictionary<string, InfoDateiNutzdaten> DakotaInfoNutzDict { get; set; }
|
public Dictionary<string, InfoDateiNutzdaten> DakotaInfoNutzDict { get; set; }
|
||||||
public Dictionary<string, InfoDateiAuftrags> DakotaInfoAufDict { get; set; }
|
public Dictionary<string, InfoDateiAuftrags> DakotaInfoAufDict { get; set; }
|
||||||
|
|
||||||
public DakotaManager() : this(DateTime.Now.Month, DateTime.Now)
|
public DakotaManager() : this(DateTime.Now.Month, DateTime.Now)
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
}
|
public DakotaManager(int month, DateTime dateTime, bool isSammelrechnung = false)
|
||||||
public DakotaManager(int month, DateTime dateTime, bool isSammelrechnung = false)
|
: this(month, dateTime,
|
||||||
{
|
SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer,
|
||||||
Month = month;
|
isSammelrechnung)
|
||||||
Version = GetVersion(dateTime);
|
{
|
||||||
|
}
|
||||||
|
|
||||||
DakotaFileDict = new Dictionary<string, DakotaFile>();
|
public DakotaManager(int month, DateTime dateTime,
|
||||||
|
SchlüsselLeistungserbringerSammelgruppenschlussel leistungsbereich,
|
||||||
|
bool isSammelrechnung = false)
|
||||||
|
{
|
||||||
|
Month = month;
|
||||||
|
Version = GetVersion(dateTime);
|
||||||
|
|
||||||
DakotaInfoNutzDict = new Dictionary<string, InfoDateiNutzdaten>();
|
DakotaFileDict = new Dictionary<string, DakotaFile>();
|
||||||
DakotaInfoAufDict = new Dictionary<string, InfoDateiAuftrags>();
|
|
||||||
|
|
||||||
DakotaInfoCreator = new DakotaInfoCreator(isSammelrechnung);
|
DakotaInfoNutzDict = new Dictionary<string, InfoDateiNutzdaten>();
|
||||||
IsSammelrechnung = isSammelrechnung;
|
DakotaInfoAufDict = new Dictionary<string, InfoDateiAuftrags>();
|
||||||
}
|
|
||||||
|
|
||||||
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, AddressInformation address, int datenaustauschreferenz, int transfernummer)
|
DakotaInfoCreator = new DakotaInfoCreator(leistungsbereich, isSammelrechnung);
|
||||||
{
|
IsSammelrechnung = isSammelrechnung;
|
||||||
var ik_datenannahmestelle = organisation.IKDatenannahmestelle;
|
}
|
||||||
var success = DakotaInfoNutzDict.TryGetValue(ik_datenannahmestelle, out InfoDateiNutzdaten nutzdaten);
|
|
||||||
|
|
||||||
if (!success)
|
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, AddressInformation address, int datenaustauschreferenz, int transfernummer)
|
||||||
{
|
{
|
||||||
var verfahrensstufe = organisation.Verfahrensstufe;
|
var ik_datenannahmestelle = organisation.IKDatenannahmestelle;
|
||||||
|
var success = DakotaInfoNutzDict.TryGetValue(ik_datenannahmestelle, out InfoDateiNutzdaten nutzdaten);
|
||||||
|
|
||||||
// Verfahrenkennung
|
if (!success)
|
||||||
// Erste Stelle:
|
{
|
||||||
// "E" - Echtdaten
|
var verfahrensstufe = organisation.Verfahrensstufe;
|
||||||
// "T" - Testdaten
|
|
||||||
// Annahme: "E" auch für Erprobungsverfahrenstufe
|
|
||||||
// Zusatz: "T" bei Erprobungsverfahrenstufe
|
|
||||||
|
|
||||||
var isTest = verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Test || verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Erprobung;
|
// Verfahrenkennung
|
||||||
var verfahrenkennung = isTest ? "TSOL0" : "ESOL0";
|
// Erste Stelle:
|
||||||
var logischer_dateiname = DakotaConfig.GetLogischerDateiname(Month).Trim();
|
// "E" - Echtdaten
|
||||||
|
// "T" - Testdaten
|
||||||
|
// Annahme: "E" auch für Erprobungsverfahrenstufe
|
||||||
|
// Zusatz: "T" bei Erprobungsverfahrenstufe
|
||||||
|
|
||||||
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, (int)verfahrensstufe, logischer_dateiname, datenaustauschreferenz);
|
var isTest = verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Test || verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Erprobung;
|
||||||
var info_auf_add = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(organisation.IKDatenannahmestelle, logischer_dateiname, verfahrenkennung, transfernummer);
|
var verfahrenkennung = isTest ? "TSOL0" : "ESOL0";
|
||||||
|
var logischer_dateiname = DakotaConfig.GetLogischerDateiname(Month).Trim();
|
||||||
|
|
||||||
DakotaInfoNutzDict.Add(ik_datenannahmestelle, info_nutz_add);
|
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, (int)verfahrensstufe, logischer_dateiname, datenaustauschreferenz);
|
||||||
DakotaInfoAufDict.Add(ik_datenannahmestelle, info_auf_add);
|
var info_auf_add = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(organisation.IKDatenannahmestelle, logischer_dateiname, verfahrenkennung, transfernummer);
|
||||||
|
|
||||||
nutzdaten = info_nutz_add;
|
DakotaInfoNutzDict.Add(ik_datenannahmestelle, info_nutz_add);
|
||||||
}
|
DakotaInfoAufDict.Add(ik_datenannahmestelle, info_auf_add);
|
||||||
|
|
||||||
foreach (var peroid in serviceInvoice.ServiceInvoicePeriods)
|
nutzdaten = info_nutz_add;
|
||||||
{
|
}
|
||||||
foreach (var invoice in peroid.InvoiceItems)
|
|
||||||
{
|
|
||||||
var info_nutz_item = new InfoParameterInvoiceItem(serviceInvoice, invoice, organisation, customer, address);
|
|
||||||
|
|
||||||
DakotaInfoCreator.AddInfoParameter(nutzdaten, info_nutz_item, Version);
|
foreach (var peroid in serviceInvoice.ServiceInvoicePeriods)
|
||||||
}
|
{
|
||||||
}
|
foreach (var invoice in peroid.InvoiceItems)
|
||||||
}
|
{
|
||||||
|
var info_nutz_item = new InfoParameterInvoiceItem(serviceInvoice, invoice, organisation, customer, address);
|
||||||
|
|
||||||
public void Apply()
|
DakotaInfoCreator.AddInfoParameter(nutzdaten, info_nutz_item, Version);
|
||||||
{
|
}
|
||||||
foreach (var ik_datenannahmestelle in DakotaInfoNutzDict.Keys)
|
}
|
||||||
{
|
}
|
||||||
var file = new DakotaFile(DateTime.Now);
|
|
||||||
|
|
||||||
var info_nutz = DakotaInfoNutzDict[ik_datenannahmestelle];
|
public void Apply()
|
||||||
var info_auf = DakotaInfoAufDict[ik_datenannahmestelle];
|
{
|
||||||
|
foreach (var ik_datenannahmestelle in DakotaInfoNutzDict.Keys)
|
||||||
|
{
|
||||||
|
var file = new DakotaFile(DateTime.Now);
|
||||||
|
|
||||||
file.Nutzdatendatei.Apply(info_nutz, DakotaInfoCreator.IsSammelrechnung);
|
var info_nutz = DakotaInfoNutzDict[ik_datenannahmestelle];
|
||||||
file.Auftragsdatei.Apply(info_auf);
|
var info_auf = DakotaInfoAufDict[ik_datenannahmestelle];
|
||||||
|
|
||||||
DakotaFileDict.Add(ik_datenannahmestelle, file);
|
file.Nutzdatendatei.Apply(info_nutz, DakotaInfoCreator.IsSammelrechnung);
|
||||||
}
|
file.Auftragsdatei.Apply(info_auf);
|
||||||
}
|
|
||||||
|
|
||||||
private int GetVersion(DateTime create4month)
|
DakotaFileDict.Add(ik_datenannahmestelle, file);
|
||||||
{
|
}
|
||||||
if (create4month < new DateTime(2023, 7, 1))
|
}
|
||||||
throw new NotImplementedException("Keine Unterstützung von Version 17 oder niedriger");
|
|
||||||
|
|
||||||
if (create4month < new DateTime(2024, 1, 1))
|
private int GetVersion(DateTime create4month)
|
||||||
return 18;
|
{
|
||||||
|
if (create4month < new DateTime(2023, 7, 1))
|
||||||
|
throw new NotImplementedException("Keine Unterstützung von Version 17 oder niedriger");
|
||||||
|
|
||||||
if (create4month < new DateTime(2024, 7, 1))
|
if (create4month < new DateTime(2024, 1, 1))
|
||||||
return 19;
|
return 18;
|
||||||
|
|
||||||
if (create4month < new DateTime(2026, 1, 1))
|
if (create4month < new DateTime(2024, 7, 1))
|
||||||
return 20;
|
return 19;
|
||||||
|
|
||||||
if (create4month < new DateTime(2027, 1, 1))
|
if (create4month < new DateTime(2026, 1, 1))
|
||||||
return 21;
|
return 20;
|
||||||
|
|
||||||
throw new NotImplementedException("Keine Unterstützung von Version 22 oder aufwärts");
|
if (create4month < new DateTime(2027, 1, 1))
|
||||||
}
|
return 21;
|
||||||
}
|
|
||||||
|
throw new NotImplementedException("Keine Unterstützung von Version 22 oder aufwärts");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -10,22 +10,22 @@ namespace Dakota.Models.Schlüssels
|
|||||||
{
|
{
|
||||||
public SchlüsselLeistungserbringerSammelgruppenschlussel(string val) : base(val) { }
|
public SchlüsselLeistungserbringerSammelgruppenschlussel(string val) : base(val) { }
|
||||||
|
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHilfsmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("A");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHilfsmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("A");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHeilmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("B");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHeilmitteln => new SchlüsselLeistungserbringerSammelgruppenschlussel("B");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHäuslicherKrankenpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("C");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHäuslicherKrankenpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("C");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHaushaltshilfe => new SchlüsselLeistungserbringerSammelgruppenschlussel("D");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonHaushaltshilfe => new SchlüsselLeistungserbringerSammelgruppenschlussel("D");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonKrankentransportleistungen => new SchlüsselLeistungserbringerSammelgruppenschlussel("E");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonKrankentransportleistungen => new SchlüsselLeistungserbringerSammelgruppenschlussel("E");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel Hebammen => new SchlüsselLeistungserbringerSammelgruppenschlussel("F");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel Hebammen => new SchlüsselLeistungserbringerSammelgruppenschlussel("F");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel NichtArztlicheDialyseachleistung => new SchlüsselLeistungserbringerSammelgruppenschlussel("G");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel NichtÄrztlicheDialysesachleistung => new SchlüsselLeistungserbringerSammelgruppenschlussel("G");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonRehabilitationssport => new SchlüsselLeistungserbringerSammelgruppenschlussel("H");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonRehabilitationssport => new SchlüsselLeistungserbringerSammelgruppenschlussel("H");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonFunktionstraining => new SchlüsselLeistungserbringerSammelgruppenschlussel("I");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerVonFunktionstraining => new SchlüsselLeistungserbringerSammelgruppenschlussel("I");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel WeitereSonstigeLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("J");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel WeitereSonstigeLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("J");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerPräventions => new SchlüsselLeistungserbringerSammelgruppenschlussel("K");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerPräventions => new SchlüsselLeistungserbringerSammelgruppenschlussel("K");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerRehamassnahmen => new SchlüsselLeistungserbringerSammelgruppenschlussel("L");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerRehamassnahmen => new SchlüsselLeistungserbringerSammelgruppenschlussel("L");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel SozialpädiatrischeZentren => new SchlüsselLeistungserbringerSammelgruppenschlussel("M");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel SozialpädiatrischeZentren => new SchlüsselLeistungserbringerSammelgruppenschlussel("M");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel SoziotherapeutischerLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("N");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel SoziotherapeutischerLeistungserbringer => new SchlüsselLeistungserbringerSammelgruppenschlussel("N");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel SAPV => new SchlüsselLeistungserbringerSammelgruppenschlussel("O");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel SAPV => new SchlüsselLeistungserbringerSammelgruppenschlussel("O");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerNach132gSGB => new SchlüsselLeistungserbringerSammelgruppenschlussel("P");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel LeistungserbringerNach132gSGB => new SchlüsselLeistungserbringerSammelgruppenschlussel("P");
|
||||||
public static SchlüsselLeistungserbringerSammelgruppenschlussel Kurzzeitpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("Q");
|
public static SchlüsselLeistungserbringerSammelgruppenschlussel Kurzzeitpflege => new SchlüsselLeistungserbringerSammelgruppenschlussel("Q");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user