The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Package {euaiact}


Type: Package
Title: Offline Calculation and Logic Rules for the EU Artificial Intelligence Act
Version: 0.1.1
Description: Native offline evaluation of explicit calculation and logic rules for documented versions of the EU Artificial Intelligence Act. Supports German identifiers, unknown facts and traceable decisions. Explicitly bounded rule catalogue based on European Parliament and Council (2024) https://eur-lex.europa.eu/eli/reg/2024/1689/oj; evaluation of a factual condition is not a conformity assessment.
License: Apache License (== 2.0)
Encoding: UTF-8
Language: de
Depends: R (≥ 4.1.0)
Imports: jsonlite, stats
URL: https://github.com/rds0001/euaiact-r
BugReports: https://github.com/rds0001/euaiact-r/issues
NeedsCompilation: no
Packaged: 2026-10-26 08:13:15 UTC; qwert123
Author: Dimitrios Geromichalos [aut, cre] (Dr.), RiskDataScience GmbH [cph]
Maintainer: Dimitrios Geromichalos <riskdatascience@web.de>
Repository: CRAN
Date/Publication: 2026-11-10 17:20:02 UTC

Qualifizierte Unternehmensgruppen exakt aggregieren

Description

Ermittelt verbundene Komponenten und ihre unmittelbaren Partnergruppen und aggregiert disjunkte konsolidierte Datenkreise ohne Rundung oder Netzwerk. Beziehungsqualifikation und Konsolidierungsbuchungen sind vorgelagerte Aufgaben.

Usage

aggregiere_unternehmensgruppe(stamm_id, unternehmen, beziehungen,
  datenkreise, groesse, bezugsperiode, kreis_vollstaendig, quellenfassung)

Arguments

stamm_id

ID des betrachteten Unternehmens.

unternehmen

Eindeutige Unternehmens-IDs als unbenannte Liste oder Zeichenvektor.

beziehungen

Unbenannte Liste qualifizierter VERBUND- oder PARTNER-Objekte.

datenkreise

Disjunkte qualifizierte Unternehmensdaten; bei JAE mit Personensegmentinventar.

groesse

JAE, UMSATZ_EUR oder BILANZ_EUR.

bezugsperiode

Explizite gemeinsame Perioden-ID.

kreis_vollstaendig

Belegte Vollstaendigkeit des qualifizierten Beziehungskreises.

quellenfassung

EUAIACT_2026_07_27.

Details

Verbundgruppen werden einmal voll, Partnergruppen proportional einbezogen. Partner eines Partners werden nicht rekursiv verfolgt. Ueberlappende Datenkreise, mehrfache Partnerpfade zwischen identischen Gruppen oder doppelte Personensegmente werden abgewiesen. Finanzwerte sind exakte Dezimaltexte; JAE sind Zaehler/Nenner-Texte. Der vollstaendige Vertrag befindet sich in inst/notes/UNTERNEHMENSGRUPPEN.md.

Value

Ergebnisumschlag mit exakter Summe, Unternehmensgewichten, Datenkreisbeitraegen, Quellen und Luecken. Keine allgemeine KMU-/SMC-Status- oder Rechtsentscheidung.


Kalenderfrist mit ausdrücklichem Nutzerkalender

Description

Berechnet ein Enddatum nach den ausdrücklich gewählten Datumsregeln der Verordnung 1182/71. Verwendet keine Systemzeit.

Usage

berechne_frist(ereignisdatum, anzahl, einheit, modus, kalender = NULL, quellenfassung)

Arguments

ereignisdatum

ISO-Datum als Text YYYY-MM-DD, Jahre 0001 bis 9999. Bei STUNDE ein ISO-Zeitstempel mit explizitem UTC-Offset.

anzahl

Positive ganze Zahl.

einheit

TAG, ARBEITSTAG, WOCHE, MONAT, JAHR oder STUNDE (nur FRIST).

modus

FRIST, FESTER_TERMIN, INKRAFTTRETEN, RUECKWAERTS oder VERFAHREN_1755_TAGE.

kalender

Liste mit genau von, bis (ISO-Daten), feiertage (Liste von ISO-Daten) und bezug (nichtleerer Herkunfts-/Geltungsbereichstext). Feiertage müssen eindeutig und innerhalb der Kalenderdeckung liegen. Für FESTER_TERMIN/INKRAFTTRETEN ohne ARBEITSTAG-Einheit ist kein Kalender erforderlich.

quellenfassung

Explizit EUAIACT_2026_07_27.

Details

