@oimlsmart/primmel-packages 0.5.0 → 0.7.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-cs/execution/test-report-checklist.prl +134 -0
- package/oiml-cs/framework/documents.prl +2 -2
- package/oiml-cs/package.primmel +1 -1
- package/oiml-r129/.primmel-allowlist.prl +30 -0
- package/oiml-r129/evaluation/approvals.prl +48 -0
- package/oiml-r129/evaluation/gateways.prl +31 -0
- package/oiml-r129/evaluation/processes.prl +205 -24
- package/oiml-r129/evaluation/workflow.prl +25 -15
- package/oiml-r129/execution/test-report-checklist.prl +20 -0
- package/oiml-r129/package.primmel +1 -1
- package/oiml-r144/.primmel-allowlist.prl +36 -0
- package/oiml-r144/evaluation/approvals.prl +48 -0
- package/oiml-r144/evaluation/gateways.prl +36 -0
- package/oiml-r144/evaluation/processes.prl +205 -24
- package/oiml-r144/evaluation/workflow.prl +25 -15
- package/oiml-r144/execution/test-report-checklist.prl +20 -0
- package/oiml-r144/package.primmel +1 -1
- package/oiml-r60/.primmel-allowlist.prl +42 -0
- package/oiml-r60/evaluation/approvals.prl +48 -0
- package/oiml-r60/evaluation/gateways.prl +30 -0
- package/oiml-r60/evaluation/processes.prl +205 -24
- package/oiml-r60/evaluation/workflow.prl +25 -15
- package/oiml-r60/execution/test-report-checklist.prl +20 -0
- package/oiml-r60/package.primmel +1 -1
- package/oiml-r91/.primmel-allowlist.prl +42 -0
- package/oiml-r91/evaluation/approvals.prl +48 -0
- package/oiml-r91/evaluation/gateways.prl +34 -0
- package/oiml-r91/evaluation/processes.prl +205 -24
- package/oiml-r91/evaluation/workflow.prl +25 -15
- package/oiml-r91/execution/test-report-checklist.prl +23 -0
- package/oiml-r91/package.primmel +1 -1
- package/package.json +2 -2
|
@@ -1,48 +1,58 @@
|
|
|
1
1
|
process application {
|
|
2
|
-
|
|
2
|
+
name "Type Evaluation Application"
|
|
3
|
+
summary "Applicant (manufacturer, distributor, or end user) submits Application declaring the instrument model family, the requested scope (matrix of model-family members per the Recommendation's specimen-selection rules), requested ANR countries, scheme (A/B), and supporting documentation."
|
|
3
4
|
actor applicant
|
|
4
|
-
|
|
5
|
-
validate_provision { applicant_info model_family_matrix documentation }
|
|
5
|
+
phase intake
|
|
6
6
|
guard "Application.status = SUBMITTED"
|
|
7
7
|
guard "Application.model_family_id is not null OR Application.model_ids.length >= 1"
|
|
8
|
+
validate_provision { applicant_info model_family_matrix documentation }
|
|
9
|
+
output { Application }
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
process test-request-dispatch {
|
|
11
|
-
|
|
13
|
+
name "Test request dispatch"
|
|
14
|
+
summary "IA selects one or more Test Laboratories (by accreditation scope, equipment capability, capacity) and issues a TestRequest to each, specifying which samples are shipped, which of the Recommendation's Test Report Forms the lab must complete, and the test conditions."
|
|
12
15
|
actor issuing-authority
|
|
13
|
-
|
|
14
|
-
validate_provision { Application MeasuringInstrumentSample TestLaboratory }
|
|
16
|
+
phase dispatch
|
|
15
17
|
guard "Each TestRequest references >= 1 MeasuringInstrumentSample"
|
|
16
18
|
guard "Each TestRequest.required_forms subset of R 60-3 form identifiers"
|
|
17
19
|
guard "TestRequest.assigned_laboratory_id is accredited for the requested accuracy classes"
|
|
20
|
+
validate_provision { Application MeasuringInstrumentSample TestLaboratory }
|
|
21
|
+
output { TestRequest }
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
process test-performance {
|
|
21
|
-
|
|
25
|
+
name "Test performance and report"
|
|
26
|
+
summary "Test Lab accepts the TestRequest (which implies physical sample receipt), performs the tests per the Recommendation's test procedures, fills in the required Test Report Forms (one FormInstance per sample per form), and issues a TestReport that bundles all FormInstances."
|
|
22
27
|
actor test-laboratory
|
|
23
|
-
|
|
24
|
-
validate_provision { TestRequest MeasuringInstrumentSample }
|
|
28
|
+
phase testing
|
|
25
29
|
guard "TestReport.test_request_id references the TestRequest"
|
|
26
30
|
guard "TestReport contains one FormInstance per (requiredForm × sample) pair"
|
|
27
31
|
guard "TestReport.status = SUBMITTED"
|
|
32
|
+
validate_provision { TestRequest MeasuringInstrumentSample }
|
|
33
|
+
output { "TestReport containing FormInstance" }
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
process evaluation {
|
|
31
|
-
|
|
37
|
+
name "Evaluation and determination"
|
|
38
|
+
summary "IA staff review every submitted TestReport. For each TestReport, a TestReportDetermination is recorded (ACCEPTED / REJECTED / CONDITIONALLY_ACCEPTED). For each FormInstance, a FormDetermination is recorded. The aggregate of all TestReportDeterminations determines the EvaluationReport overall_decision. Finalization requires every TestReport in test_report_ids[] to have a corresponding determination."
|
|
32
39
|
actor issuing-authority
|
|
33
|
-
|
|
34
|
-
validate_provision { TestReport FormInstance }
|
|
40
|
+
phase evaluation
|
|
35
41
|
guard "All TestReport entries in test_report_ids[] have a TestReportDetermination"
|
|
36
42
|
guard "EvaluationReport.status = ALL_TR_REVIEWED before finalization"
|
|
37
43
|
guard "overall_decision derivable from test_report_determinations[]"
|
|
44
|
+
validate_provision { TestReport FormInstance }
|
|
45
|
+
output { "EvaluationReport containing FormDetermination" TestReportDetermination }
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
process certificate-issuance {
|
|
41
|
-
|
|
49
|
+
name "OIML Certificate of Conformity"
|
|
50
|
+
summary "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
|
|
42
51
|
actor issuing-authority
|
|
43
|
-
|
|
44
|
-
validate_provision { EvaluationReport Application.model_family_id }
|
|
52
|
+
phase issuance
|
|
45
53
|
guard "EvaluationReport.overall_decision = APPROVED"
|
|
46
54
|
guard "Certificate.scope matches Application scope (model family + approved members)"
|
|
55
|
+
validate_provision { EvaluationReport Application.model_family_id }
|
|
56
|
+
output { Certificate }
|
|
47
57
|
}
|
|
48
58
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# OIML R 60 — OVERLAY on the OIML-CS test-report checklist (TODO.roadmap/13/15).
|
|
2
|
+
# The R 60-bound source/validation strings of the four checklist entries that
|
|
3
|
+
# name rec forms (scalar override per entry — the kernel's B3.10 deep merge).
|
|
4
|
+
# Kernel-native overlay (overlay true): NOT a standalone definition — the
|
|
5
|
+
# composer merges these scalars onto the oiml-cs base register at load time.
|
|
6
|
+
test_report_checklist oiml-cs-trf {
|
|
7
|
+
overlay true
|
|
8
|
+
entry sample_identification {
|
|
9
|
+
validation "form_contains('04-07-sample-selection')"
|
|
10
|
+
}
|
|
11
|
+
entry test_facility {
|
|
12
|
+
source "04-10 test-equipment forms"
|
|
13
|
+
}
|
|
14
|
+
entry instrument_setup {
|
|
15
|
+
validation "form_contains('04-05-load-cell-type-info')"
|
|
16
|
+
}
|
|
17
|
+
entry adjustments {
|
|
18
|
+
source "04-07-sample-selection form (§4.8)"
|
|
19
|
+
}
|
|
20
|
+
}
|
package/oiml-r60/package.primmel
CHANGED
|
@@ -6,7 +6,7 @@ package {
|
|
|
6
6
|
editions { 2021 2017 2000 1996 }
|
|
7
7
|
baseUrn "urn:oiml:pub:r:60:2021"
|
|
8
8
|
uses { iso-iec-17000 iso-iec-17065 iso-iec-17025 iso-iec-17067 oiml-cs oiml-smart-core oiml-smart-module-specimen-governance }
|
|
9
|
-
requires { core subject-chain-entities party-entities workflow-entities evaluation-skeleton iso-iec-17000 ca-terminology-17000 iso-iec-17025 lab-requirements-17025 ca-terminology-17025 iso-iec-17065 cb-requirements-17065 ca-terminology-17065 iso-iec-17067 scheme-content-requirements-17067 ca-terminology-17067 oiml-cs cs-process-requirements cs-abstract-processes cs-certificate-requirements cs-framework-participants cs-framework-schemes cs-framework-declarations cs-framework-documents cs-framework-governance cs-document-pd-03 cs-document-pd-04 cs-document-pd-02 cs-document-pd-01 cs-document-pd-06 cs-document-pd-07 cs-document-pd-08 cs-document-pd-09 cs-document-cid-01 cs-document-od-01 cs-document-od-02 sample-selection-rules eut-continuity-contract test-execution-entities }
|
|
9
|
+
requires { core subject-chain-entities party-entities workflow-entities evaluation-skeleton iso-iec-17000 ca-terminology-17000 iso-iec-17025 lab-requirements-17025 ca-terminology-17025 iso-iec-17065 cb-requirements-17065 ca-terminology-17065 iso-iec-17067 scheme-content-requirements-17067 ca-terminology-17067 oiml-cs cs-process-requirements cs-abstract-processes cs-trf-checklist cs-certificate-requirements cs-framework-participants cs-framework-schemes cs-framework-declarations cs-framework-documents cs-framework-governance cs-document-pd-03 cs-document-pd-04 cs-document-pd-02 cs-document-pd-01 cs-document-pd-06 cs-document-pd-07 cs-document-pd-08 cs-document-pd-09 cs-document-cid-01 cs-document-od-01 cs-document-od-02 sample-selection-rules eut-continuity-contract test-execution-entities }
|
|
10
10
|
supersedes { urn:oiml:pub:r:60:2017 }
|
|
11
11
|
validity { from 2021-01-01 }
|
|
12
12
|
status current
|
|
@@ -1,3 +1,45 @@
|
|
|
1
1
|
# .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
|
|
2
2
|
coverage_budget 2 "Re-pinned by task 06-v2 (the R 91-3/-4 report forms — .superpowers/sdd/task-r91-report-forms-report.md): the R 91-3 test-report form set landed on the r144 sec-3-report idiom (70 new forms: the page-header, the identification/general sections and the section-16 conclusion tables, every report test section 1.1–6.5 with its acceptance criterion, and the closing remarks) plus the R 91-4 type-evaluation report set (8 forms), so 61 of the 63 first-landing C51 findings burned down. The 2 remaining are honest residuals with no R 91-3 report section: /conf/examinations/durability-assessment (R 91-1, 8.1.4 durability — evaluated over the type's life, not recorded on a report page) and /conf/examinations/redundancy-review (R 91-1, 6.20 measuring-process redundancy review — likewise a design review, no report section). Burn-down history: 63 (C4 landing) → 2 (task 06-v2). The budget caps the C51 findings EXACTLY and only burns down."
|
|
3
3
|
text_coverage_budget 98 "Re-pinned by task 06-v2 (the R 91-3/-4 report forms — .superpowers/sdd/task-r91-report-forms-report.md): 98 uncovered normative-classified sentences, all in R 91-1 (55) and R 91-2 (43) — R 91-3 and R 91-4 are FULLY covered (0 uncovered each; their 49 first-landing findings bound as the report forms landed). The measurement: 372/470 = 79.1% covered raw (the un-trap surfaced one normative-modal sentence in R 91-4 — the simulator-documentation 'should be attached' — moving the normative universe 469 → 470), 79.3% gated with the single remaining frame-prose pin of sources-prd/coverage.yaml (the R 91-3/-4 introduction pins retired stale as their clauses bound). Burn-down history: 159 (C4 landing) → 160 (task 07's honest re-measure over the clean compile) → 98 (task 06-v2). The budget caps the C71 findings EXACTLY and only burns down: new bindings (or adjudicated allowances) shrink it; growth fails C72."
|
|
4
|
+
allowlist_entry {
|
|
5
|
+
rule C142
|
|
6
|
+
match "exclusive_gateway field_test_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
7
|
+
reason "Routing markers, not process ids: conduct_stationary_field_test / conduct_moving_field_tests / conduct_both_field_tests name the mode-of-use branches (stationary / moving / dual-mode) the field-test setup reads from the generated routing cascade."
|
|
8
|
+
audit_ref "TODO.roadmap/40"
|
|
9
|
+
}
|
|
10
|
+
allowlist_entry {
|
|
11
|
+
rule C142
|
|
12
|
+
match "exclusive_gateway measurement_count_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
13
|
+
reason "Routing markers, not process ids: field_test_500 / field_test_100 name the measurement-count floor branches (R 91-2, 4.4: >= 500 automatic / >= 100 manual)."
|
|
14
|
+
audit_ref "TODO.roadmap/40"
|
|
15
|
+
}
|
|
16
|
+
allowlist_entry {
|
|
17
|
+
rule C142
|
|
18
|
+
match "exclusive_gateway category_tests_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
19
|
+
reason "Routing markers, not process ids: the five working_principle branches (doppler-radar / range-finding / average-speed / fixed-distance / image-based) name the R 91-2, 7.1–7.5 category test sets."
|
|
20
|
+
audit_ref "TODO.roadmap/40"
|
|
21
|
+
}
|
|
22
|
+
allowlist_entry {
|
|
23
|
+
rule C142
|
|
24
|
+
match "exclusive_gateway test_result_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
25
|
+
reason "Routing markers, not process ids: compile_test_report_pass / compile_test_report_fail name the verdict branches of test-report compilation."
|
|
26
|
+
audit_ref "TODO.roadmap/40"
|
|
27
|
+
}
|
|
28
|
+
allowlist_entry {
|
|
29
|
+
rule C142
|
|
30
|
+
match "exclusive_gateway mtl_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
31
|
+
reason "Routing markers, not process ids: accept_mtl_report / require_independent_tl name the manufacturer-test-lab acceptability branches (Scheme A)."
|
|
32
|
+
audit_ref "TODO.roadmap/40"
|
|
33
|
+
}
|
|
34
|
+
allowlist_entry {
|
|
35
|
+
rule C142
|
|
36
|
+
match "exclusive_gateway measurement_count_gateway: no default edge — the first-match-wins cascade needs its catch-all (gateway-edges-resolve)"
|
|
37
|
+
reason "The conditions are EXHAUSTIVE over the triggering dimension domain (automatic/manual — model/instrument.yaml): both values carry an edge, so a default edge could never fire."
|
|
38
|
+
audit_ref "TODO.roadmap/40"
|
|
39
|
+
}
|
|
40
|
+
allowlist_entry {
|
|
41
|
+
rule C142
|
|
42
|
+
match "exclusive_gateway category_tests_gateway: no default edge — the first-match-wins cascade needs its catch-all (gateway-edges-resolve)"
|
|
43
|
+
reason "The conditions are EXHAUSTIVE over the working_principle dimension domain (doppler-radar, range-finding, fixed-distance, image-based, average-speed — model/instrument.yaml): all five values carry an edge, so a default edge could never fire."
|
|
44
|
+
audit_ref "TODO.roadmap/40"
|
|
45
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
approval ia_accept_application {
|
|
2
|
+
name "IA Accepts Application"
|
|
3
|
+
actor issuing_authority
|
|
4
|
+
approve_by responsible_person_ia
|
|
5
|
+
approval_record { applications }
|
|
6
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
approval tl_authorize_test_report {
|
|
10
|
+
name "TL Authorizes Test Report"
|
|
11
|
+
actor test_laboratory
|
|
12
|
+
approve_by responsible_person_tl
|
|
13
|
+
approval_record { testReports }
|
|
14
|
+
source { doc "PD-05 §4.4.3 r" clause "" }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
approval ia_approve_evaluation_report {
|
|
18
|
+
name "IA Approves Evaluation Report"
|
|
19
|
+
actor issuing_authority
|
|
20
|
+
approve_by responsible_person_ia
|
|
21
|
+
approval_record { evaluationReports }
|
|
22
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
approval ia_sign_certificate {
|
|
26
|
+
name "IA Signs OIML Certificate"
|
|
27
|
+
actor issuing_authority
|
|
28
|
+
approve_by responsible_person_ia
|
|
29
|
+
approval_record { certificates }
|
|
30
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
approval biml_register_certificate {
|
|
34
|
+
name "BIML Registers Certificate"
|
|
35
|
+
actor biml
|
|
36
|
+
approve_by biml
|
|
37
|
+
approval_record { certificates }
|
|
38
|
+
source { doc "PD-05 §6" clause "" }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
approval ia_approve_revision {
|
|
42
|
+
name "IA Approves Certificate Revision"
|
|
43
|
+
actor issuing_authority
|
|
44
|
+
approve_by responsible_person_ia
|
|
45
|
+
approval_record { certificateAnnexes }
|
|
46
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
47
|
+
}
|
|
48
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
exclusive_gateway field_test_gateway {
|
|
2
|
+
label "Determine Required Metrological Field Tests"
|
|
3
|
+
edge conduct_stationary_field_test { condition "[mode_of_use] in ['stationary']" label "Stationary field test (R 91-2, 4)" }
|
|
4
|
+
edge conduct_moving_field_tests { condition "[mode_of_use] in ['moving']" label "Moving field test + ego field test (R 91-2, 7.7.1/7.7.2)" }
|
|
5
|
+
edge conduct_both_field_tests { condition default label "Dual-mode: stationary and moving programmes" }
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
exclusive_gateway measurement_count_gateway {
|
|
9
|
+
label "Determine Field-Test Measurement Count Floor"
|
|
10
|
+
edge field_test_500 { condition "[triggering] in ['automatic']" label ">= 500 valid measurements (automatic)" }
|
|
11
|
+
edge field_test_100 { condition "[triggering] in ['manual']" label ">= 100 valid measurements (manual)" }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exclusive_gateway category_tests_gateway {
|
|
15
|
+
label "Determine Category-Specific Tests"
|
|
16
|
+
edge doppler_radar_tests { condition "[working_principle] in ['doppler-radar']" label "Doppler-radar tests (R 91-2, 7.1)" }
|
|
17
|
+
edge range_finding_tests { condition "[working_principle] in ['range-finding']" label "Range-finding tests (R 91-2, 7.2)" }
|
|
18
|
+
edge average_speed_tests { condition "[working_principle] in ['average-speed']" label "Average-speed + inherited fixed-distance tests (R 91-2, 7.3/7.4)" }
|
|
19
|
+
edge fixed_distance_tests { condition "[working_principle] in ['fixed-distance']" label "Fixed-distance tests (R 91-2, 7.4)" }
|
|
20
|
+
edge image_based_tests { condition "[working_principle] in ['image-based']" label "Image-based tests (R 91-2, 7.5)" }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exclusive_gateway test_result_gateway {
|
|
24
|
+
label "Test Result Determination"
|
|
25
|
+
edge compile_test_report_pass { condition "every([within_mpe]) = true" label "All tests pass" }
|
|
26
|
+
edge compile_test_report_fail { condition default label "One or more tests fail (6.21: presumed non-compliant)" }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exclusive_gateway mtl_gateway {
|
|
30
|
+
label "Manufacturer Test Lab Routing"
|
|
31
|
+
edge accept_mtl_report { condition "[lab_kind] = 'manufacturer_test_lab' and [scheme] = 'A'" label "Accept MTL results (Scheme A)" }
|
|
32
|
+
edge require_independent_tl { condition default label "Independent TL required" }
|
|
33
|
+
}
|
|
34
|
+
|
|
@@ -1,152 +1,333 @@
|
|
|
1
1
|
process submit_application {
|
|
2
|
+
name "Submit Type Evaluation Application"
|
|
2
3
|
actor applicant
|
|
4
|
+
modality shall
|
|
5
|
+
reference_data_registry { measuringInstrumentModels manufacturers }
|
|
3
6
|
output { applications }
|
|
4
|
-
|
|
7
|
+
executor actor
|
|
8
|
+
source { doc "PD-05 §4.1" clause "" }
|
|
5
9
|
}
|
|
6
10
|
|
|
7
11
|
process review_application {
|
|
12
|
+
name "Review Application"
|
|
8
13
|
actor issuing_authority
|
|
14
|
+
modality shall
|
|
15
|
+
reference_data_registry { applications }
|
|
9
16
|
validate_provision { /req/cs/application-completeness }
|
|
10
17
|
output { applications }
|
|
11
|
-
|
|
18
|
+
executor actor
|
|
19
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
12
20
|
}
|
|
13
21
|
|
|
14
22
|
process accept_application {
|
|
23
|
+
name "Accept Application and Notify"
|
|
15
24
|
actor issuing_authority
|
|
25
|
+
modality shall
|
|
16
26
|
validate_provision { /req/cs/fee-estimate /req/cs/sample-count }
|
|
17
27
|
output { applications }
|
|
18
|
-
|
|
28
|
+
executor actor
|
|
29
|
+
source { doc "PD-05 §4.2.4" clause "" }
|
|
19
30
|
}
|
|
20
31
|
|
|
21
32
|
process reject_application {
|
|
33
|
+
name "Reject Application with Reason"
|
|
22
34
|
actor issuing_authority
|
|
35
|
+
modality shall
|
|
23
36
|
validate_provision { /req/cs/rejection-reason }
|
|
24
37
|
output { applications }
|
|
25
|
-
|
|
38
|
+
executor actor
|
|
39
|
+
source { doc "PD-05 §4.2.2" clause "" }
|
|
26
40
|
}
|
|
27
41
|
|
|
28
42
|
process conduct_tests {
|
|
43
|
+
name "Conduct Type Evaluation Tests"
|
|
29
44
|
actor test_laboratory
|
|
45
|
+
modality shall
|
|
46
|
+
machine_steps { verdict_computation }
|
|
47
|
+
reference_data_registry { applications measuringInstrumentModels }
|
|
30
48
|
validate_provision { /req/metrological/mpe-stationary /req/metrological/linearity-limit /req/category-moving/mpe-moving /req/category-moving/ego-speed /req/metrological/disturbances /req/metrological/influence-quantities }
|
|
49
|
+
validate_measurement { "every([within_mpe]) = true" }
|
|
31
50
|
output { testReports formInstances }
|
|
32
|
-
|
|
51
|
+
executor actor
|
|
52
|
+
source { doc "PD-05 §4.3" clause "" }
|
|
33
53
|
}
|
|
34
54
|
|
|
35
55
|
process compile_test_report {
|
|
56
|
+
name "Compile OIML Test Report"
|
|
36
57
|
actor test_laboratory
|
|
58
|
+
modality shall
|
|
37
59
|
validate_provision { /req/cs/test-report-18-elements }
|
|
60
|
+
validate_measurement { "[completed_forms].count = [required_forms].count" }
|
|
38
61
|
output { testReports }
|
|
39
|
-
|
|
62
|
+
executor actor
|
|
63
|
+
source { doc "PD-05 §4.4" clause "" }
|
|
40
64
|
}
|
|
41
65
|
|
|
42
66
|
process compile_evaluation_report {
|
|
67
|
+
name "Compile Type Evaluation Report"
|
|
43
68
|
actor issuing_authority
|
|
69
|
+
modality shall
|
|
70
|
+
machine_steps { evaluation_aggregation }
|
|
71
|
+
reference_data_registry { testReports formInstances applications }
|
|
44
72
|
validate_provision { /req/cs/evaluation-report-contents }
|
|
73
|
+
validate_measurement { "[test_report_checklist_coverage] >= 1.0" }
|
|
45
74
|
output { evaluationReports }
|
|
46
|
-
|
|
75
|
+
executor actor
|
|
76
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
47
77
|
}
|
|
48
78
|
|
|
49
79
|
process issue_certificate {
|
|
80
|
+
name "Issue OIML Certificate"
|
|
50
81
|
actor issuing_authority
|
|
82
|
+
modality shall
|
|
83
|
+
machine_steps { certificate_characteristics_derivation }
|
|
84
|
+
reference_data_registry { evaluationReports }
|
|
51
85
|
validate_provision { /req/cs/certificate-requirements }
|
|
52
86
|
output { certificates }
|
|
53
|
-
|
|
87
|
+
executor actor
|
|
88
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
54
89
|
}
|
|
55
90
|
|
|
56
91
|
process register_certificate {
|
|
92
|
+
name "Register Certificate with BIML"
|
|
57
93
|
actor biml
|
|
94
|
+
modality shall
|
|
58
95
|
validate_provision { /req/cs/biml-registration }
|
|
59
96
|
output { certificates }
|
|
60
|
-
|
|
97
|
+
executor actor
|
|
98
|
+
source { doc "PD-05 §6" clause "" }
|
|
61
99
|
}
|
|
62
100
|
|
|
63
101
|
process handle_revision {
|
|
102
|
+
name "Handle Certificate Revision"
|
|
64
103
|
actor issuing_authority
|
|
104
|
+
modality may
|
|
105
|
+
reference_data_registry { certificates }
|
|
65
106
|
output { certificates certificateAnnexes }
|
|
66
|
-
|
|
107
|
+
executor actor
|
|
108
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
67
109
|
}
|
|
68
110
|
|
|
69
111
|
process handle_edition_change {
|
|
112
|
+
name "Handle Edition Change"
|
|
70
113
|
actor issuing_authority
|
|
114
|
+
modality may
|
|
115
|
+
reference_data_registry { certificates }
|
|
71
116
|
output { evaluationReports certificates }
|
|
72
|
-
|
|
117
|
+
executor actor
|
|
118
|
+
source { doc "PD-05 §8.3" clause "" }
|
|
73
119
|
}
|
|
74
120
|
|
|
75
121
|
process evaluate_certificate_acceptance {
|
|
122
|
+
name "Evaluate certificate acceptability"
|
|
76
123
|
actor utilizer
|
|
124
|
+
modality may
|
|
125
|
+
reference_data_registry { certificates participantDeclarations }
|
|
77
126
|
output { acceptanceReviews }
|
|
78
|
-
|
|
127
|
+
executor actor
|
|
128
|
+
source { doc "PD-06, 4.8/4.9; B 18:2025 §5.6.3" clause "" }
|
|
79
129
|
}
|
|
80
130
|
|
|
81
131
|
process handle_appeal {
|
|
132
|
+
name "Handle appeal to the Board of Appeal"
|
|
82
133
|
actor executive_secretary
|
|
134
|
+
modality may
|
|
135
|
+
reference_data_registry { participantApplications certificates }
|
|
83
136
|
output { appeals }
|
|
84
|
-
|
|
137
|
+
executor actor
|
|
138
|
+
source { doc "PD-01, 8–9" clause "" }
|
|
85
139
|
}
|
|
86
140
|
|
|
87
141
|
process handle_complaint {
|
|
142
|
+
name "Handle complaint (incl. incorrect conclusions)"
|
|
88
143
|
actor executive_secretary
|
|
144
|
+
modality may
|
|
145
|
+
reference_data_registry { certificates }
|
|
89
146
|
output { complaints }
|
|
90
|
-
|
|
147
|
+
executor actor
|
|
148
|
+
source { doc "PD-01, 6; PD-05 §7.1" clause "" }
|
|
91
149
|
}
|
|
92
150
|
|
|
93
151
|
process handle_misuse {
|
|
152
|
+
name "Handle certificate misuse"
|
|
94
153
|
actor executive_secretary
|
|
154
|
+
modality may
|
|
155
|
+
reference_data_registry { certificates }
|
|
95
156
|
output { misuseCases }
|
|
96
|
-
|
|
157
|
+
executor actor
|
|
158
|
+
source { doc "PD-06, 5.1" clause "" }
|
|
97
159
|
}
|
|
98
160
|
|
|
99
161
|
process deregister_certificate {
|
|
162
|
+
name "Deregister certificate"
|
|
100
163
|
actor biml
|
|
164
|
+
modality may
|
|
165
|
+
reference_data_registry { certificates complaints misuseCases }
|
|
101
166
|
output { deregistrations certificates }
|
|
102
|
-
|
|
167
|
+
executor actor
|
|
168
|
+
source { doc "PD-01, 6.2; PD-06, 5.2/5.3; PD-05 §6.2" clause "" }
|
|
103
169
|
}
|
|
104
170
|
|
|
105
171
|
process verify_presented_certificate {
|
|
172
|
+
name "Verify a presented certificate against the registered copy"
|
|
106
173
|
actor biml
|
|
174
|
+
modality may
|
|
175
|
+
reference_data_registry { certificates registeredCopies }
|
|
107
176
|
output { registeredCopies }
|
|
108
|
-
|
|
177
|
+
executor actor
|
|
178
|
+
source { doc "B 18:2025 §15.8" clause "" }
|
|
109
179
|
}
|
|
110
180
|
|
|
111
181
|
process submit_participant_application {
|
|
182
|
+
name "Submit participant application"
|
|
112
183
|
actor applicant
|
|
184
|
+
modality may
|
|
185
|
+
reference_data_registry { participantApplications }
|
|
113
186
|
output { participantApplications }
|
|
114
|
-
|
|
187
|
+
executor actor
|
|
188
|
+
source { doc "PD-03, 5.1; PD-04, 5.1; PD-09, 4–5; PD-02, 7" clause "" }
|
|
115
189
|
}
|
|
116
190
|
|
|
117
191
|
process assess_participant_competence {
|
|
192
|
+
name "Assess participant competence"
|
|
118
193
|
actor executive_secretary
|
|
194
|
+
modality may
|
|
195
|
+
reference_data_registry { participantApplications }
|
|
119
196
|
output { competenceEvidence }
|
|
120
|
-
|
|
197
|
+
executor actor
|
|
198
|
+
source { doc "PD-03, 5.2; PD-04, 5.2" clause "" }
|
|
121
199
|
}
|
|
122
200
|
|
|
123
201
|
process recommend_participation {
|
|
202
|
+
name "Review Committee recommendation"
|
|
124
203
|
actor evaluator
|
|
204
|
+
modality may
|
|
205
|
+
reference_data_registry { participantApplications }
|
|
125
206
|
output { approvalVotes }
|
|
126
|
-
|
|
207
|
+
executor actor
|
|
208
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.1; OD-01, 5.6/7.9" clause "" }
|
|
127
209
|
}
|
|
128
210
|
|
|
129
211
|
process decide_participation {
|
|
212
|
+
name "MC participation decision"
|
|
130
213
|
actor supervisor
|
|
214
|
+
modality may
|
|
215
|
+
reference_data_registry { participantApplications }
|
|
131
216
|
output { approvalVotes participantApplications }
|
|
132
|
-
|
|
217
|
+
executor actor
|
|
218
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.2; B 18:2025 §11.4.2" clause "" }
|
|
133
219
|
}
|
|
134
220
|
|
|
135
221
|
process record_participant_declaration {
|
|
222
|
+
name "Record/maintain a participant Declaration"
|
|
136
223
|
actor executive_secretary
|
|
224
|
+
modality may
|
|
225
|
+
reference_data_registry { participantDeclarations }
|
|
137
226
|
output { participantDeclarations }
|
|
138
|
-
|
|
227
|
+
executor actor
|
|
228
|
+
source { doc "PD-08, 4–5; PD-03, 5.3.2/9; PD-04, 5.3.2/7" clause "" }
|
|
139
229
|
}
|
|
140
230
|
|
|
141
231
|
process publish_participant_register {
|
|
232
|
+
name "Publish the participant lists"
|
|
142
233
|
actor executive_secretary
|
|
234
|
+
modality may
|
|
235
|
+
reference_data_registry { participantDeclarations }
|
|
143
236
|
output { participantApplications }
|
|
144
|
-
|
|
237
|
+
executor actor
|
|
238
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-08, 4; PD-09, 4–5; OD-01, 13.4" clause "" }
|
|
145
239
|
}
|
|
146
240
|
|
|
147
241
|
process drive_scheme_lifecycle {
|
|
242
|
+
name "Drive the per-category scheme lifecycle"
|
|
148
243
|
actor biml
|
|
244
|
+
modality may
|
|
245
|
+
reference_data_registry { categorySchemes }
|
|
149
246
|
output { categorySchemes }
|
|
150
|
-
|
|
247
|
+
executor actor
|
|
248
|
+
source { doc "B 18:2025 §4.2, §15.1–15.2" clause "" }
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
workflow_stage application_processing {
|
|
252
|
+
label "Application Processing"
|
|
253
|
+
description "PD-05 §4.1–4.2: Application submission, review, and acceptance/rejection"
|
|
254
|
+
elements { submit_application review_application accept_application reject_application }
|
|
255
|
+
start_event application_received
|
|
256
|
+
end_events { application_accepted application_rejected application_withdrawn }
|
|
257
|
+
approvals { ia_accept_application }
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
workflow_stage testing {
|
|
261
|
+
label "Type Evaluation Testing"
|
|
262
|
+
description "PD-05 §4.3–4.4: Test execution and test report compilation"
|
|
263
|
+
elements { conduct_tests compile_test_report }
|
|
264
|
+
start_event application_accepted
|
|
265
|
+
end_events { test_report_compiled }
|
|
266
|
+
approvals { tl_authorize_test_report }
|
|
267
|
+
gateways { field_test_gateway measurement_count_gateway category_tests_gateway test_result_gateway mtl_gateway }
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
workflow_stage evaluation {
|
|
271
|
+
label "Type Evaluation"
|
|
272
|
+
description "PD-05 §4.5: Evaluation report compilation and approval"
|
|
273
|
+
elements { compile_evaluation_report }
|
|
274
|
+
start_event test_report_compiled
|
|
275
|
+
end_events { evaluation_complete }
|
|
276
|
+
approvals { ia_approve_evaluation_report }
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
workflow_stage certification {
|
|
280
|
+
label "Certification"
|
|
281
|
+
description "PD-05 §4.6, §6, §8: Certificate issuance, registration, and revision"
|
|
282
|
+
elements { issue_certificate register_certificate handle_revision handle_edition_change }
|
|
283
|
+
start_event evaluation_complete
|
|
284
|
+
end_events { certificate_issued }
|
|
285
|
+
approvals { ia_sign_certificate biml_register_certificate ia_approve_revision }
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
workflow_stage scheme_operations {
|
|
289
|
+
label "OIML-CS Scheme Operations"
|
|
290
|
+
description "PD-01/PD-06 + B 18:2025 §15.8 (TODO.roadmap/45): acceptability evaluation, appeals, complaints, misuse, deregistration, and the registered-copy validity check"
|
|
291
|
+
elements { evaluate_certificate_acceptance handle_appeal handle_complaint handle_misuse deregister_certificate verify_presented_certificate }
|
|
292
|
+
start_event certificate_issued
|
|
293
|
+
end_events { certificate_deregistered }
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
workflow_stage participant_approval {
|
|
297
|
+
label "OIML-CS Participant Approval"
|
|
298
|
+
description "PD-02/PD-03/PD-04/PD-08/PD-09 + B 18:2025 §15 (TODO.roadmap/44–45): the participation pipeline — application, competence assessment, RC recommendation, MC decision, Declaration, publication — and the per-category scheme lifecycle"
|
|
299
|
+
elements { submit_participant_application assess_participant_competence recommend_participation decide_participation record_participant_declaration publish_participant_register drive_scheme_lifecycle }
|
|
300
|
+
start_event participant_application_received
|
|
301
|
+
end_events { participant_active }
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
start_event application_received {
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
end_event application_accepted {
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
end_event application_rejected {
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
end_event application_withdrawn {
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
end_event test_report_compiled {
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
end_event evaluation_complete {
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
end_event certificate_issued {
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
end_event certificate_deregistered {
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
start_event participant_application_received {
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
end_event participant_active {
|
|
151
332
|
}
|
|
152
333
|
|