@oimlsmart/primmel-packages 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/oiml-r129/evaluation/lab-selection-criteria.prl +74 -0
- package/oiml-r129/evaluation/sample-selection-rules.prl +33 -0
- package/oiml-r144/evaluation/lab-selection-criteria.prl +123 -0
- package/oiml-r144/evaluation/sample-selection-rules.prl +47 -0
- package/oiml-r60/evaluation/lab-selection-criteria.prl +95 -0
- package/oiml-r60/evaluation/sample-selection-rules.prl +100 -0
- package/oiml-r91/evaluation/lab-selection-criteria.prl +111 -0
- package/oiml-r91/evaluation/sample-selection-rules.prl +34 -0
- package/package.json +1 -1
- package/oiml-r129/payload/sample-data.yaml +0 -300
- package/oiml-r144/payload/sample-data.yaml +0 -643
- package/oiml-r60/payload/sample-data.yaml +0 -4900
- package/oiml-r91/payload/sample-data.yaml +0 -464
|
@@ -1,464 +0,0 @@
|
|
|
1
|
-
# OIML R 91 Sample Data — evidence-file artifact instance flow (TODO.roadmap/09)
|
|
2
|
-
# + the clause-8 verification pilot (TODO.roadmap/21)
|
|
3
|
-
# -----------------------------------------------------------------------------
|
|
4
|
-
# Flow 1 (sample-r91-evf): one type-evaluation flow for a stationary
|
|
5
|
-
# doppler-radar speed meter, exercising the ARTIFACT chain of
|
|
6
|
-
# model/artifacts.yaml:
|
|
7
|
-
# /conf/examinations/evidence-file-examination
|
|
8
|
-
# produces_artifacts: [enforcement-evidence-file] (the IS contract)
|
|
9
|
-
# test_report.artifact_instances (the HAS evidence)
|
|
10
|
-
# — one evidence-file instance the INSTRUMENT produced, linked as
|
|
11
|
-
# evidence to the examination assignment and this report.
|
|
12
|
-
# MECE: the instance carries the instrument's 7.3 a–l content; the report
|
|
13
|
-
# form (execution/forms/evidence-file.yaml) carries only the lab's
|
|
14
|
-
# examination record — no artifact content is duplicated into evidence
|
|
15
|
-
# shapes (linker rule artifact-evidence-separation).
|
|
16
|
-
#
|
|
17
|
-
# Flow 2 (sample-r91-vfy): the R 91-1, clause 8 verification pilot — one
|
|
18
|
-
# sample lifecycle: a moving doppler-radar speed meter (class B) with type
|
|
19
|
-
# evaluation complete, then INITIAL VERIFICATION passed with verdicts and
|
|
20
|
-
# marks (8.2.4) and the securing state set on the sample (7.13). The
|
|
21
|
-
# re-verification triggers of evaluation/verification.yaml fire against
|
|
22
|
-
# this seed in src/__tests__/verification.test.ts.
|
|
23
|
-
# -----------------------------------------------------------------------------
|
|
24
|
-
standard: oiml-r91
|
|
25
|
-
description: >
|
|
26
|
-
Minimal OIML R 91 type evaluation flow seeding the artifact-instance chain
|
|
27
|
-
(TODO.roadmap/09): one stationary doppler-radar speed meter whose
|
|
28
|
-
evidence-file examination links one enforcement-evidence-file artifact
|
|
29
|
-
instance. Removing the instance fails validation (linker rule
|
|
30
|
-
artifact-presence) — this flow is the positive proof.
|
|
31
|
-
|
|
32
|
-
flows:
|
|
33
|
-
- name: "EX1 — ACME Speed Systems RS-180 (evidence file)"
|
|
34
|
-
id_prefix: sample-r91-evf
|
|
35
|
-
party:
|
|
36
|
-
laboratory_id: "21"
|
|
37
|
-
authority_id: EX1
|
|
38
|
-
subject:
|
|
39
|
-
manufacturer:
|
|
40
|
-
id: mfr-truspeed
|
|
41
|
-
standard_id: oiml-r91
|
|
42
|
-
company: "ACME Speed Systems GmbH"
|
|
43
|
-
street: "Messweg 7"
|
|
44
|
-
city: "Braunschweig"
|
|
45
|
-
postalCode: "38100"
|
|
46
|
-
country: "Germany"
|
|
47
|
-
phone: "+49 531 000-0"
|
|
48
|
-
created: "2026-01-15"
|
|
49
|
-
modified: "2026-06-01"
|
|
50
|
-
family:
|
|
51
|
-
id: fam-acme-rs180
|
|
52
|
-
standard_id: oiml-r91
|
|
53
|
-
family_designation: "RS-180"
|
|
54
|
-
manufacturer_id: mfr-truspeed
|
|
55
|
-
classification:
|
|
56
|
-
installation_principle: mobile
|
|
57
|
-
working_principle: doppler-radar
|
|
58
|
-
triggering: automatic
|
|
59
|
-
climatic_environment_class: H2
|
|
60
|
-
mechanical_environment_class: M2
|
|
61
|
-
parameters:
|
|
62
|
-
operating_temp_min: { value: -20, unit: degC }
|
|
63
|
-
operating_temp_max: { value: 60, unit: degC }
|
|
64
|
-
created: "2026-01-15"
|
|
65
|
-
modified: "2026-06-01"
|
|
66
|
-
groups:
|
|
67
|
-
- id: grp-acme-rs180-a
|
|
68
|
-
standard_id: oiml-r91
|
|
69
|
-
family_id: fam-acme-rs180
|
|
70
|
-
manufacturer_id: mfr-truspeed
|
|
71
|
-
group_label: "A"
|
|
72
|
-
classification: { metrological_class: A }
|
|
73
|
-
created: "2026-01-15"
|
|
74
|
-
modified: "2026-06-01"
|
|
75
|
-
models:
|
|
76
|
-
- id: mod-acme-rs180-st-a
|
|
77
|
-
standard_id: oiml-r91
|
|
78
|
-
model_designation: "RS-180 (stationary, class A)"
|
|
79
|
-
manufacturer_id: mfr-truspeed
|
|
80
|
-
family_id: fam-acme-rs180
|
|
81
|
-
group_id: grp-acme-rs180-a
|
|
82
|
-
classification:
|
|
83
|
-
mode_of_use: stationary
|
|
84
|
-
cosine_compensation: along-the-road
|
|
85
|
-
created: "2026-01-15"
|
|
86
|
-
modified: "2026-06-01"
|
|
87
|
-
samples:
|
|
88
|
-
- id: smp-acme-rs180-001
|
|
89
|
-
standard_id: oiml-r91
|
|
90
|
-
serial_number: "TS9000-4815"
|
|
91
|
-
model_id: mod-acme-rs180-st-a
|
|
92
|
-
manufacturer_id: mfr-truspeed
|
|
93
|
-
application_id: app-acme-rs180
|
|
94
|
-
status: TESTING_COMPLETE
|
|
95
|
-
condition: NEW
|
|
96
|
-
custody_events:
|
|
97
|
-
- { date: "2026-03-01", type: RECEIVED, actor: "Example Test Laboratory", notes: "Sample received from manufacturer" }
|
|
98
|
-
- { date: "2026-09-15", type: TESTING_COMPLETE, actor: "Example Test Laboratory", notes: "Type evaluation examinations complete" }
|
|
99
|
-
created: "2026-01-15"
|
|
100
|
-
modified: "2026-09-15"
|
|
101
|
-
application:
|
|
102
|
-
id: app-acme-rs180
|
|
103
|
-
standard_id: oiml-r91
|
|
104
|
-
application_number: "DE-TS-2026-0911"
|
|
105
|
-
date_of_application: "2026-01-15"
|
|
106
|
-
status: ACCEPTED
|
|
107
|
-
applicant:
|
|
108
|
-
company: "ACME Speed Systems GmbH"
|
|
109
|
-
representative: "Dr. Ada Verkehr"
|
|
110
|
-
address: "Messweg 7, 38100 Braunschweig, Germany"
|
|
111
|
-
noConcurrentApplication: true
|
|
112
|
-
model_family_id: fam-acme-rs180
|
|
113
|
-
model_ids: [mod-acme-rs180-st-a]
|
|
114
|
-
sample_ids: [smp-acme-rs180-001]
|
|
115
|
-
documentation:
|
|
116
|
-
- { name: "Technical documentation", description: "Complete technical file", submitted: true, reference: "TD-TS9000-2026" }
|
|
117
|
-
- { name: "Evidence file format specification", description: "Manufacturer's evidence-file format and security description (R 91-1, 7.3/7.4)", submitted: true }
|
|
118
|
-
submitted_date: "2026-01-15"
|
|
119
|
-
reviewed_date: "2026-02-15"
|
|
120
|
-
reviewer: "Example TL Department 5.2"
|
|
121
|
-
review_notes: "Complete documentation received. Application accepted for type evaluation."
|
|
122
|
-
test_request:
|
|
123
|
-
id: trq-acme-rs180-01
|
|
124
|
-
standard_id: oiml-r91
|
|
125
|
-
request_number: "TRQ-DE-TS-2026-0911-01"
|
|
126
|
-
application_id: app-acme-rs180
|
|
127
|
-
requesting_authority_id: EX1
|
|
128
|
-
assigned_laboratory_id: "21"
|
|
129
|
-
status: COMPLETED
|
|
130
|
-
scheme: A
|
|
131
|
-
issued_date: "2026-03-01"
|
|
132
|
-
issued_by: "Example TL Department 5.2"
|
|
133
|
-
assignments:
|
|
134
|
-
- { id: asg-ts9000-evidence-file-001, form_id: evidence-file, sample_id: smp-acme-rs180-001, model_id: mod-acme-rs180-st-a, status: COMPLETED }
|
|
135
|
-
test_report:
|
|
136
|
-
id: trp-acme-rs180
|
|
137
|
-
standard_id: oiml-r91
|
|
138
|
-
report_number: "ETL-5.2-2026-TR-0911"
|
|
139
|
-
test_request_id: trq-acme-rs180-01
|
|
140
|
-
application_id: app-acme-rs180
|
|
141
|
-
laboratory_id: "21"
|
|
142
|
-
model_family_id: fam-acme-rs180
|
|
143
|
-
model_group_id: grp-acme-rs180-a
|
|
144
|
-
sample_ids: [smp-acme-rs180-001]
|
|
145
|
-
status: ACCEPTED
|
|
146
|
-
evaluator: "Example Test Laboratory"
|
|
147
|
-
submitted_date: "2026-09-15"
|
|
148
|
-
forms:
|
|
149
|
-
- evidence-file
|
|
150
|
-
form_default_result: PASS
|
|
151
|
-
artifact_instances:
|
|
152
|
-
- id: evf-ts9000-0042
|
|
153
|
-
of: enforcement-evidence-file
|
|
154
|
-
produced_at: "2026-09-15T10:14:00Z"
|
|
155
|
-
by: smp-acme-rs180-001
|
|
156
|
-
content:
|
|
157
|
-
measurement_timestamp: { value: "2026-09-15T10:14:00Z" }
|
|
158
|
-
measurement_location: { value: "A12, km 114.2, lane 2 (test site)" }
|
|
159
|
-
measurement_id: { value: "SEQ-2026-09-15-0042" }
|
|
160
|
-
measured_speed: { value: 137, unit: km/h }
|
|
161
|
-
driving_direction: { value: "approaching" }
|
|
162
|
-
speed_limit: { value: 100, unit: km/h }
|
|
163
|
-
type_designation: { value: "RS-180" }
|
|
164
|
-
instrument_serial_number: { value: "TS9000-4815" }
|
|
165
|
-
image_evidence: { value: "evf-2026-09-15-0042.jpg" }
|
|
166
|
-
vehicle_identification_aids: { value: "lane indicator: lane 2; crosshair on the front plate" }
|
|
167
|
-
site_alignment_parameters: { value: "site A12 km 114.2; antenna angle 25 deg; cosine compensation along-the-road" }
|
|
168
|
-
links:
|
|
169
|
-
- asg-ts9000-evidence-file-001
|
|
170
|
-
- trp-acme-rs180
|
|
171
|
-
evaluation:
|
|
172
|
-
id: eva-acme-rs180
|
|
173
|
-
standard_id: oiml-r91
|
|
174
|
-
application_id: app-acme-rs180
|
|
175
|
-
authority_id: EX1
|
|
176
|
-
test_report_ids: [trp-acme-rs180]
|
|
177
|
-
model_id: mod-acme-rs180-st-a
|
|
178
|
-
reviewer_name: "Example TL Department 5.2"
|
|
179
|
-
review_date: "2026-10-01"
|
|
180
|
-
overall_decision: APPROVED
|
|
181
|
-
review_notes: "Evidence-file examination satisfactory; artifact instance conforms to the 7.3 a–l content contract."
|
|
182
|
-
certificate:
|
|
183
|
-
id: crt-acme-rs180
|
|
184
|
-
standard_id: oiml-r91
|
|
185
|
-
model_family_id: fam-acme-rs180
|
|
186
|
-
evaluation_id: eva-acme-rs180
|
|
187
|
-
test_report_ids: [trp-acme-rs180]
|
|
188
|
-
status: ACTIVE
|
|
189
|
-
certificate_number: "R91/2025-A-EX1-26.01"
|
|
190
|
-
scheme: A
|
|
191
|
-
edition_year: 2025
|
|
192
|
-
oiml_member_state: GERMANY
|
|
193
|
-
issue_date: "2026-11-01"
|
|
194
|
-
expiry_date: "2031-11-01"
|
|
195
|
-
periodicity_years: 5
|
|
196
|
-
type_description: "Stationary doppler-radar speed meter for automatic enforcement measurements, metrological class A."
|
|
197
|
-
test_reports:
|
|
198
|
-
- { report_number: "ETL-5.2-2026-TR-0911", date: "2026-09-15", pages: 18 }
|
|
199
|
-
classifications:
|
|
200
|
-
- { label: A, characteristics: { mode_of_use: stationary, working_principle: doppler-radar, triggering: automatic, installation_principle: mobile } }
|
|
201
|
-
json_data:
|
|
202
|
-
standard: "OIML R 91:2025"
|
|
203
|
-
certificate_number: "R91/2025-A-EX1-26.01"
|
|
204
|
-
scheme: A
|
|
205
|
-
# ── Verification pilot (TODO.roadmap/21, gap audit G1) ────────────────
|
|
206
|
-
# One sample lifecycle through the R 91-1, clause 8 verification pathway:
|
|
207
|
-
# a MOVING doppler-radar speed meter (class B) with its type evaluation
|
|
208
|
-
# complete, then INITIAL VERIFICATION (8.2) passed with verdicts and
|
|
209
|
-
# marks (8.2.4) and the securing state set on the sample (7.13) — the
|
|
210
|
-
# verification record rides the new verificationRecords store, the
|
|
211
|
-
# sample carries verification_state VERIFIED + seals. The
|
|
212
|
-
# re-verification triggers of evaluation/verification.yaml (the 1-year
|
|
213
|
-
# validity timer and the 6.15.3 Note 2 tyre-change signal — ego meters
|
|
214
|
-
# are why the pilot subject is a MOVING meter) are proven against this
|
|
215
|
-
# seed by src/__tests__/verification.test.ts: the mpe-stationary verdict
|
|
216
|
-
# below is recomputed by the shared verdict machinery
|
|
217
|
-
# (services/verdict.service.ts over sample.test_context v/v_ref/
|
|
218
|
-
# reference_speed) and must agree byte-for-byte in outcome and fact.
|
|
219
|
-
- name: "EX1 — ACME Speed Instruments RS-500M (verification pilot)"
|
|
220
|
-
id_prefix: sample-r91-vfy
|
|
221
|
-
party:
|
|
222
|
-
laboratory_id: "21"
|
|
223
|
-
authority_id: EX1
|
|
224
|
-
subject:
|
|
225
|
-
manufacturer:
|
|
226
|
-
id: mfr-patrolgauge
|
|
227
|
-
standard_id: oiml-r91
|
|
228
|
-
company: "ACME Speed Instruments BV"
|
|
229
|
-
street: "Radarweg 12"
|
|
230
|
-
city: "Delft"
|
|
231
|
-
postalCode: "2628 AB"
|
|
232
|
-
country: "Netherlands"
|
|
233
|
-
phone: "+31 15 000-00"
|
|
234
|
-
created: "2026-01-20"
|
|
235
|
-
modified: "2026-06-01"
|
|
236
|
-
family:
|
|
237
|
-
id: fam-acme-rs500
|
|
238
|
-
standard_id: oiml-r91
|
|
239
|
-
family_designation: "RS-500"
|
|
240
|
-
manufacturer_id: mfr-patrolgauge
|
|
241
|
-
classification:
|
|
242
|
-
installation_principle: mobile
|
|
243
|
-
working_principle: doppler-radar
|
|
244
|
-
triggering: automatic
|
|
245
|
-
climatic_environment_class: H2
|
|
246
|
-
mechanical_environment_class: M2
|
|
247
|
-
parameters:
|
|
248
|
-
operating_temp_min: { value: -20, unit: degC }
|
|
249
|
-
operating_temp_max: { value: 60, unit: degC }
|
|
250
|
-
created: "2026-01-20"
|
|
251
|
-
modified: "2026-06-01"
|
|
252
|
-
groups:
|
|
253
|
-
- id: grp-acme-rs500-b
|
|
254
|
-
standard_id: oiml-r91
|
|
255
|
-
family_id: fam-acme-rs500
|
|
256
|
-
manufacturer_id: mfr-patrolgauge
|
|
257
|
-
group_label: "B"
|
|
258
|
-
classification: { metrological_class: B }
|
|
259
|
-
created: "2026-01-20"
|
|
260
|
-
modified: "2026-06-01"
|
|
261
|
-
models:
|
|
262
|
-
- id: mod-acme-rs500-mv-b
|
|
263
|
-
standard_id: oiml-r91
|
|
264
|
-
model_designation: "RS-500M (moving, class B)"
|
|
265
|
-
manufacturer_id: mfr-patrolgauge
|
|
266
|
-
family_id: fam-acme-rs500
|
|
267
|
-
group_id: grp-acme-rs500-b
|
|
268
|
-
classification:
|
|
269
|
-
mode_of_use: moving
|
|
270
|
-
cosine_compensation: along-the-road
|
|
271
|
-
created: "2026-01-20"
|
|
272
|
-
modified: "2026-06-01"
|
|
273
|
-
samples:
|
|
274
|
-
- id: smp-acme-rs500-001
|
|
275
|
-
standard_id: oiml-r91
|
|
276
|
-
serial_number: "PG500M-0007"
|
|
277
|
-
model_id: mod-acme-rs500-mv-b
|
|
278
|
-
manufacturer_id: mfr-patrolgauge
|
|
279
|
-
application_id: app-acme-rs500
|
|
280
|
-
status: TESTING_COMPLETE
|
|
281
|
-
condition: NEW
|
|
282
|
-
custody_events:
|
|
283
|
-
- { date: "2026-03-10", type: RECEIVED, actor: "Example Test Laboratory", notes: "Sample received from manufacturer" }
|
|
284
|
-
- { date: "2026-09-20", type: TESTING_COMPLETE, actor: "Example Test Laboratory", notes: "Type evaluation examinations complete" }
|
|
285
|
-
test_context:
|
|
286
|
-
# The verification field accuracy test's bound facts (8.2.2) —
|
|
287
|
-
# the verdict service recomputes the mpe-stationary verdict
|
|
288
|
-
# from these (v − v_ref = 1.2 km/h ≤ 3 km/h MPE at 100 km/h).
|
|
289
|
-
v: { value: 101.2, unit: km/h }
|
|
290
|
-
v_ref: { value: 100, unit: km/h }
|
|
291
|
-
reference_speed: { value: 100, unit: km/h }
|
|
292
|
-
verification_state: VERIFIED
|
|
293
|
-
seals:
|
|
294
|
-
- id: seal-adjustment-pg500-001
|
|
295
|
-
protects: "adjustment means (R 91-1, 7.13 a)"
|
|
296
|
-
means: "mechanical seal"
|
|
297
|
-
location: "housing, adjustment screw cover"
|
|
298
|
-
status: INTACT
|
|
299
|
-
set_by: sample-r91-vfy-ver-initial
|
|
300
|
-
set_at: "2026-10-01T09:30:00Z"
|
|
301
|
-
created: "2026-01-20"
|
|
302
|
-
modified: "2026-10-01"
|
|
303
|
-
application:
|
|
304
|
-
id: app-acme-rs500
|
|
305
|
-
standard_id: oiml-r91
|
|
306
|
-
application_number: "DE-PG-2026-1017"
|
|
307
|
-
date_of_application: "2026-01-20"
|
|
308
|
-
status: ACCEPTED
|
|
309
|
-
applicant:
|
|
310
|
-
company: "ACME Speed Instruments BV"
|
|
311
|
-
representative: "Ir. Sanne Visser"
|
|
312
|
-
address: "Radarweg 12, 2628 AB Delft, Netherlands"
|
|
313
|
-
noConcurrentApplication: true
|
|
314
|
-
model_family_id: fam-acme-rs500
|
|
315
|
-
model_ids: [mod-acme-rs500-mv-b]
|
|
316
|
-
sample_ids: [smp-acme-rs500-001]
|
|
317
|
-
documentation:
|
|
318
|
-
- { name: "Technical documentation", description: "Complete technical file incl. ego-meter description (6.15.3)", submitted: true, reference: "TD-PG500M-2026" }
|
|
319
|
-
- { name: "Evidence file format specification", description: "Manufacturer's evidence-file format and security description (R 91-1, 7.3/7.4)", submitted: true }
|
|
320
|
-
submitted_date: "2026-01-20"
|
|
321
|
-
reviewed_date: "2026-02-20"
|
|
322
|
-
reviewer: "Example TL Department 5.2"
|
|
323
|
-
review_notes: "Complete documentation received. Application accepted for type evaluation."
|
|
324
|
-
test_request:
|
|
325
|
-
id: trq-acme-rs500-01
|
|
326
|
-
standard_id: oiml-r91
|
|
327
|
-
request_number: "TRQ-DE-PG-2026-1017-01"
|
|
328
|
-
application_id: app-acme-rs500
|
|
329
|
-
requesting_authority_id: EX1
|
|
330
|
-
assigned_laboratory_id: "21"
|
|
331
|
-
status: COMPLETED
|
|
332
|
-
scheme: A
|
|
333
|
-
issued_date: "2026-03-10"
|
|
334
|
-
issued_by: "Example TL Department 5.2"
|
|
335
|
-
assignments:
|
|
336
|
-
- { id: asg-pg500-evidence-file-001, form_id: evidence-file, sample_id: smp-acme-rs500-001, model_id: mod-acme-rs500-mv-b, status: COMPLETED }
|
|
337
|
-
test_report:
|
|
338
|
-
id: trp-acme-rs500
|
|
339
|
-
standard_id: oiml-r91
|
|
340
|
-
report_number: "ETL-5.2-2026-TR-1017"
|
|
341
|
-
test_request_id: trq-acme-rs500-01
|
|
342
|
-
application_id: app-acme-rs500
|
|
343
|
-
laboratory_id: "21"
|
|
344
|
-
model_family_id: fam-acme-rs500
|
|
345
|
-
model_group_id: grp-acme-rs500-b
|
|
346
|
-
sample_ids: [smp-acme-rs500-001]
|
|
347
|
-
status: ACCEPTED
|
|
348
|
-
evaluator: "Example Test Laboratory"
|
|
349
|
-
submitted_date: "2026-09-20"
|
|
350
|
-
forms:
|
|
351
|
-
- evidence-file
|
|
352
|
-
form_default_result: PASS
|
|
353
|
-
artifact_instances:
|
|
354
|
-
- id: evf-pg500-0007
|
|
355
|
-
of: enforcement-evidence-file
|
|
356
|
-
produced_at: "2026-09-20T14:02:00Z"
|
|
357
|
-
by: smp-acme-rs500-001
|
|
358
|
-
content:
|
|
359
|
-
measurement_timestamp: { value: "2026-09-20T14:02:00Z" }
|
|
360
|
-
measurement_location: { value: "A13, km 88.4, lane 1 (test site)" }
|
|
361
|
-
measurement_id: { value: "SEQ-2026-09-20-0007" }
|
|
362
|
-
measured_speed: { value: 128, unit: km/h }
|
|
363
|
-
driving_direction: { value: "approaching" }
|
|
364
|
-
speed_limit: { value: 100, unit: km/h }
|
|
365
|
-
type_designation: { value: "RS-500M" }
|
|
366
|
-
instrument_serial_number: { value: "PG500M-0007" }
|
|
367
|
-
image_evidence: { value: "evf-2026-09-20-0007.jpg" }
|
|
368
|
-
vehicle_identification_aids: { value: "lane indicator: lane 1; crosshair on the front plate" }
|
|
369
|
-
site_alignment_parameters: { value: "site A13 km 88.4; antenna angle 25 deg; cosine compensation along-the-road" }
|
|
370
|
-
recorded_ego_speed: { value: 97.5, unit: km/h }
|
|
371
|
-
links:
|
|
372
|
-
- asg-pg500-evidence-file-001
|
|
373
|
-
- trp-acme-rs500
|
|
374
|
-
evaluation:
|
|
375
|
-
id: eva-acme-rs500
|
|
376
|
-
standard_id: oiml-r91
|
|
377
|
-
application_id: app-acme-rs500
|
|
378
|
-
authority_id: EX1
|
|
379
|
-
test_report_ids: [trp-acme-rs500]
|
|
380
|
-
model_id: mod-acme-rs500-mv-b
|
|
381
|
-
reviewer_name: "Example TL Department 5.2"
|
|
382
|
-
review_date: "2026-09-25"
|
|
383
|
-
overall_decision: APPROVED
|
|
384
|
-
review_notes: "Type evaluation complete; approved for moving enforcement measurements, class B."
|
|
385
|
-
certificate:
|
|
386
|
-
id: crt-acme-rs500
|
|
387
|
-
standard_id: oiml-r91
|
|
388
|
-
model_family_id: fam-acme-rs500
|
|
389
|
-
evaluation_id: eva-acme-rs500
|
|
390
|
-
test_report_ids: [trp-acme-rs500]
|
|
391
|
-
status: ACTIVE
|
|
392
|
-
certificate_number: "R91/2025-A-EX1-26.02"
|
|
393
|
-
scheme: A
|
|
394
|
-
edition_year: 2025
|
|
395
|
-
oiml_member_state: GERMANY
|
|
396
|
-
issue_date: "2026-09-30"
|
|
397
|
-
expiry_date: "2031-09-30"
|
|
398
|
-
periodicity_years: 5
|
|
399
|
-
type_description: "Moving doppler-radar speed meter with ego speed meter for patrol-vehicle enforcement, metrological class B."
|
|
400
|
-
test_reports:
|
|
401
|
-
- { report_number: "ETL-5.2-2026-TR-1017", date: "2026-09-20", pages: 21 }
|
|
402
|
-
classifications:
|
|
403
|
-
- { label: B, characteristics: { mode_of_use: moving, working_principle: doppler-radar, triggering: automatic, installation_principle: mobile } }
|
|
404
|
-
json_data:
|
|
405
|
-
standard: "OIML R 91:2025"
|
|
406
|
-
certificate_number: "R91/2025-A-EX1-26.02"
|
|
407
|
-
scheme: A
|
|
408
|
-
verification:
|
|
409
|
-
records:
|
|
410
|
-
# ── Initial verification (R 91-1, 8.2), passed and marked ─────
|
|
411
|
-
# Tests (8.2.2): the field accuracy tests for a moving meter — the
|
|
412
|
-
# moving field test and the ego-meter field test (a subset of the
|
|
413
|
-
# initial-verification process's test set). Verdicts over the
|
|
414
|
-
# 8.2.3 assessment scope; the mpe-stationary verdict is recomputed
|
|
415
|
-
# by the shared verdict machinery in verification.test.ts.
|
|
416
|
-
- id: sample-r91-vfy-ver-initial
|
|
417
|
-
kind: initial
|
|
418
|
-
process_id: initial-verification
|
|
419
|
-
status: MARKED
|
|
420
|
-
outcome: pass
|
|
421
|
-
# Seeded verdicts cover the testable scope of 8.2.3(a) (the two field
|
|
422
|
-
# accuracy tests): mpe-stationary (re-derived by verification.test.ts)
|
|
423
|
-
# and mpe-moving (asserted structurally). The 8.2.3(b) inspection items
|
|
424
|
-
# (ego-speed, sealing-inscriptions) are inspection-verified, not
|
|
425
|
-
# test-verdicts — deliberately out of the seeded verdict list.
|
|
426
|
-
tests:
|
|
427
|
-
- /conf/field/moving-field-test
|
|
428
|
-
- /conf/field/ego-field-test
|
|
429
|
-
verdicts:
|
|
430
|
-
- requirement_id: /req/metrological/mpe-stationary
|
|
431
|
-
fact: { name: speed_error, value: { value: 1.2, unit: km/h }, source: verdict-registry }
|
|
432
|
-
limit:
|
|
433
|
-
verdict: speed_error
|
|
434
|
-
op: lte
|
|
435
|
-
limit: "ocl{lookupMPE(reference_speed, 'stationary', 1.0)}"
|
|
436
|
-
inputs: { v: 101.2, v_ref: 100, reference_speed: 100 }
|
|
437
|
-
outcome: pass
|
|
438
|
-
modality: shall
|
|
439
|
-
- requirement_id: /req/category-moving/mpe-moving
|
|
440
|
-
fact: { name: speed_error, value: { value: 1.2, unit: km/h }, source: verdict-registry }
|
|
441
|
-
limit:
|
|
442
|
-
expression: "ocl{abs(speed_error) <= lookupMPE(reference_speed, metrological_class, 1.0)}"
|
|
443
|
-
uses: [ speed_error, reference_speed, metrological_class ]
|
|
444
|
-
inputs: { speed_error: 1.2, reference_speed: 100, metrological_class: B }
|
|
445
|
-
outcome: pass
|
|
446
|
-
modality: shall
|
|
447
|
-
marks:
|
|
448
|
-
- id: mark-de-2026-0042
|
|
449
|
-
mark: "DE verification mark 2026"
|
|
450
|
-
location: "housing front plate (R 91-1, 7.14)"
|
|
451
|
-
clause: "8.2.4"
|
|
452
|
-
applied_at: "2026-10-01T09:30:00Z"
|
|
453
|
-
applied_by: "Example TL Verification Officer"
|
|
454
|
-
laboratory_id: "21"
|
|
455
|
-
authority: "Example TL (metrological authority)"
|
|
456
|
-
equipment:
|
|
457
|
-
- { id: ref-speed-meter-01, cal_cert: "ETL-Cal-2026-1187" }
|
|
458
|
-
assessed_by: "Example TL Verification Officer"
|
|
459
|
-
assessed_date: "2026-10-01"
|
|
460
|
-
valid_until: "2027-10-01"
|
|
461
|
-
certificate_number: "DE-VER-2026-0042"
|
|
462
|
-
trigger_event: scheduled
|
|
463
|
-
created: "2026-10-01"
|
|
464
|
-
modified: "2026-10-01"
|