Der Ereignistag wird ausgeschlossen. Monate und Jahre verwenden den entsprechenden Tag oder den letzten Tag des Zielmonats. Im Modus FRIST wird ein Ende an einem arbeitsfreien Tag auf den nächsten Arbeitstag verschoben; Fristen ab zwei Tagen enthalten mindestens zwei Arbeitstage. FESTER_TERMIN und INKRAFTTRETEN wenden diese beiden Verlängerungen nicht an. Samstag, Sonntag und explizite Feiertage sind arbeitsfrei. Unzureichende Kalenderdeckung bleibt unbekannt. VERFAHREN_1755_TAGE wendet Artikel 12 Absatz 2 der DVO 2026/1755 für GPAI-Kommissionsverfahren an: erster folgender Arbeitstag ist Tag 1; danach normale Endregeln. Nur TAG und ARBEITSTAG sind für diesen Modus zulässig. RUECKWAERTS rechnet vor dem ausgeschlossenen Bezugstag zurück. Keine Endverschiebung auf einen Arbeitstag; mindestens zwei Arbeitstage bei Perioden ab zwei Tagen werden durch weitere Rückrechnung erreicht. Kalender erforderlich. Korrespondenztag oder letzter Zielmonatstag, Ergebnis zum Ablauf des Grenztags. Wochen-/Monats-/Jahresfristen des Sonderverfahrens sind nicht enthalten. STUNDE im Modus FRIST schliesst die Ereignisstunde aus und zaehlt volle folgende Stunden. Der Ergebniswert enthaelt beginn und ende_exklusiv als UTC-Texte; an der exklusiven Endgrenze ist die Frist bereits abgelaufen. Keine Wochenend-Endverschiebung. Ab48Stunden bleibt F011 als REGEL_UNGEKLAERT ohne Fachwert erhalten. Keine automatische Anwendung auf spezielle AI-Act-Hoechstgrenzen. Eine zusätzliche Pflicht zu unverzüglichem Handeln wird nicht bewertet.

Value

Ergebnisumschlag mit ISO-Datum in wert beziehungsweise Stundenobjekt mit beginn/ende_exklusiv, Rechenschritten und Fundstelle. Ungültige Angaben ergeben EINGABE_UNGUELTIG; fehlende Angaben oder benötigte Kalenderdeckung EINGABE_FEHLT. Rechtliche Anwendbarkeit bleibt UNBEKANNT.

Examples

berechne_frist("2026-10-23", 2, "TAG", "FRIST",
  list(von = "2026-01-01", bis = "2026-12-31", feiertage = list(),
       bezug = "SYNTHETISCH: keine Feiertage"), "EUAIACT_2026_07_27")$wert

Zusammengesetzte Kalenderperioden

Description

Ganze Wochen, Monate oder Jahre und echte Monatsbrueche mit einmaliger Anwendung der Kalenderendregeln.

Usage

berechne_periodenfrist(ereignisdatum, anzahl, einheit, modus,
  kalender = NULL, monatsbruch = NULL, beginnkonvention = NULL,
  beginnbegruendung = NULL, quellenfassung)

Arguments

ereignisdatum

Explizites ISO-Datum YYYY-MM-DD.

anzahl

Ganze Anzahl von0bis1000000; Gesamtperiode muss positiv sein.

einheit

WOCHE, MONAT oder JAHR.

modus

FRIST, FESTER_TERMIN, INKRAFTTRETEN, RUECKWAERTS oder VERFAHREN_1755.

kalender

Benannte Liste mit von, bis, feiertage und nichtleerem bezug. Erforderlich fuer Arbeitstagsregeln.

monatsbruch

Nur fuer MONAT: Liste mit zaehler und nenner als kanonische Ganzzahltexte, echter nichtnegativer Bruch. NULL bedeutet keine Bruchkomponente.

beginnkonvention

Nur fuer VERFAHREN_1755: explizites EREIGNISTAG, BEGINNTAG oder VORTAG_DES_BEGINNS.

beginnbegruendung

Nichtleere Begruendung des1755-Profils. F007 wird dadurch nicht rechtlich geloest.

quellenfassung

Explizit EUAIACT_2026_07_27.

Details

Ganze Monate zuerst, danach30malMonatsbruch in Tagen. Endverschiebung und Mindestarbeitstage nur auf Gesamtperiode anwenden. Nichtganze Bruchtage bleiben ohne untertaegige Endkonvention REGEL_UNGEKLAERT. Ebenso1755-Langperioden ohne begruendetes Profil. Vollstaendiger Vertrag in notes/PERIODENFRISTEN.md.

Value

Ergebnisumschlag mit Datum, Komponenten, Quellen und ausdruecklichen Daten-/Rechtsgrenzen.

Examples

berechne_periodenfrist("2026-01-31", 1, "MONAT", "FRIST",
  list(von="2026-01-01", bis="2026-12-31", feiertage=list(),
  bezug="SYNTHETISCH"), list(zaehler="1", nenner="2"),
  quellenfassung="EUAIACT_2026_07_27")

Qualifizierte Verjaehrungsverlaeufe

Description

Berechnet lokale Ereignisablaeufe mit getrennten Verfahrensregeln.

Usage

berechne_verjaehrung(verfahren, ereignisdatum, unterbrechungen, hemmungen,
  stichtag, kalender, quellenfassung, beginnkonvention = NULL,
  beginnbegruendung = NULL)

Arguments

verfahren

GPAI_VERFOLGUNG, GPAI_VOLLSTRECKUNG, KI_BUERO_VERFOLGUNG oder KI_BUERO_VOLLSTRECKUNG.

ereignisdatum

Qualifizierter Tattag, Ende fortdauernden Verhaltens oder Bestandskraft, YYYY-MM-DD.

unterbrechungen

