package Ġno . nav . sy fo . fast lege Ċ Ċ import Ġno . nav . sy fo . consumer . fast lege . Fast lege Consumer Ċ import Ġno . nav . sy fo . consumer . fast lege . to Fast lege Ċ import Ġno . nav . sy fo . consumer . p dl . P dl Consumer Ċ import Ġno . nav . sy fo . consumer . p dl . P dl H ent Person Ċ import Ġno . nav . sy fo . fast lege . domain . Fast lege Ċ import Ġno . nav . sy fo . fast lege . domain . Pas ient Ċ import Ġno . nav . sy fo . util . lower Capital ize Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . cache . annotation . Cache able Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġjava . time . LocalDate Ċ import Ġjavax . inject . Inject Ċ Ċ @ Service Ċ class ĠFast lege Service Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġp dl Consumer : ĠP dl Consumer , ĊĠĠĠ Ġprivate Ġval Ġfast lege Consumer : ĠFast lege Consumer Ċ ) Ġ{ ĊĠĠĠ Ġ@ Cache able ( value Ġ= Ġ[" fast lege "]) ĊĠĠĠ Ġfun Ġh ent B ru kers Fast lege ( br uk ers Fn r : ĠString ): ĠFast lege ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġh ent B ru kers Fast le ger ( br uk ers Fn r ). aktiv () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Cache able ( value Ġ= Ġ[" fast lege "]) ĊĠĠĠ Ġfun Ġh ent B ru kers Fast le ger ( br uk ers Fn r : ĠString ): ĠList < Fast lege > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmaybe Person Ġ= Ġp dl Consumer . person ( br uk ers Fn r ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpas ient Ġ= Ġto Pas ient ( br uk ers Fn r , Ġmaybe Person ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfast lege Consumer . get Fast le ger ( br uk ers Fn r ). map Ġ{ Ġfast lege Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfast lege . to Fast lege ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpas ient Ġ= ĠPas ient ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn r Ġ= Ġbru kers Fn r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor nav n Ġ= Ġpas ient ?. for nav n Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmel lom nav n Ġ= Ġpas ient ?. mel lom nav n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet tern av n Ġ= Ġpas ient ?. et tern av n Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfore ld re En het Her Id Ġ= Ġh ent Fore ld re En het Her Id ( fast lege . her Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠRuntimeException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error (" S Ã¸ k te Ġopp Ġog Ġf ikk Ġen Ġfe il Ġf ra Ġfast le get jen est en Ġfor di Ġt jen est en Ġer Ġne de ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Pas ient ( fn r : ĠString , Ġmaybe Person : ĠP dl H ent Person ?): ĠPas ient ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmaybe Person ?. h ent Person ?. let Ġ{ Ġp dl Person Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp dl Person . nav n . first OrNull ()?. let Ġ{ Ġp dl Person Nav n Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPas ient ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn r Ġ= Ġfn r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor nav n Ġ= Ġp dl Person Nav n . for nav n . lower Capital ize (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmel lom nav n Ġ= Ġp dl Person Nav n . mel lom nav n ?. lower Capital ize (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet tern av n Ġ= Ġp dl Person Nav n . et tern av n . lower Capital ize (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġh ent Fore ld re En het Her Id ( fast lege Her Id : ĠInt ?): ĠInt ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfast lege Her Id ?. let Ġ{ Ġher Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfast lege Consumer . get Pr aks is Info ( her Id )?. fore ld re En het Her Id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠList < Fast lege >. aktiv (): ĠFast lege ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . filter Ġ{ Ġfast lege Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtomorrow Ġ= ĠLocalDate . now (). plus Days ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfast lege . gy ld ig het . f om . is Before ( tom orrow ) ĊĠĠĠĠĠĠĠ Ġ}. max By OrNull Ġ{ Ġfast lege Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfast lege . gy ld ig het . f om ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Fast lege Service :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