Wertet Kurzbeschreibung der Datenannahmestelle aus
This commit is contained in:
@@ -65,8 +65,8 @@ namespace Dakota
|
||||
throw new DakotaException(error);
|
||||
}
|
||||
|
||||
public static bool ValidateIKNumbers(Organisation orga)
|
||||
=> ValidateIKNumbers(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse);
|
||||
public static bool ValidateOrganisationInformations(Organisation orga)
|
||||
=> ValidateIKNumbers(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse) && !string.IsNullOrEmpty(orga.BezDatenannahmestelle);
|
||||
private static bool ValidateIKNumbers(params string[] iks)
|
||||
=> iks?.All(ValidateIKNumber) ?? false;
|
||||
|
||||
|
||||
@@ -44,14 +44,23 @@ namespace Dakota.Logic
|
||||
/// <returns>Item1:Datenannahmestelle -
|
||||
/// Item2:Kostenträger -
|
||||
/// Item3:Krankenkasse</returns>
|
||||
public Tuple<string, string, string> Resolve(string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen)
|
||||
public Tuple<string, string, string, string> Resolve(string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen)
|
||||
{
|
||||
foreach (var kv in FileDictionary)
|
||||
{
|
||||
var search = GetIKNummern(kv.Value, ikkrankenkasse, abrechnungscode, tarifkennzeichen);
|
||||
var dict = kv.Value;
|
||||
|
||||
var search = GetIKNummern(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen);
|
||||
|
||||
if (search is object)
|
||||
return search;
|
||||
{
|
||||
var datenannahmestelle = search.Item1;
|
||||
|
||||
var bez = dict[datenannahmestelle].SegmentIDK.Kurzbezeichnung;
|
||||
|
||||
return new Tuple<string, string, string, string>(datenannahmestelle, search.Item2, search.Item3, bez);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -269,6 +269,7 @@ namespace Host
|
||||
response.IKDatenannahmestelle = resolved.Item1;
|
||||
response.IKKostentrager = resolved.Item2;
|
||||
response.IKKrankenkasse = resolved.Item3;
|
||||
response.BezDatenannahmestelle = resolved.Item4;
|
||||
}
|
||||
|
||||
SendResponse(response);
|
||||
|
||||
@@ -936,7 +936,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DakotaValidator.ValidateOrganisation(orga);
|
||||
|
||||
if (!DakotaValidator.ValidateIKNumbers(orga))
|
||||
if (!DakotaValidator.ValidateOrganisationInformations(orga))
|
||||
{
|
||||
var res = SendApp8GetIKRequest(orga);
|
||||
|
||||
@@ -952,8 +952,8 @@ namespace BeWo.Service.ServiceImplementations
|
||||
orga.IKKostentrager = res.IKKostentrager;
|
||||
orga.BezDatenannahmestelle = res.BezDatenannahmestelle;
|
||||
|
||||
if (!DakotaValidator.ValidateIKNumbers(orga))
|
||||
throw new DakotaException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler");
|
||||
if (!DakotaValidator.ValidateOrganisationInformations(orga))
|
||||
throw new DakotaException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.BezDatenannahmestelle}\", \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler");
|
||||
|
||||
DAOFactory.GenericDAO.Update(orga);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user