Liste mit hoechstens1000 benannten Listen mit datum und verfahrensspezifischer art.

hemmungen

Liste mit hoechstens1000 benannten Listen mit von, bis_exklusiv und art. NULL als Ende bezeichnet laufende Hemmung. Grenzen sind qualifizierte volle Kalendertage.

stichtag

Explizites Datum des betrachteten Ereignisbestands.

kalender

Benannte Liste mit von, bis, feiertage als Liste und nichtleerem bezug.

quellenfassung

Explizit EUAIACT_2026_07_27.

beginnkonvention

Fuer GPAI explizite Nutzervorgabe EREIGNISTAG, BEGINNTAG oder VORTAG_DES_BEGINNS; ohne Auswahl bleibt F007 offen. Im75c-Verfahren NULL.

beginnbegruendung

Nichtleere dokumentierte Begruendung der GPAI-Nutzervorgabe; keine Rechtsklaerung durch die Library. Im75c-Verfahren NULL.

Details

GPAI-Verfolgung hat eine urspruengliche Zehnjahreshoechstfrist mit gerichtlicher Hemmung; Vollstreckung hat keinen solchen Deckel. Hemmungen werden vereinigt. Keine Wiederbelebung abgelaufener Fristen und keine Uebernahme1755 auf75c. Laufende relevante Hemmung liefert kein endgueltiges Fristende. Vollstaendiger Vertrag und Ereignisarten in der installierten Datei notes/VERJAEHRUNGSVERTRAG.md.

Value

Gemeinsamer Ergebnisumschlag mit Fristenden, Unterbrechungsschritten, Nutzervorgaben und ausdruecklichen Daten-/Rechtsluecken. Kein automatischer Verjaehrungsbescheid.

Examples

berechne_verjaehrung("GPAI_VERFOLGUNG", "2026-10-23", list(), list(),
  "2026-10-25", list(von="2026-01-01", bis="2038-12-31",
  feiertage=list(), bezug="SYNTHETISCH"), "EUAIACT_2026_07_27")

Vollständige Eingabefelder einer Katalogregel

Description

Liefert die Feldverträge einschließlich transitiver Regelverweise als unabhängige native Daten. Enthält keine Unternehmensdaten.

Usage

eingabevertrag(regel_id)

Arguments

regel_id

Bekannte ID aus regel_katalog(). Unbekannte IDs lösen einen Fehler aus.

Details

Zusammengesetzte Regeln benötigen auch Felder der referenzierten Regeln. Die unmittelbaren eingaben in regel_info() allein sind dann nicht vollständig. Fehlende Felder und NULL bleiben unbekannt; zusätzliche Felder sind unzulässig. Zeit- und Fristfunktionen haben separat dokumentierte Parameterverträge.

Value

Liste mit regel_id, regelversion, quellenfassung, schemaversion, felder (nach Namen sortiert), unbekannt und zusaetzliche_felder. Jeder Feldvertrag enthält den Typ und gegebenenfalls Einheit, Kategorieauswahl oder exakte Grenzen als Dezimalzeichenfolgen.

Examples

names(eingabevertrag("AIA_053_001_A")$felder)

Lokaler JSON-Austausch und nachvollziehbare Feldzuordnung

Description

Explizite lokale Dateien und reine Zuordnung direkter Feldnamen. Keine URLs, Remote-Referenzen oder ausführbaren Transformationen.

Usage

lese_json(pfad)
schreibe_json(daten, pfad)
ordne_daten_zu(datensatz, zuordnung)

Arguments

pfad

Nichtleerer lokaler Dateipfad. URI/URLs und UNC-Pfade sind unzulässig.

daten

JSON-kompatibler Wert: benannte/ unbenannte Listen für Objekte/Arrays, skalare Texte, Boolean, NULL und ganze Zahlen bis absolut 9007199254740991. Dezimal- und Geldwerte als Text; NA ist im Austauschvertrag unzulässig.

datensatz

Benannte Liste mit eindeutigen, nichtleeren Quellfeldnamen.

zuordnung

Liste mit genau mappingversion (nichtleerer Text) und felder (benannte Liste: kanonischer Zielfeldname auf direkten Quellfeldnamen). Zielnamen bestehen aus Kleinbuchstaben, Ziffern und Unterstrichen und beginnen mit einem Buchstaben.

Details

UTF-8, höchstens 16 MiB und 100 Verschachtelungsebenen. Doppelte Objektschlüssel, ungenaue Zahlen und ungültige Typen werden abgelehnt. Leeres Objekt: setNames(list(), character()); leeres Array: list(). Der Export validiert vor dem Öffnen und überschreibt niemals vorhandene Dateien. Schreibfehler können eine unvollständige neue Datei hinterlassen. Eingebundene Dateisysteme liegen in der Verantwortung des Betreibers.

Die Zuordnung übernimmt nur ausgewählte Felder, verändert keine Eingaben und ergänzt fehlende Quellschlüssel als NULL. Vorhandenes NULL und fehlender Schlüssel bleiben in der Herkunft unterscheidbar. Die anschließende Fachfunktion prüft bekannte Zielfelder und deren fachlichen Typ-/Wertevertrag.

