Medizinische Task Force
Anhang F.1 · aus Grundzeichen zusammengesetzt · Hauptfassung
technisch: mit Abweichung · 18.08.2026 · rvfachlich: noch nicht geprüft
„Technisch: mit Abweichung" heißt: das Bild ist gegen die Vorlage nachgemessen worden und weicht an einer benannten Stelle von ihr ab. Die Abweichung ist geprüft und benannt, sie ist also kein offener Fehler, sondern eine bekannte Ausnahme. „Fachlich noch nicht geprüft" heißt: niemand aus der Fachwelt hat bestätigt, dass dies das richtige Zeichen für diese Bedeutung ist. Beide Angaben stehen an jedem Zeichen dieser Website; die rechte ist die, die man leicht übersieht. Was genau abweicht, steht darunter im Wortlaut der Prüfung zum Aufklappen.
Wortlaut der Abweichung aus dem technischen Review (Fachsprache)
Körperhülle per matchFingerprint gegen die Referenz gegated (Füllhülle 1/6 bis 31/26 mm, Differenz 0 an allen Kanten), dazu die globalen Mehrgrößen-, viewBox-, Metadaten- und Kontrast-Gates. Die randbündigen Fachdienstzeichen sind vom Fingerprint-Gate nicht erfasst (matchFingerprint vergleicht nur role: body); ihre Maße sind an F.1.7, F.1.8, F.1.10 und F.1.11 einzeln vermessen und in der Sichtprüfung gegengeprüft (docs/reviews/2026-08-18-f-a-visual-qa.md). Die Organisation hilfsorganisation ist eine Entscheidung dieses Teilslice und keine Messung: alle 66 F-Dateien führen ausschließlich #fff, und ob das eine Organisation oder keine bedeutet, sagt die Quelle nicht. Befund an der Referenzdatei: Die Kopfzone besteht aus zwei senkrechten Balken (je 1,5 × 4,0 mm auf x 12/20, y 1…5) statt aus Marken eines Stärkegrads. Kapitel 5.4 führt vier Stärkegrade (Trupp, Staffel, Gruppe, Zug) und keinen Balken; die Balkenform kommt in genau drei der 661 Referenzdateien vor (E.1.31, F.1.1, F.1.3), und ihre Namen — „System Bereitstellungsraum 500", „Medizinische Task Force", „Mobiles Betreuungsmodul 5000" — teilen kein Wort, aus dem sich ein Begriff ableiten ließe. Abweichung der Umsetzung: Die beiden Kopfbalken werden nicht gezeichnet: der Katalog kennt für sie keinen Begriff, und ein erfundener fünfter Stärkegrad wäre eine fachliche Behauptung. Dieselbe Abweichung hat der Teilslice E-c an E.1.31 erklärt. Das Zeichen ist damit von einem kopfzonenlosen Zeichen derselben Bauart nicht zu unterscheiden — hier von keinem anderen aus F.1.1 bis F.1.11, weil es als einziges die Arztleiste ohne Kopfzone trägt.
Zeichen verwenden
So sieht es aus
Dasselbe Zeichen in sechs Größen — von 16 bis 256 Pixel breit —, jeweils auf hellem und auf dunklem Untergrund. Die drei Schaltflächen wechseln die Farbfassung: „Referenz“ ist die Palette der Vorlage, „Kontraststark hell“ hebt die Farben für schwierige Bildschirme an, „Druck monochrom“ ist die Fassung für Schwarz-Weiß-Druck und Kopien.
Bedeutung und Herkunft
Grundzeichen: Taktische Formation. Organisation: Hilfsorganisation. Fachdienst: Arztwesen. Kürzel: MTF.
- Kennung
recipe.F.1.1- Quelle
- Anhang F.1 · BBK / BABZ: Taktische Zeichen im Bevölkerungsschutz — Empfehlungen zur Einführung einer FwDV 102/DV 102 · alle Quellen mit Prüfstand
- Zeichenprofil
bund— die Maßregeln, nach denen dieses Zeichen gezeichnet ist
Andere Bezeichnungen und frühere Kennungen führt der Katalog für dieses Zeichen noch nicht.
Für Entwicklerinnen und Entwickler
Ab hier stehen die Begriffe der Bibliothek: SymbolSpec, compose(), renderSvg(). Wer das Zeichen nur benutzen will, ist mit den Dateien oben fertig.
Bauanleitung als JSON
{
"kind": "formation",
"organization": "hilfsorganisation",
"bodyMarks": [
"physician"
],
"labels": {
"topLeft": "MTF"
}
}Manifestschlüssel dieser Zeile: bbk-babz-2025:F.1.1 · dieselbe Spec im Baukasten öffnen
Codebeispiele
Vier Kanäle, ein Zeichen. Die Beispiele entstehen aus derselben Vorlage wie im Quickstart und im Baukasten (src/lib/code-samples.ts), damit sie nicht hinter den Paket-APIs zurückbleiben.
import { composeFromCatalog } from '@einsatzzeichen/catalog';import { renderSvg } from '@einsatzzeichen/core';import type { SymbolSpec } from '@einsatzzeichen/schema';
// Spezifikation für "recipe.F.1.1"const spec: SymbolSpec = { "kind": "formation", "organization": "hilfsorganisation", "bodyMarks": [ "physician" ], "labels": { "topLeft": "MTF" }};
const drawing = composeFromCatalog(spec);const svg = renderSvg(drawing, { size: 64 });import { Einsatzzeichen } from '@einsatzzeichen/react';import { composeFromCatalog } from '@einsatzzeichen/catalog';import type { SymbolSpec } from '@einsatzzeichen/schema';
// Spezifikation für "recipe.F.1.1"const spec: SymbolSpec = { "kind": "formation", "organization": "hilfsorganisation", "bodyMarks": [ "physician" ], "labels": { "topLeft": "MTF" }};
const drawing = composeFromCatalog(spec);
export function Symbol() { return <Einsatzzeichen drawing={drawing} size={64} />;}import { DEFAULT_TAG_NAME, defineEinsatzzeichenElement, type EinsatzzeichenElement,} from '@einsatzzeichen/web-component';import { composeFromCatalog } from '@einsatzzeichen/catalog';import type { SymbolSpec } from '@einsatzzeichen/schema';
// Spezifikation für "recipe.F.1.1"const spec: SymbolSpec = { "kind": "formation", "organization": "hilfsorganisation", "bodyMarks": [ "physician" ], "labels": { "topLeft": "MTF" }};
// Registriert <einsatzzeichen-symbol> einmalig (ruft customElements.define auf).defineEinsatzzeichenElement();
const element = document.createElement(DEFAULT_TAG_NAME) as EinsatzzeichenElement;element.drawing = composeFromCatalog(spec);document.body.append(element);import maplibregl from 'maplibre-gl';import { addSymbolImage } from '@einsatzzeichen/maplibre';import { composeFromCatalog } from '@einsatzzeichen/catalog';import type { SymbolSpec } from '@einsatzzeichen/schema';
// Spezifikation für "recipe.F.1.1"const spec: SymbolSpec = { "kind": "formation", "organization": "hilfsorganisation", "bodyMarks": [ "physician" ], "labels": { "topLeft": "MTF" }};
const map = new maplibregl.Map({ container: 'map', style: 'https://example.org/style.json' });
map.on('load', () => { // addSymbolImage rastert die Zeichnung und ruft intern map.addImage(...) auf. addSymbolImage(map, "recipe.F.1.1", composeFromCatalog(spec), { size: 64 });});Zulässige Kombinationen
Diese Spec setzt 4 Felder. Darunter steht, welche Werte gesetzt sind und welche Regeln aus validateSpec() an diesen Feldern hängen — 46 an der Zahl.
| Feld | Wert | Regeln an diesem Feld |
|---|---|---|
Grundzeichenartkind | Taktische Formation formation | keine Regel allein an diesem Feld |
Organisationorganization | Hilfsorganisation hilfsorganisation |
|
KörpermarkenbodyMarks | Arztwesen physician | keine Regel allein an diesem Feld |
Beschriftungenlabels | MTF topLeft |
|
Die Zuordnung ist von Hand gepflegt und steht an der Erklärung jeder Regel (src/lib/rule-explanations.ts): eingetragen ist das Feld, das man ändern müsste, damit die Regel nicht mehr greift. validateSpec() selbst führt keine Feldzuordnung — deshalb bleibt diese Liste nicht die vollständige Prüfung. Regeln, die zwei Achsen gegeneinander stellen, erscheinen nur unter einer von beiden, und eine Regel ohne einzelnes Feld — wie der Streit um die Kopfzone — steht in keiner Zeile dieser Tabelle. Wer wissen will, ob eine geänderte Kombination trägt, ändert sie im Baukasten: dort läuft dieselbe Komposition wie im Katalog, und jede abgelehnte Kombination kommt mit ihrer Regel und deren Erklärung zurück.
Nachweise
Diese Testarten decken die Zeile dieses Zeichens in der Prüfliste ab:
- Körper-Fingerprint gegen die Referenzdatei (matchFingerprint)
body-fingerprint - SVG-Snapshot: die Ausgabe von renderSvg bleibt bytegleich
svg-snapshot
Gemessen und gerendert wird im Profil bund; die Profile und ihre Prüfstände stehen auf der Grundlage-Seite, der gesamte Prüfstand unter Stand der Prüfung.
Texte und Code dieser Website sind mit KI-Unterstützung entstanden und werden von Menschen geprüft; der fachliche Reviewstatus steht an jedem Zeichen.