Value

lese_json: native Daten; schreibe_json: unsichtbares NULL; ordne_daten_zu: Liste mit mappingversion, eingaben und herkunft (zielfeld, quellfeld, vorhanden), nach Zielfeld sortiert. Ungültige Verträge und Betriebssystemfehler lösen einen Fehler aus.

Examples

ordne_daten_zu(list(heilzweck = FALSE), list(mappingversion = "beispiel-1",
  felder = list(medizinisch = "heilzweck", arbeitsplatz = "betrieb")))
pfad <- tempfile(fileext = ".json")
schreibe_json(list(kennzeichnung = "SYNTHETISCH", wert = "1.23"), pfad)
lese_json(pfad)
unlink(pfad)

Pflichtenkatalog und sachliche Pflichtauslösung

Description

Verknüpft sachliche Auslöser mit strukturierten, bedingten Rechtsfolgen und fachlich abgeleiteten Nachweisarten. Der Katalog ist ein Teilbestand.

Usage

pflicht_katalog()
ermittle_pflicht(pflicht_id, eingaben, quellenfassung)

Arguments

pflicht_id

Stabile Kennung aus pflicht_katalog().

eingaben

Benannte Liste nach eingabevertrag() der im Katalog hinterlegten Auslöserregel. Keine automatische Auswahl aus zusätzlichen Unternehmensfeldern.

quellenfassung

Explizite Quellenfassung, gegenwärtig EUAIACT_2026_07_27.

Details

Der Katalog enthält Pflichtversion, Adressat, Gegenstand, Auslöserregel, Rechtsfolge, Ausnahmen, Zeitbezug, Nachweisarten, verfügbare Erfüllungskriterien, Quellenfassung und Bearbeitungsstatus. Kopien können unabhängig verändert werden.

ermittle_pflicht() prüft ausschließlich den sachlichen Auslöser. Zeitliche und allgemeine rechtliche Anwendbarkeit bleiben UNBEKANNT. Erfüllung und Belege werden nicht geprüft. Eine positive Auslöserprüfung ist keine Konformitätsaussage. Nachweisarten sind fachlich abgeleitete Belegarten, keine zusätzlich erfundenen gesetzlichen Dokumentpflichten. Es werden keine externen Aktionen ausgeführt.

Die Pflichtausgabe enthaelt auch Gegenstand, Ausnahmen, Fundstellen und fristregel_ids. Diese Zeitregelverweise sind mit regel_info und berechne_regel verwendbar. Ereignisdaten muessen separat uebergeben werden; keine automatische Frist- oder Erfuellungspruefung.

Value

pflicht_katalog() liefert eine Liste von Pflichtdatensätzen. ermittle_pflicht() liefert einen Ergebnisumschlag vom Typ OBJEKT. Bei gültigen Eingaben enthält wert pflicht_id, pflichtversion, ausloeser_erfuellt, adressat, gegenstand, ausnahmen, fundstellen, fristregel_ids, rechtsfolge, zeitbezug, nachweisanforderungen, erfuellungskriterien und erfuellung mit dem festen Wert NICHT_GEPRUEFT. Die Rechtsfolge ist immer bedingt, auch bei falschem oder unbekanntem Auslöser. Unbekannte Pflicht-ID oder ungültige Eingaben ergeben EINGABE_UNGUELTIG und wert=NULL; fehlende entscheidende Fakten EINGABE_FEHLT mit partiellem Objekt. Entscheidungsspur und Quellen bleiben erhalten.

See Also

eingabevertrag, pruefe_tatbestand

Examples

ermittle_pflicht("P_AIA_026_007", list(betreiberrolle = TRUE,
  hochrisikosystem = TRUE, betreiber_ist_arbeitgeber = TRUE,
  einsatz_am_arbeitsplatz_geplant = TRUE), "EUAIACT_2026_07_27")$wert

Allgemeinen Anwendungsbeginn nach Artikel 113 prüfen

Description

Vergleicht den ausdrücklich gewählten Stichtag mit dem allgemeinen Beginn eines Bereichs in der ausdrücklich gewählten Quellenfassung.

Usage

pruefe_anwendungsbeginn(bereich, stichtag, quellenfassung)

Arguments

bereich

Ein Bereich aus der nachfolgenden Liste.

stichtag

ISO-Datum YYYY-MM-DD oder NULL für unbekannt.

quellenfassung

EUAIACT_2024_08_01 oder EUAIACT_2026_07_27.

Details

In beiden Fassungen: ALLGEMEIN, KAPITEL_I_II_BESTAND, KAPITEL_III_ABSCHNITT_4, KAPITEL_V, KAPITEL_VII, KAPITEL_XII_OHNE_101, ARTIKEL_78, ARTIKEL_101, ARTIKEL_6_5, ARTIKEL_102_BIS_110 und HOCHRISIKO_ANHANG_III_ABSCHNITT_1_BIS_3_OHNE_6_5.

Nur 2024: HOCHRISIKO_ANHANG_I_ARTIKEL_6_1_UND_ZUGEHOERIGE_PFLICHTEN. Nur 2026: HOCHRISIKO_ANHANG_I_ABSCHNITT_1_BIS_3_OHNE_6_5 und ARTIKEL_5_BA_BB_1A_1B.

KAPITEL_I_II_BESTAND schließt den neuen Artikel 4a und die neuen Verbote aus. Stichtage vor Inkrafttreten der gewählten Fassung sind ungültig. Die frühere Fassung kann eine damalige Planung für spätere Daten abbilden; sie wird nicht automatisch durch die neue Fassung ersetzt. Artikel 111 sowie sachlicher, persönlicher und territorialer Geltungsbereich werden separat geprüft.

ARTIKEL_4A in der Fassung 2026 ist als offene Rechtsfrage F002 registriert. Vollständige gültige Eingaben liefern REGEL_UNGEKLAERT statt eines geschätzten Beginns.

Value

Ergebnisumschlag mit Boolean in wert und dem verglichenen Beginn in entscheidungsschritte. Anwendbarkeit bleibt UNBEKANNT. Fehlende Angaben ergeben EINGABE_FEHLT; ungültige Bereiche, Fassungen oder Daten EINGABE_UNGUELTIG.

Examples

pruefe_anwendungsbeginn("ARTIKEL_5_BA_BB_1A_1B", "2026-12-01",
  "EUAIACT_2026_07_27")$wert

Bestandsfristen nach Artikel 111 prüfen

Description

Prüft Bestandsgrenze und festen Erfüllungstermin nach Artikel 111 Absätzen 1 bis 4 anhand ausdrücklich qualifizierter Fallgruppen.

Usage

pruefe_bestandsfrist(fallgruppe, stichtag, ereignisse, quellenfassung)

Arguments

fallgruppe

GROSS_IT_ANHANG_X, GPAI_MODELL, SYNTHETISCHE_AUSGABEN_ART_50_2, HOCHRISIKO_ANHANG_I, HOCHRISIKO_ANHANG_III oder HOCHRISIKO_DOPPELT.

stichtag

ISO-Datum YYYY-MM-DD oder NULL.

ereignisse

Benannte Liste mit inverkehrbringen und optional inbetriebnahme. Jedes Ereignis ist NULL oder eine Liste mit erfolgt (logical/NULL) und datum (ISO-Datum/NULL). Ein Datum verlangt erfolgt=TRUE und darf nicht nach dem Stichtag liegen. Fehlende Ereignisse bleiben unbekannt. Hochrisiko-Fallgruppen erlauben zusätzlich aenderungen (Liste von Listen mit datum und erheblich), aenderungshistorie_vollstaendig, fuer_behoerden_bestimmt und anbieter_oder_betreiber (je logical/NULL). Die Historie beschreibt tatsächliche Entwurfsänderungen desselben Typs/Modells bis zum Stichtag; Vollständigkeit, Erheblichkeit, Zweckbestimmung und Akteursrolle sind anhand eigener Nachweise zu qualifizieren.

quellenfassung

EUAIACT_2024_08_01 oder EUAIACT_2026_07_27. Die synthetische Fallgruppe ist nur in der Fassung 2026 verfügbar.

Details

Die Fallgruppe muss sachlich qualifiziert sein. Groß-IT: erstmaliges Inverkehrbringen oder Inbetriebnahme vor 2027-08-02, Frist 2030-12-31. GPAI: Inverkehrbringen vor 2025-08-02, Frist 2027-08-02. Synthetische Ausgaben: Inverkehrbringen vor 2026-08-02, Frist 2026-12-02; nur die Verpflichtung aus Artikel 50 Absatz 2 ist betroffen. Ein bekanntes altes Ereignis entscheidet die Groß-IT-Alternative trotz unbekanntem zweiten Ereignis. Ein junges Ereignis widerlegt ein unbekanntes altes nicht. Keine Wochenendverschiebung. Artikel 2, Artikel 5, Artikel 113 und die tatsächliche Pflichterfüllung sind separat zu prüfen. Hochrisiko-Gruppen setzen den Ausschluss des Absatz-1-Groß-IT-Falls voraus. Bestandsgrenzen: Fassung 2024 einheitlich 2026-08-02; Fassung 2026 Anhang III 2027-12-02, Anhang I 2028-08-02. Markt-/Betriebsereignisse müssen davor liegen, erhebliche Änderungen zählen ab der Grenze einschließlich. Eine leere Liste beweist Unverändertheit nur bei ausdrücklich vollständiger Historie. Ein bekanntes relevantes Ereignis genügt auch bei unvollständiger Historie. Die Auffangfrist 2030-08-02 betrifft Anbieter/Betreiber von Behördenbeständen. Bei Doppelklassifikation werden beide Stichtage geprüft: gemeinsame Ergebnisse bleiben nutzbar, abweichende Felder bleiben NULL bzw. UNBESTIMMT und führen zu REGEL_UNGEKLAERT (F004). Vollständiger Vertrag: system.file("notes", "UEBERGANG.md", package="euaiact").

Value

Ergebnisumschlag mit Objekt in wert: bestand (logical/NULL), erfuellungsfrist (Datum bei Bestand, sonst NULL) und friststatus (VOR_FRISTTAG, FRISTTAG, NACH_FRISTTAG, KEINE_BESTANDSFRIST oder UNBESTIMMT). Hochrisiko-Ergebnisse enthalten zusätzlich aenderungsvorbehalt_ausgeloest und behoerdenfrist_betroffen (logical/NULL); erfuellungsfrist betrifft nur die Behördenfrist, deren Nichtbetroffenheit KEINE_BEHOERDENFRIST ergibt. Anwendbarkeit bleibt UNBEKANNT. Unvollständige Angaben führen zu EINGABE_FEHLT, inkonsistente oder ungültige Angaben zu EINGABE_UNGUELTIG.

Examples

pruefe_bestandsfrist("GPAI_MODELL", "2027-08-02",
  list(inverkehrbringen = list(erfolgt = TRUE, datum = "2025-08-01")),
  "EUAIACT_2026_07_27")$wert

Exakte Obergrenzen und Größenmerkmale

Description

Berechnet die ausdrücklich spezifizierte Größe mit lokalen Daten. Geldbeträge werden ohne implizite Rundung als Dezimalzeichenfolgen ausgegeben.

Usage

berechne_regel(regel_id, eingaben, quellenfassung)
berechne_bussgeldobergrenze(eingaben, quellenfassung)

Arguments

regel_id

Eine Rechenregel-ID aus regel_katalog().

eingaben

Benannte Liste entsprechend regel_info(regel_id)$eingaben. Geld, Anteile und Jahresarbeitseinheiten sind Dezimalzeichenfolgen. Kleine Personen-/Stimmenzahlen sind skalare ganze Zahlen. Fehlende Angaben bleiben unbekannt.

quellenfassung

Explizite Quellenfassung, gegenwärtig EUAIACT_2026_07_27.

Details

AIA_075C_005_TAGESEINKOMMEN berechnet exakt fuenf Prozent eines vorgelagert rechtlich qualifizierten durchschnittlichen Tageseinkommens. Keine automatische Basiswahl, Umsatzumrechnung, Cent-Rundung oder tatsaechliche Sanktionsfestsetzung. Die offene Umsatzfrage F003 bleibt gesondert.

Die Regeln AIA_097_003_WIRKSAMKEIT und OMN_003_03_WIRKSAMKEIT berechnen den Tag nach der Amtsblattveroeffentlichung oder einen ausdruecklich spaeteren Tag. Es gibt keine Wochenendverschiebung; konkrete Delegation und zustaendiges Organ bleiben getrennte Voraussetzungen.

Die Regel AIA_050_005_INFORMATIONSZEITPUNKT vergleicht transparenzinformation_zeitpunkt mit erste_interaktion_oder_exposition_zeitpunkt und liefert wahr, wenn die Information spätestens beim Erstkontakt bereitgestellt wurde. Zeichenfolgen verwenden das Profil YYYY-MM-DDTHH:MM:SS mit optional ein bis sechs Nachkommastellen und Z oder explizitem Offset (+/-HH:MM). Jahre 0001 bis 9999; keine Schaltsekunden, kein unbekannter Offset -00:00, keine Systemzeitzone. UTC-Sekunden und Mikrosekunden werden getrennt exakt verglichen. Pflichtauslöser, Informationsqualität, Barrierefreiheit und zeitliche Anwendbarkeit separat.

Die Regeln KMU_PARTNER_HINZURECHNUNG und KMU_VERBUND_HINZURECHNUNG addieren einen qualifizierten noch nicht enthaltenen Unternehmenswert zur Aggregationsbasis. Die Partnerregel verwendet zusätzlich die exakte hinzurechnungsquote zwischen null und eins, die Verbundregel die feste Quote eins. Die Eingaben aggregationsbasiswert und noch_hinzuzurechnender_unternehmenswert betreffen dieselbe Kennzahl, Einheit und Periode. Bereits konsolidierte Daten sind vorab auszuschließen. Es erfolgt keine automatische Beteiligungsgraph- oder Größenstatusermittlung und keine Rundung. Multiplikation und Addition erscheinen in der Rechenspur. Je Dezimaleingabe gelten maximal 4096 Zeichen, auch bei Weiterverwendung.

Anlassabhängige Dauern wählen einen gesetzlichen Dauerparameter anhand eines expliziten Enum-Feldes. Eine fehlende Anlasskategorie führt zu keinem Standardwert. Höchstdauern sind von tatsächlich gewährten Zeiträumen zu unterscheiden. Feste Dauern liefern Anzahl und Einheit bei leerer Eingabeliste. Zeitbezug und Richtung sind in regel_info dokumentiert. Es wird kein Enddatum berechnet; eine Vorankündigung darf nicht als nachlaufende Frist verwendet werden. Aufbewahrungsdauern sind keine automatische Löschfreigabe.

berechne_bussgeldobergrenze ist der fachliche Einstieg für Artikel 99. Die Kategorien lauten VERBOT, PFLICHT und INFORMATION; die Akteurklassen KEIN_UNTERNEHMEN, KMU, SMC und SONSTIGES_UNTERNEHMEN. Für Unternehmen ist der weltweiter_vorjahresumsatz_eur anzugeben.

Berechnet wird die gesetzliche Obergrenze, nicht das tatsächliche Bußgeld. Zeitliche und rechtliche Anwendbarkeit sowie Größenstatus sind gesondert zu prüfen. Die Regel KMU_SCHWELLEN liefert ausschließlich gegenwärtige Größenmerkmale; Beteiligungen und Statushistorie werden dadurch nicht ersetzt.

AIA_073_MELDEFRISTTAGE verwendet die booleschen Eingaben weitverbreiteter_verstoss, schwere_irreversible_kritische_infrastrukturstoerung und todesfall. Ein wahrer Zweitagesgrund liefert 2 trotz anderer Lücken; bei zwei falschen Zweitagesgründen gilt 10 für Todesfall, sonst 15. Fehlende entscheidende Fakten bleiben unbekannt. Dies ist nur die äußerste Tagesdauer, kein Aufschub einer unverzüglichen Meldung. Meldepflicht, Kenntnistag, Vorfallschwere und Artikel 73 Absätze 9/10 sind separat zu prüfen.

AIA_030_EINWANDSPERIODE liefert die Anzahl 2 und die Einheit WOCHE oder MONAT abhängig von der Notifizierungsgrundlage. Ereignisdatum, Kalender, Fristablauf und Einwände sind gesondert zu prüfen.

Value

Vollständiger Ergebnisumschlag wie bei pruefe_tatbestand, mit rechenschritte, Einheit und typisiertem wert. Fehlende relevante Angaben ergeben EINGABE_FEHLT, ungültige Angaben EINGABE_UNGUELTIG. Teilweise bestimmbare Größenmerkmale können innerhalb des Objekts unbekannt bleiben.

Grundrechtebewertung vor Ersteinsatz

AIA_027_001_VOR_EINSATZ vergleicht fria_abschluss_zeitpunkt strikt mit erstmaliger_einsatz_zeitpunkt. Beide Eingaben verwenden DATUMZEIT mit explizitem UTC-Offset. Gleiche Instanten sind nicht vorher. Pflichtauslöser und Bewertungsinhalte separat prüfen; keine Stundenfristberechnung.

Jahresarbeitseinheiten

KMU_JAE_DEZIMALBEITRAG und SMC_JAE_DEZIMALBEITRAG multiplizieren die exakt endlichen Dezimaltexte arbeitszeitanteil_an_vollzeit und anrechenbarer_jahresanteil (jeweils 0 bis 1). JAE_DEZIMALSUMME addiert bisherige_jahresarbeitseinheiten und zusaetzliche_jahresarbeitseinheiten. Personenkreis, anrechenbare homogene Abschnitte und disjunkte Beiträge vorher qualifizieren. Keine automatische Kalenderbasis, keine Rundung periodischer Brüche wie 1/3 und keine vollständige rationale Quotenermittlung. Ergebnisse sind exakte Dezimaltexte.

See Also

pruefe_tatbestand, regel_info

Examples

berechne_bussgeldobergrenze(list(
  verstosskategorie = "PFLICHT", akteurklasse = "SMC",
  weltweiter_vorjahresumsatz_eur = "100000000"
), "EUAIACT_2026_07_27")$wert

Lokale sachliche Regelprüfung mit unbekannten Angaben

Description

Wertet ausdrücklich übergebene Fakten anhand eines paketinternen Regelkatalogs aus. Der Katalog ist ein fachlicher Entwicklungsstand. Die Prüfung eines Tatbestands ist keine umfassende Konformitätsprüfung.

Usage

regel_info(regel_id)
regel_katalog()
pruefe_tatbestand(regel_id, eingaben, quellenfassung)
pruefe_stapel(faelle, quellenfassung)

Arguments

regel_id

Eindeutige Zeichenfolge aus dem Regelkatalog.

eingaben

Benannte Liste mit eindeutigen Schlüsseln. Booleanfelder sind skalare logische Werte. Dezimalfelder sind kanonische Zeichenfolgen mit höchstens 4096 Zeichen; Exponenten, Tausendertrennzeichen und Komma sind unzulässig. Fehlende Schlüssel, NULL und skalare NA-Werte bedeuten unbekannt. NaN ist ungültig.

quellenfassung

Explizite Quellenkennung. Der gegenwärtige Katalog verwendet EUAIACT_2026_07_27; nicht verfügbare Fassungen werden abgewiesen.

faelle

Liste von Fällen mit genau fall_id, regel_id und eingaben. Fall-IDs müssen eindeutige, nichtleere Zeichenfolgen sein.

Details

Entscheidungsrelevante offene Rechtsfragen liefern den Status REGEL_UNGEKLAERT. Sie sind keine fehlenden Unternehmensdaten und werden als frage_id beziehungsweise offene_rechtsfragen in der Spur sowie in den Hinweisen ausgewiesen. Datenlücken bleiben separat; eine Rechtsfrage ist kein überschreibbares Eingabefeld. Ein bestimmendes anderes UND-/ODER-Glied kann sie unerheblich machen. Aktuelle Fälle sind divergierende EN/DE-Business-Angel-Grenzen: exakt fünf Millionen EUR bei SMC (F015) und exakt 1,25 Millionen EUR bei KMU (F016).

UND wird durch einen falschen Operanden falsch, ODER durch einen wahren Operanden wahr. In sonst nicht entscheidbaren Fällen bleibt der Wert unbekannt. Alle gelieferten Angaben werden unabhängig von ihrer Entscheidungsrelevanz typgeprüft. Die Funktionen verändern keine Eingaben und führen keine Netzwerkzugriffe oder externen Programmausführungen aus.

Zeitliche, territoriale und sonstige rechtliche Anwendbarkeit wird durch diese Funktionen nicht bestimmt. Deshalb ist anwendbarkeit bei einer gültigen Tatbestandsprüfung UNBEKANNT, auch wenn der sachliche Wert entschieden ist. Der Katalogstatus bleibt im Ergebnis sichtbar. ENUM-Kategorien werden exakt verglichen; zulässige Werte stehen in eingabevertrag(regel_id). AIA_002_002_NORMGRUPPE_ZULAESSIG prüft nur den besonderen Normgruppenausschluss, keine allgemeine Anwendbarkeit. AIA_002_013_VORAUSSETZUNGEN bestätigt keinen erlassenen Ausnahmeakt.

Quellenbelege umfassen die durchlaufenen Unterregeln mit regel_id und regelversion. Unterregelgrenzen erscheinen in hinweise mit Regel-ID. Besuchsreihenfolge bleibt erhalten; mehrfach referenzierte Regeln erhalten nur eine Beleggruppe. Auch logisch nicht entscheidende Zweige werden betrachtet.

Value

regel_info liefert die Regelspezifikation als Liste und löst bei einer unbekannten ID einen Fehler aus. regel_katalog liefert eine Liste von Katalogeinträgen. pruefe_tatbestand liefert eine benannte Liste mit wert, status, Fassungsinformationen, Eingaben, Entscheidungsschritten, fehlenden Angaben, entscheidungsrelevanten Lücken und Quellenverweisen. Ein unbekannter Wert ist NULL; ein falscher Wert ist FALSE. pruefe_stapel liefert Ergebnisse mit ihren Fall-IDs. Strukturfehler und doppelte IDs führen zu einem Fehler; ungültige Fakten werden fallbezogen berichtet.

Examples

pruefe_tatbestand(
  "AIA_051_002",
  list(trainings_flops = "10000000000000000000000001"),
  "EUAIACT_2026_07_27"
)$wert

pruefe_tatbestand("AIA_051_002", list(), "EUAIACT_2026_07_27")$status

Lokales JSON-Schema des Ergebnisumschlags

Description

Lädt ausschließlich das mit dem Paket ausgelieferte Schema. Keine Netzwerkzugriffe oder Auflösung externer Referenzen.

Usage

schema_info(schema_id = "ERGEBNIS_0_1_0")

Arguments

schema_id

Explizite lokale Schema-ID. ERGEBNIS_0_1_0 oder eine Katalogregel-ID mit dem Suffix :EINGABEN.

Value

Unabhängige benannte Liste mit dem JSON-Schema nach Draft 2020-12. Eingabeschemata erlauben fehlende und null-Werte. Exakte Dezimalgrenzen stehen als Annotationen im Schema und werden nur durch die native Regelauswertung geprüft. Unbekannte IDs lösen einen Fehler aus. Die URI im Schema beschreibt den Standard und wird von der Library nicht aufgerufen.

Examples

schema_info()$required

Versionierte lokale Anhangtabellen

Description

Strukturierte Listen aus den Anhaengen I, II, X, XIII und XIV der Quellenfassung EUAIACT_2026_07_27, ohne Netzwerkzugriff.

Usage

tabellen_katalog()
tabelle_info(tabellen_id)

Arguments

tabellen_id

Eine Zeichenkette: ANH_I, ANH_II, ANH_X, ANH_XIII oder ANH_XIV.

Details

Tabellenmitgliedschaft entscheidet keine individuelle Anwendbarkeit. Sektorale Rechtsakte werden nicht vollstaendig implementiert. Die Maschinenverordnung ist in dieser Fassung Anhang I Abschnitt B Nummer 21 zugeordnet; der gestrichene Eintrag A Nummer 1 ist kein aktueller Datensatz. Codes des Anhangs XIV beschreiben den Notifizierungsumfang, keine automatische Systemzulassung. Datensaetze koennen lokal mit eigenen Daten ueber explizite IDs oder CELEX-Kennungen verbunden werden. Keine automatische Aktualisierung.

Value

tabellen_katalog liefert eine unbenannte Liste von Metadaten mit ID, Version, Quellenfassung, Bezeichnung, Status und Zeilenzahl. tabelle_info liefert eine Liste mit geordneten Spalten und Zeilen, Quellennachweis, Grenzen und Status. Aufrufer koennen ihre Kopie veraendern, ohne den internen Bestand zu aendern. Unbekannte oder ungueltige IDs erzeugen einen Fehler.

Examples

tabellen_katalog()
t <- tabelle_info("ANH_I")
maschinen <- Filter(function(z) z$celex == "32023R1230", t$zeilen)
stopifnot(maschinen[[1]]$abschnitt == "B")

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.