@oimlsmart/primmel-packages 0.1.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/AGENTS.md +60 -0
- package/LICENSE +21 -0
- package/README.md +68 -0
- package/acme-cgm-200/model/cgm200.prl +284 -0
- package/acme-cgm-200/model/r144-map.prl +337 -0
- package/acme-cgm-200/package.primmel +39 -0
- package/acme-cgm-system/model/cgm-system.prl +125 -0
- package/acme-cgm-system/model/r144-map.prl +75 -0
- package/acme-cgm-system/model/sample-line.prl +42 -0
- package/acme-cgm-system/package.primmel +23 -0
- package/acme-lc500/model/lc500.prl +218 -0
- package/acme-lc500/model/passport.prl +43 -0
- package/acme-lc500/model/r60-map.prl +161 -0
- package/acme-lc500/model/twin-cert-map.prl +114 -0
- package/acme-lc500/package.primmel +35 -0
- package/acme-md3xx/model/md350.prl +317 -0
- package/acme-md3xx/model/r129-map.prl +346 -0
- package/acme-md3xx/package.primmel +49 -0
- package/acme-rs180/model/r91-map.prl +234 -0
- package/acme-rs180/model/rs180.prl +236 -0
- package/acme-rs180/package.primmel +47 -0
- package/ims-demo/model/ims.prl +23 -0
- package/ims-demo/model/isms-map.prl +60 -0
- package/ims-demo/model/qms-map.prl +73 -0
- package/ims-demo/package.primmel +42 -0
- package/isms-ref/model/isms.prl +34 -0
- package/isms-ref/package.primmel +35 -0
- package/iso-iec-17000/package.primmel +8 -0
- package/iso-iec-17000/terminology.prl +268 -0
- package/iso-iec-17025/package.primmel +10 -0
- package/iso-iec-17025/specification/requirements/lab.prl +474 -0
- package/iso-iec-17025/terminology.prl +72 -0
- package/iso-iec-17065/package.primmel +10 -0
- package/iso-iec-17065/specification/requirements/body.prl +446 -0
- package/iso-iec-17065/terminology.prl +103 -0
- package/iso-iec-17067/package.primmel +10 -0
- package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
- package/iso-iec-17067/terminology.prl +24 -0
- package/oiml-cs/package.primmel +10 -0
- package/oiml-cs/specification/discrepancies.prl +26 -0
- package/oiml-cs/specification/requirements/cs.prl +515 -0
- package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
- package/oiml-cs-dataspace/package.primmel +9 -0
- package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
- package/oiml-cs-dataspace/specification/policies.prl +68 -0
- package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
- package/oiml-integrated-ref/package.primmel +10 -0
- package/oiml-r129/.primmel-allowlist.prl +2 -0
- package/oiml-r129/evaluation/processes.prl +152 -0
- package/oiml-r129/evaluation/workflow.prl +48 -0
- package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
- package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
- package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
- package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
- package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
- package/oiml-r129/execution/forms/admin/identification.prl +49 -0
- package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
- package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
- package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
- package/oiml-r129/execution/forms/emc/esd.prl +66 -0
- package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
- package/oiml-r129/execution/forms/emc/surge.prl +61 -0
- package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
- package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
- package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
- package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
- package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
- package/oiml-r129/execution/forms/shared/headers.prl +86 -0
- package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
- package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
- package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
- package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
- package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
- package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
- package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
- package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
- package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
- package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
- package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
- package/oiml-r129/layers.prl +50 -0
- package/oiml-r129/model/attributes.prl +243 -0
- package/oiml-r129/model/behaviors.prl +79 -0
- package/oiml-r129/model/capabilities.prl +29 -0
- package/oiml-r129/model/characteristics.prl +8 -0
- package/oiml-r129/model/conditions.prl +23 -0
- package/oiml-r129/model/instrument.prl +67 -0
- package/oiml-r129/model/state.prl +22 -0
- package/oiml-r129/model/twin.prl +23 -0
- package/oiml-r129/package.primmel +15 -0
- package/oiml-r129/payload/application.yaml +40 -0
- package/oiml-r129/payload/conditions-common-test.yaml +8 -0
- package/oiml-r129/payload/formulas-variants.yaml +33 -0
- package/oiml-r129/payload/promises.yaml +102 -0
- package/oiml-r129/payload/sample-data.yaml +300 -0
- package/oiml-r129/references.prl +306 -0
- package/oiml-r129/sources-prd/coverage.json +59 -0
- package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
- package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
- package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
- package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
- package/oiml-r129/specification/calculations.prl +83 -0
- package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
- package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
- package/oiml-r129/specification/conformance/examinations.prl +83 -0
- package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
- package/oiml-r129/specification/formulas.prl +9 -0
- package/oiml-r129/specification/requirements/electronic.prl +46 -0
- package/oiml-r129/specification/requirements/metrological.prl +83 -0
- package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
- package/oiml-r129/specification/requirements/software.prl +57 -0
- package/oiml-r129/specification/requirements/technical.prl +134 -0
- package/oiml-r129/specification/symbols.prl +187 -0
- package/oiml-r129/specification/tables.prl +74 -0
- package/oiml-r129/terminology.prl +415 -0
- package/oiml-r129/value-types.prl +40 -0
- package/oiml-r144/.primmel-allowlist.prl +2 -0
- package/oiml-r144/entities/instrument.prl +360 -0
- package/oiml-r144/entities/test-execution.prl +228 -0
- package/oiml-r144/entities/workflow.prl +2075 -0
- package/oiml-r144/evaluation/processes.prl +152 -0
- package/oiml-r144/evaluation/workflow.prl +48 -0
- package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
- package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
- package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
- package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
- package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
- package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
- package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
- package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
- package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
- package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
- package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
- package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
- package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
- package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
- package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
- package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
- package/oiml-r144/execution/forms/shared/headers.prl +132 -0
- package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
- package/oiml-r144/layers.prl +44 -0
- package/oiml-r144/model/attributes.prl +679 -0
- package/oiml-r144/model/behaviors.prl +117 -0
- package/oiml-r144/model/capabilities.prl +99 -0
- package/oiml-r144/model/characteristics.prl +27 -0
- package/oiml-r144/model/conditions.prl +46 -0
- package/oiml-r144/model/instrument.prl +85 -0
- package/oiml-r144/model/state.prl +18 -0
- package/oiml-r144/model/twin.prl +25 -0
- package/oiml-r144/package.primmel +15 -0
- package/oiml-r144/payload/application.yaml +80 -0
- package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
- package/oiml-r144/payload/conditions-common-test.yaml +74 -0
- package/oiml-r144/payload/formulas-variants.yaml +32 -0
- package/oiml-r144/payload/promises.yaml +118 -0
- package/oiml-r144/payload/sample-data.yaml +643 -0
- package/oiml-r144/references.prl +594 -0
- package/oiml-r144/sources-prd/coverage.json +114 -0
- package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
- package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
- package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
- package/oiml-r144/specification/calculations.prl +123 -0
- package/oiml-r144/specification/conformance/examination.prl +87 -0
- package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
- package/oiml-r144/specification/formulas.prl +37 -0
- package/oiml-r144/specification/reference-materials.prl +87 -0
- package/oiml-r144/specification/requirements/controls.prl +51 -0
- package/oiml-r144/specification/requirements/metrological.prl +299 -0
- package/oiml-r144/specification/requirements/report.prl +35 -0
- package/oiml-r144/specification/requirements/technical.prl +455 -0
- package/oiml-r144/specification/symbols.prl +357 -0
- package/oiml-r144/specification/tables.prl +95 -0
- package/oiml-r144/specification/test-point-sets.prl +15 -0
- package/oiml-r144/terminology.prl +308 -0
- package/oiml-r144/value-types.prl +49 -0
- package/oiml-r60/.primmel-allowlist.prl +2 -0
- package/oiml-r60/entities/workflow.prl +2079 -0
- package/oiml-r60/evaluation/processes.prl +152 -0
- package/oiml-r60/evaluation/workflow.prl +48 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
- package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
- package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
- package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
- package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
- package/oiml-r60/execution/forms/shared/headers.prl +255 -0
- package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
- package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
- package/oiml-r60/layers.prl +46 -0
- package/oiml-r60/model/attributes.prl +642 -0
- package/oiml-r60/model/behaviors.prl +165 -0
- package/oiml-r60/model/capabilities.prl +57 -0
- package/oiml-r60/model/characteristics.prl +27 -0
- package/oiml-r60/model/conditions.prl +50 -0
- package/oiml-r60/model/instrument.prl +96 -0
- package/oiml-r60/model/processes.prl +54 -0
- package/oiml-r60/model/state.prl +22 -0
- package/oiml-r60/model/twin.prl +16 -0
- package/oiml-r60/package.primmel +16 -0
- package/oiml-r60/payload/annexes-part4.yaml +122 -0
- package/oiml-r60/payload/application.yaml +83 -0
- package/oiml-r60/payload/conditions-common-test.yaml +121 -0
- package/oiml-r60/payload/formulas-variants.yaml +55 -0
- package/oiml-r60/payload/promises.yaml +224 -0
- package/oiml-r60/payload/sample-data.yaml +5025 -0
- package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
- package/oiml-r60/references.prl +549 -0
- package/oiml-r60/sources-prd/coverage.json +740 -0
- package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
- package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
- package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
- package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
- package/oiml-r60/specification/calculations.prl +318 -0
- package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
- package/oiml-r60/specification/conformance/electronic.prl +483 -0
- package/oiml-r60/specification/conformance/examination.prl +183 -0
- package/oiml-r60/specification/conformance/metrological.prl +478 -0
- package/oiml-r60/specification/constraints.prl +58 -0
- package/oiml-r60/specification/formulas-used.prl +43 -0
- package/oiml-r60/specification/formulas.prl +20 -0
- package/oiml-r60/specification/requirements/class-specific.prl +655 -0
- package/oiml-r60/specification/requirements/classification.prl +114 -0
- package/oiml-r60/specification/requirements/electronic.prl +222 -0
- package/oiml-r60/specification/requirements/metrological.prl +381 -0
- package/oiml-r60/specification/requirements/technical.prl +146 -0
- package/oiml-r60/specification/symbols.prl +599 -0
- package/oiml-r60/specification/tables.prl +182 -0
- package/oiml-r60/specification/test-sequences.prl +72 -0
- package/oiml-r60/terminology.prl +920 -0
- package/oiml-r60/value-types.prl +46 -0
- package/oiml-r91/.primmel-allowlist.prl +3 -0
- package/oiml-r91/entities/instrument.prl +359 -0
- package/oiml-r91/entities/workflow.prl +2075 -0
- package/oiml-r91/evaluation/processes.prl +152 -0
- package/oiml-r91/evaluation/workflow.prl +48 -0
- package/oiml-r91/execution/forms/evidence-file.prl +41 -0
- package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
- package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
- package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
- package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
- package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
- package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
- package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
- package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
- package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
- package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
- package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
- package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
- package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
- package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
- package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
- package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
- package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
- package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
- package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
- package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
- package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
- package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
- package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
- package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
- package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
- package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
- package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
- package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
- package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
- package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
- package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
- package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
- package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
- package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
- package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
- package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
- package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
- package/oiml-r91/layers.prl +46 -0
- package/oiml-r91/model/artifacts.prl +29 -0
- package/oiml-r91/model/attributes.prl +698 -0
- package/oiml-r91/model/behaviors.prl +142 -0
- package/oiml-r91/model/capabilities.prl +88 -0
- package/oiml-r91/model/characteristics.prl +27 -0
- package/oiml-r91/model/conditions.prl +37 -0
- package/oiml-r91/model/instrument.prl +147 -0
- package/oiml-r91/model/state.prl +22 -0
- package/oiml-r91/model/twin.prl +17 -0
- package/oiml-r91/package.primmel +14 -0
- package/oiml-r91/payload/application.yaml +201 -0
- package/oiml-r91/payload/conditions-common-test.yaml +19 -0
- package/oiml-r91/payload/promises.yaml +142 -0
- package/oiml-r91/payload/sample-data.yaml +464 -0
- package/oiml-r91/references.prl +72 -0
- package/oiml-r91/sources-prd/coverage.json +106 -0
- package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
- package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
- package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
- package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
- package/oiml-r91/specification/calculations.prl +26 -0
- package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
- package/oiml-r91/specification/conformance/metrological.prl +906 -0
- package/oiml-r91/specification/formulas.prl +10 -0
- package/oiml-r91/specification/requirements/class-specific.prl +308 -0
- package/oiml-r91/specification/requirements/metrological.prl +176 -0
- package/oiml-r91/specification/requirements/technical.prl +173 -0
- package/oiml-r91/specification/symbols.prl +323 -0
- package/oiml-r91/specification/tables.prl +136 -0
- package/oiml-r91/terminology.prl +535 -0
- package/oiml-r91/value-types.prl +26 -0
- package/oiml-smart-core/entities/comments.prl +101 -0
- package/oiml-smart-core/entities/cs-operations.prl +492 -0
- package/oiml-smart-core/entities/cs-participants.prl +470 -0
- package/oiml-smart-core/entities/engagement.prl +323 -0
- package/oiml-smart-core/entities/instrument.prl +359 -0
- package/oiml-smart-core/entities/module-b.prl +214 -0
- package/oiml-smart-core/entities/operated-schemes.prl +141 -0
- package/oiml-smart-core/entities/parties.prl +429 -0
- package/oiml-smart-core/entities/payment-records.prl +92 -0
- package/oiml-smart-core/entities/verification.prl +187 -0
- package/oiml-smart-core/entities/workflow.prl +2075 -0
- package/oiml-smart-core/evaluation/roles.prl +65 -0
- package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
- package/oiml-smart-core/package.primmel +10 -0
- package/oiml-smart-core/specification/competence-kinds.prl +64 -0
- package/oiml-smart-core/specification/constraints.prl +40 -0
- package/oiml-smart-core/specification/invariants.prl +90 -0
- package/oiml-smart-core/specification/predicates.prl +116 -0
- package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
- package/oiml-smart-module-env-iec60068/package.primmel +10 -0
- package/oiml-smart-module-examination-docs/package.primmel +10 -0
- package/oiml-smart-module-reference-materials/package.primmel +10 -0
- package/oiml-smart-module-report-headers/package.primmel +10 -0
- package/oiml-smart-module-software-d31/package.primmel +10 -0
- package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
- package/oiml-smart-module-specimen-governance/package.primmel +10 -0
- package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
- package/oiml-twin-cert/evaluation/roles.prl +15 -0
- package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
- package/oiml-twin-cert/execution/forms/probe.prl +99 -0
- package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
- package/oiml-twin-cert/model/attributes.prl +243 -0
- package/oiml-twin-cert/model/behaviors.prl +8 -0
- package/oiml-twin-cert/model/characteristics.prl +18 -0
- package/oiml-twin-cert/model/monitors.prl +16 -0
- package/oiml-twin-cert/package.primmel +16 -0
- package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
- package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
- package/oiml-twin-cert/specification/symbols.prl +36 -0
- package/oiml-twin-cert/terminology.prl +8 -0
- package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
- package/package.json +17 -0
- package/qms-ref/model/qms.prl +31 -0
- package/qms-ref/package.primmel +38 -0
- package/quarry-belt-scale/model/ops.prl +115 -0
- package/quarry-belt-scale/package.primmel +36 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
policy public-register {
|
|
2
|
+
name "Public register"
|
|
3
|
+
description "The public tier of the access-tier doctrine (TODO.adoption/10): the registered certificate and the per-serial instrument register are public by design — the BIML registers and publishes OIML certificates (B 18:2025 §10.1) and the registered copy is the scheme's source of truth for validity, verifiable by anyone (§15.8). Reading needs no standing; publication happens by the scheme's registration act, never by the parties."
|
|
4
|
+
default_posture true
|
|
5
|
+
governs { certificate instrument-registration }
|
|
6
|
+
rule anyone-reads {
|
|
7
|
+
kind permission
|
|
8
|
+
action read
|
|
9
|
+
}
|
|
10
|
+
rule publish-registered-copy {
|
|
11
|
+
kind obligation
|
|
12
|
+
action publish
|
|
13
|
+
artifact certificate
|
|
14
|
+
constraint "ocl{registration.state = #registered}"
|
|
15
|
+
}
|
|
16
|
+
ref derives-from "urn:oiml:pub:b:18:2025#clause-10.1"
|
|
17
|
+
ref derives-from "urn:oiml:pub:b:18:2025#clause-15.8"
|
|
18
|
+
corresponds w3c-odrl "Policy"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
policy restricted-utilizer-recognition {
|
|
22
|
+
name "Restricted exchange for national recognition"
|
|
23
|
+
description "The restricted tier: the evaluation report's full content moves to a Utilizer or Associate for the national-recognition purpose — the certificate owner provides the original, or a certified copy, of the complete report with the associated test reports on the authority's request (PD-06 4.3). The receiving authority consults the Issuing Authority when questions arise and justifies a non-acceptance in writing to the Issuing Authority, the manufacturer and the Executive Secretary (PD-06 4.8); partial quotation of the report is not permitted (PD-06 4.5). The requester's Utilizer/Associate standing is the scheme's record (the signed Declaration — B 18:2025 §5.6, PD-08; admission per PD-09): the connector evaluates the declared requester against that registry at the negotiation (the class constraint AND the standing constraint both bind — a lapsed or absent standing refuses with the reason named)."
|
|
24
|
+
default_posture true
|
|
25
|
+
governs { evaluation-report }
|
|
26
|
+
rule read-for-recognition {
|
|
27
|
+
kind permission
|
|
28
|
+
action read
|
|
29
|
+
artifact evaluation-report
|
|
30
|
+
constraint "ocl{requester.participant_class = #utilizer or requester.participant_class = #associate}"
|
|
31
|
+
constraint "ocl{requester.standing = #registered}"
|
|
32
|
+
}
|
|
33
|
+
rule no-redistribution {
|
|
34
|
+
kind prohibition
|
|
35
|
+
action redistribute
|
|
36
|
+
}
|
|
37
|
+
rule report-non-acceptance {
|
|
38
|
+
kind obligation
|
|
39
|
+
action report
|
|
40
|
+
constraint "ocl{acceptance = #not_accepted}"
|
|
41
|
+
}
|
|
42
|
+
ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.3"
|
|
43
|
+
ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.5"
|
|
44
|
+
ref derives-from "urn:oiml:pub:cs:pd-06:2024#clause-4.8"
|
|
45
|
+
ref derives-from "urn:oiml:pub:cs:pd-09:2025"
|
|
46
|
+
corresponds w3c-odrl "Policy"
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
policy working-data {
|
|
50
|
+
name "Parties' working data"
|
|
51
|
+
description "The working tier: the evaluation's working records — the test reports and the evidence streams — stay within the case's parties (the applicant, the Issuing Authority, the designated Test Laboratories) and are delivered to the applicant with the certificate on issuance (PD-05 §4.6.6); disclosure beyond the case's parties is prohibited. This is the dataspace's DEFAULT posture: an artifact class without its own tier inherits the working tier, fail-closed — a negotiation never widens past a class's standing policy without the holder's explicit act (TODO.dataspace/00). On the dataspace surface the requester must be a REGISTERED scheme participant (the standing constraint; the applicant's own copy arrives by the delivery act, never by a cross-instance negotiation); the case-party membership itself binds per artifact at the transfer, never at the class negotiation."
|
|
52
|
+
default_posture true
|
|
53
|
+
governs { test-report evidence-stream }
|
|
54
|
+
rule case-parties-read {
|
|
55
|
+
kind permission
|
|
56
|
+
action read
|
|
57
|
+
constraint "ocl{artifact.case_parties->includes(requester)}"
|
|
58
|
+
constraint "ocl{requester.standing = #registered}"
|
|
59
|
+
}
|
|
60
|
+
rule no-disclosure-beyond-parties {
|
|
61
|
+
kind prohibition
|
|
62
|
+
action disclose
|
|
63
|
+
}
|
|
64
|
+
ref derives-from "urn:oiml:pub:cs:pd-05:2024#clause-4.6.6"
|
|
65
|
+
ref derives-from "urn:oiml:pub:cs:cid-01:2024#clause-3.1"
|
|
66
|
+
corresponds w3c-odrl "Policy"
|
|
67
|
+
}
|
|
68
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
2
|
+
# The shared verification/traceability process vocabulary (TODO.v3/01
|
|
3
|
+
# item 2): authored ONCE here, referenced by the Recommendation layer's
|
|
4
|
+
# test methods and the twin-fidelity certification program's probes —
|
|
5
|
+
# never copied, never a merged verdict. The two processes are the legs
|
|
6
|
+
# every served-vs-reference judgment stands on:
|
|
7
|
+
#
|
|
8
|
+
# probe_pairing — admit a (served, reference) pair within
|
|
9
|
+
# the declared window; the skew is
|
|
10
|
+
# computed, and an out-of-window pair is
|
|
11
|
+
# INADMISSIBLE (INVALID — the setup was
|
|
12
|
+
# wrong, never a fail).
|
|
13
|
+
# reference_traceability_gate — the reference channel's own quality
|
|
14
|
+
# gate (U:MPE ≤ 1:3): a reference whose
|
|
15
|
+
# uncertainty or drift exceeds one third
|
|
16
|
+
# of the judged allowance voids the
|
|
17
|
+
# setup (INVALID, never a fail).
|
|
18
|
+
#
|
|
19
|
+
# DRY shared processes, NEVER merged verdicts: auditors read an
|
|
20
|
+
# implementation through ONE reference standard at a time (or an
|
|
21
|
+
# approved set) — this package exists so the processes are authored
|
|
22
|
+
# once, not so claims merge (the package manifest's description).
|
|
23
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
24
|
+
|
|
25
|
+
process probe_pairing {
|
|
26
|
+
name "Served–reference probe pairing"
|
|
27
|
+
description "Pair a twin's served reading with the reference channel's reading of the same measurand within the declared pairing window. The pair's skew is computed from the two evidence times (read, never invented); a pair outside the window is INADMISSIBLE evidence — the run is void (INVALID: the setup was wrong), never a fail and never silently admitted. Used by the twin-fidelity program's probe schedule (served ⇄ reference at every probe point) and by the Recommendation's paired test readings."
|
|
28
|
+
signature {
|
|
29
|
+
in { served_reading : quantity reference_reading : quantity pairing_window : quantity }
|
|
30
|
+
out { pair_skew : quantity admissible : dimensionless }
|
|
31
|
+
}
|
|
32
|
+
executor machine
|
|
33
|
+
registers { served_at : quantity reference_at : quantity pair_skew : quantity = 0 admissible : dimensionless = false }
|
|
34
|
+
does {
|
|
35
|
+
start_event captured
|
|
36
|
+
action pair { executor machine read { served_reading reference_reading } write { pair_skew } description "Compute the pair skew |served_at − reference_at| from the two evidence timestamps — the serve's own timestamp and the reference channel's; evidence times are read, never invented (§14.3)." }
|
|
37
|
+
action admit { executor machine read { pair_skew pairing_window } write { admissible } description "Admit the pair when skew ≤ pairing_window; otherwise the run is INADMISSIBLE — INVALID (the pairing-window precondition: test-run admissibility), never a fail." }
|
|
38
|
+
end_event admitted
|
|
39
|
+
end_event voided
|
|
40
|
+
flow {
|
|
41
|
+
captured -> pair
|
|
42
|
+
pair -> admit
|
|
43
|
+
admit -> admitted
|
|
44
|
+
admit -> voided
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
process reference_traceability_gate {
|
|
50
|
+
name "Reference-channel traceability gate (the U:MPE ≤ 1:3 discipline)"
|
|
51
|
+
description "The reference channel's own quality gate, applied BEFORE any pair is judged: the reference's uncertainty (over a point probe) or drift (over a dwell) shall not exceed one third of the allowance the pair judges — a reference beyond that voids the setup (INVALID, never a fail). The same discipline the Recommendation's reference materials enforce (the CGM U:MPE ≤ 1:3 constraint, audit r144 F11) and the twin-fidelity program's reference-quality precondition."
|
|
52
|
+
signature {
|
|
53
|
+
in { reference_uncertainty : quantity judged_allowance : quantity }
|
|
54
|
+
out { traceable : dimensionless }
|
|
55
|
+
}
|
|
56
|
+
executor machine
|
|
57
|
+
registers { ratio : quantity = 0 traceable : dimensionless = false }
|
|
58
|
+
does {
|
|
59
|
+
start_event measured
|
|
60
|
+
action compute_ratio { executor machine read { reference_uncertainty judged_allowance } write { ratio } description "Compute reference_uncertainty / judged_allowance." }
|
|
61
|
+
action gate { executor machine read { ratio } write { traceable } description "Admit when ratio ≤ 1/3; otherwise the setup is void — INVALID, never a fail." }
|
|
62
|
+
end_event traceable
|
|
63
|
+
end_event unfit
|
|
64
|
+
flow {
|
|
65
|
+
measured -> compute_ratio
|
|
66
|
+
compute_ratio -> gate
|
|
67
|
+
gate -> traceable
|
|
68
|
+
gate -> unfit
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
package {
|
|
2
|
+
id oiml-integrated-ref
|
|
3
|
+
kind module
|
|
4
|
+
title "OIML SMART integrated-reference package (multi-standard DRY)"
|
|
5
|
+
description "The integrated reference for multi-standard implementations (TODO.v3/01 item 2): the shared verification/traceability processes of the Recommendation layer and the twin-fidelity certification program, authored ONCE — the served–reference probe pairing discipline (pairing window, skew, admissibility) and the reference-channel traceability gate (the U:MPE ≤ 1:3 reference-quality rule). DRY shared processes, NEVER merged verdicts: an auditor reads an implementation through ONE reference standard at a time (or an approved set), each with its own coverage — this package exists so the processes are authored once, not so claims merge."
|
|
6
|
+
uses { oiml-r60@2021 oiml-twin-cert@2027 }
|
|
7
|
+
requires { oiml-r60 oiml-twin-cert }
|
|
8
|
+
provides { probe-pairing reference-traceability }
|
|
9
|
+
default_spelling eng-Latn
|
|
10
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
# .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
|
|
2
|
+
text_coverage_budget 196 "First landing of gap-close C4-r129 (TODO.v2/05 — the R 129 sources-prd pipeline), tightened by TODO.integration/05 (the twin-interface bindings), then re-measured and burned down by the TODO.v2/05 follow-through (the R 129 source expansion): the official R 129:2020 sources landed (sources/r129) and every first-landing curation was re-verified against the official PDFs — the annexes print (Mandatory) throughout (+7 annex-A sentences correctly measured normative) and the notes compile as proper note fragments (−6 sentences correctly measured informative); the terminology register's source-URN burn-down covered the 26 register-carried definition sites, and the rec-native forms now bind their R 129-3/-4 report sections (ref report-format — the 11 module-skeleton forms' sections stay findings: the skeletons' with: slots carry no report-format channel, the composition union rule bars the rec overlay from restating references). 196 uncovered normative-classified sentences — the honest measurement of R 129's normative-text coverage over the published-print address space. Census by document: 131 R 129-1 + 58 R 129-2 + 4 R 129-3 + 3 R 129-4. The clusters are the declared named gaps of sources-prd/congruence.yaml (the unmodelled terminology sites, the Annex B software detail, the R 129-2 IEC method-procedure grids, the module-skeleton-covered report sections, and the R 129-4 sections no form binds). The budget caps the C71 findings EXACTLY and only burns down: new bindings (or adjudicated allowances) shrink it; growth fails C72."
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
process submit_application {
|
|
2
|
+
actor applicant
|
|
3
|
+
output { applications }
|
|
4
|
+
reference { doc "PD-05 §4.1" clause "" }
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
process review_application {
|
|
8
|
+
actor issuing_authority
|
|
9
|
+
validate_provision { /req/cs/application-completeness }
|
|
10
|
+
output { applications }
|
|
11
|
+
reference { doc "PD-05 §4.2" clause "" }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
process accept_application {
|
|
15
|
+
actor issuing_authority
|
|
16
|
+
validate_provision { /req/cs/fee-estimate /req/cs/sample-count }
|
|
17
|
+
output { applications }
|
|
18
|
+
reference { doc "PD-05 §4.2.4" clause "" }
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
process reject_application {
|
|
22
|
+
actor issuing_authority
|
|
23
|
+
validate_provision { /req/cs/rejection-reason }
|
|
24
|
+
output { applications }
|
|
25
|
+
reference { doc "PD-05 §4.2.2" clause "" }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
process conduct_tests {
|
|
29
|
+
actor test_laboratory
|
|
30
|
+
validate_provision { /req/metrological/scale-intervals-min-dimension /req/metrological/mpe /req/metrological/fault-limit /req/metrological/variation-between-indicators /req/metrological/calculated-quantities /req/electronic/rated-operating-conditions /req/electronic/disturbance-resistance /req/electronic/no-significant-faults /req/electronic/light-acoustic-effects /req/technical/warm-up /req/technical/limits-of-indication /req/object-limitations/object-shape /req/object-limitations/orientation-position /req/object-limitations/speed-movement }
|
|
31
|
+
output { testReports formInstances }
|
|
32
|
+
reference { doc "PD-05 §4.3" clause "" }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
process compile_test_report {
|
|
36
|
+
actor test_laboratory
|
|
37
|
+
validate_provision { /req/cs/test-report-18-elements }
|
|
38
|
+
output { testReports }
|
|
39
|
+
reference { doc "PD-05 §4.4" clause "" }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
process compile_evaluation_report {
|
|
43
|
+
actor issuing_authority
|
|
44
|
+
validate_provision { /req/cs/evaluation-report-contents }
|
|
45
|
+
output { evaluationReports }
|
|
46
|
+
reference { doc "PD-05 §4.5" clause "" }
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
process issue_certificate {
|
|
50
|
+
actor issuing_authority
|
|
51
|
+
validate_provision { /req/cs/certificate-requirements }
|
|
52
|
+
output { certificates }
|
|
53
|
+
reference { doc "PD-05 §4.6" clause "" }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
process register_certificate {
|
|
57
|
+
actor biml
|
|
58
|
+
validate_provision { /req/cs/biml-registration }
|
|
59
|
+
output { certificates }
|
|
60
|
+
reference { doc "PD-05 §6" clause "" }
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
process handle_revision {
|
|
64
|
+
actor issuing_authority
|
|
65
|
+
output { certificates certificateAnnexes }
|
|
66
|
+
reference { doc "PD-05 §8.1" clause "" }
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
process handle_edition_change {
|
|
70
|
+
actor issuing_authority
|
|
71
|
+
output { evaluationReports certificates }
|
|
72
|
+
reference { doc "PD-05 §8.3" clause "" }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
process evaluate_certificate_acceptance {
|
|
76
|
+
actor utilizer
|
|
77
|
+
output { acceptanceReviews }
|
|
78
|
+
reference { doc "PD-06, 4.8/4.9; B 18:2025 §5.6.3" clause "" }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
process handle_appeal {
|
|
82
|
+
actor executive_secretary
|
|
83
|
+
output { appeals }
|
|
84
|
+
reference { doc "PD-01, 8–9" clause "" }
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
process handle_complaint {
|
|
88
|
+
actor executive_secretary
|
|
89
|
+
output { complaints }
|
|
90
|
+
reference { doc "PD-01, 6; PD-05 §7.1" clause "" }
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
process handle_misuse {
|
|
94
|
+
actor executive_secretary
|
|
95
|
+
output { misuseCases }
|
|
96
|
+
reference { doc "PD-06, 5.1" clause "" }
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
process deregister_certificate {
|
|
100
|
+
actor biml
|
|
101
|
+
output { deregistrations certificates }
|
|
102
|
+
reference { doc "PD-01, 6.2; PD-06, 5.2/5.3; PD-05 §6.2" clause "" }
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
process verify_presented_certificate {
|
|
106
|
+
actor biml
|
|
107
|
+
output { registeredCopies }
|
|
108
|
+
reference { doc "B 18:2025 §15.8" clause "" }
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
process submit_participant_application {
|
|
112
|
+
actor applicant
|
|
113
|
+
output { participantApplications }
|
|
114
|
+
reference { doc "PD-03, 5.1; PD-04, 5.1; PD-09, 4–5; PD-02, 7" clause "" }
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
process assess_participant_competence {
|
|
118
|
+
actor executive_secretary
|
|
119
|
+
output { competenceEvidence }
|
|
120
|
+
reference { doc "PD-03, 5.2; PD-04, 5.2" clause "" }
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
process recommend_participation {
|
|
124
|
+
actor evaluator
|
|
125
|
+
output { approvalVotes }
|
|
126
|
+
reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.1; OD-01, 5.6/7.9" clause "" }
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
process decide_participation {
|
|
130
|
+
actor supervisor
|
|
131
|
+
output { approvalVotes participantApplications }
|
|
132
|
+
reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.2; B 18:2025 §11.4.2" clause "" }
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
process record_participant_declaration {
|
|
136
|
+
actor executive_secretary
|
|
137
|
+
output { participantDeclarations }
|
|
138
|
+
reference { doc "PD-08, 4–5; PD-03, 5.3.2/9; PD-04, 5.3.2/7" clause "" }
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
process publish_participant_register {
|
|
142
|
+
actor executive_secretary
|
|
143
|
+
output { participantApplications }
|
|
144
|
+
reference { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-08, 4; PD-09, 4–5; OD-01, 13.4" clause "" }
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
process drive_scheme_lifecycle {
|
|
148
|
+
actor biml
|
|
149
|
+
output { categorySchemes }
|
|
150
|
+
reference { doc "B 18:2025 §4.2, §15.1–15.2" clause "" }
|
|
151
|
+
}
|
|
152
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
process application {
|
|
2
|
+
note "phase: intake"
|
|
3
|
+
actor applicant
|
|
4
|
+
description "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."
|
|
5
|
+
validate_provision { applicant_info model_family_matrix documentation }
|
|
6
|
+
guard "Application.status = SUBMITTED"
|
|
7
|
+
guard "Application.model_family_id is not null OR Application.model_ids.length >= 1"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
process test-request-dispatch {
|
|
11
|
+
note "phase: dispatch"
|
|
12
|
+
actor issuing-authority
|
|
13
|
+
description "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."
|
|
14
|
+
validate_provision { Application MeasuringInstrumentSample TestLaboratory }
|
|
15
|
+
guard "Each TestRequest references >= 1 MeasuringInstrumentSample"
|
|
16
|
+
guard "Each TestRequest.required_forms subset of R 129-3 form identifiers"
|
|
17
|
+
guard "TestRequest.assigned_laboratory_id is accredited for the requested test scope (R 129 multi-dimensional measuring instruments)"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
process test-performance {
|
|
21
|
+
note "phase: testing"
|
|
22
|
+
actor test-laboratory
|
|
23
|
+
description "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."
|
|
24
|
+
validate_provision { TestRequest MeasuringInstrumentSample }
|
|
25
|
+
guard "TestReport.test_request_id references the TestRequest"
|
|
26
|
+
guard "TestReport contains one FormInstance per (requiredForm × sample) pair"
|
|
27
|
+
guard "TestReport.status = SUBMITTED"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
process evaluation {
|
|
31
|
+
note "phase: evaluation"
|
|
32
|
+
actor issuing-authority
|
|
33
|
+
description "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."
|
|
34
|
+
validate_provision { TestReport FormInstance }
|
|
35
|
+
guard "All TestReport entries in test_report_ids[] have a TestReportDetermination"
|
|
36
|
+
guard "EvaluationReport.status = ALL_TR_REVIEWED before finalization"
|
|
37
|
+
guard "overall_decision derivable from test_report_determinations[]"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
process certificate-issuance {
|
|
41
|
+
note "phase: issuance"
|
|
42
|
+
actor issuing-authority
|
|
43
|
+
description "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
|
|
44
|
+
validate_provision { EvaluationReport Application.model_family_id }
|
|
45
|
+
guard "EvaluationReport.overall_decision = APPROVED"
|
|
46
|
+
guard "Certificate.scope matches Application scope (model family + approved members)"
|
|
47
|
+
}
|
|
48
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
form r129-3/sec-3.6 {
|
|
2
|
+
name "Adjustments or modifications"
|
|
3
|
+
description "Record of any adjustments or modifications made during testing"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-3, 0.6"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.6"
|
|
7
|
+
scope administrative
|
|
8
|
+
field application_number : string {
|
|
9
|
+
label "Application no."
|
|
10
|
+
required true
|
|
11
|
+
bind application.application_number
|
|
12
|
+
}
|
|
13
|
+
field type_designation : string {
|
|
14
|
+
label "Type designation"
|
|
15
|
+
required true
|
|
16
|
+
bind model.model_designation
|
|
17
|
+
}
|
|
18
|
+
field report_date : date {
|
|
19
|
+
label "Report date"
|
|
20
|
+
required true
|
|
21
|
+
}
|
|
22
|
+
field manufacturer : string {
|
|
23
|
+
label "Manufacturer"
|
|
24
|
+
}
|
|
25
|
+
field adjustments_description : text {
|
|
26
|
+
label "Adjustments or modifications"
|
|
27
|
+
required true
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
form r129-4/sec-11 {
|
|
2
|
+
name "Checklist"
|
|
3
|
+
description "Type evaluation checklist per R 129-1 requirements"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-4, 2"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#clause-2"
|
|
7
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#clause-2.1"
|
|
8
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-10"
|
|
9
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-11"
|
|
10
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-12"
|
|
11
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-13"
|
|
12
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-14"
|
|
13
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#table-15"
|
|
14
|
+
scope administrative
|
|
15
|
+
field report_number : string {
|
|
16
|
+
label "Report no."
|
|
17
|
+
required true
|
|
18
|
+
}
|
|
19
|
+
field application_number : string {
|
|
20
|
+
label "Application no."
|
|
21
|
+
required true
|
|
22
|
+
bind application.application_number
|
|
23
|
+
}
|
|
24
|
+
field manufacturer : string {
|
|
25
|
+
label "Manufacturer"
|
|
26
|
+
required true
|
|
27
|
+
}
|
|
28
|
+
field make_and_model : string {
|
|
29
|
+
label "Make and model"
|
|
30
|
+
required true
|
|
31
|
+
}
|
|
32
|
+
field serial_number : string {
|
|
33
|
+
label "Serial no."
|
|
34
|
+
required true
|
|
35
|
+
bind sample.serial_number
|
|
36
|
+
}
|
|
37
|
+
field date : date {
|
|
38
|
+
label "Date"
|
|
39
|
+
required true
|
|
40
|
+
}
|
|
41
|
+
field observer : string {
|
|
42
|
+
label "Observer"
|
|
43
|
+
required true
|
|
44
|
+
}
|
|
45
|
+
field requirements : array {
|
|
46
|
+
label "Requirement checklist"
|
|
47
|
+
items { object fields {
|
|
48
|
+
field clause : string {
|
|
49
|
+
label "Clause"
|
|
50
|
+
}
|
|
51
|
+
field requirement : string {
|
|
52
|
+
label "Requirement"
|
|
53
|
+
}
|
|
54
|
+
field passed : boolean {
|
|
55
|
+
label "Passed"
|
|
56
|
+
true_label "Yes"
|
|
57
|
+
false_label "No"
|
|
58
|
+
}
|
|
59
|
+
field failed : boolean {
|
|
60
|
+
label "Failed"
|
|
61
|
+
true_label "Yes"
|
|
62
|
+
false_label "No"
|
|
63
|
+
}
|
|
64
|
+
field remarks : string {
|
|
65
|
+
label "Remarks"
|
|
66
|
+
}
|
|
67
|
+
} }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
form r129-3/sec-3.4 {
|
|
2
|
+
name "Configuration for test"
|
|
3
|
+
description "Configuration of the instrument used for testing"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-3, 0.5"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.5"
|
|
7
|
+
scope administrative
|
|
8
|
+
field application_number : string {
|
|
9
|
+
label "Application no."
|
|
10
|
+
required true
|
|
11
|
+
bind application.application_number
|
|
12
|
+
}
|
|
13
|
+
field type_designation : string {
|
|
14
|
+
label "Type designation"
|
|
15
|
+
required true
|
|
16
|
+
bind model.model_designation
|
|
17
|
+
}
|
|
18
|
+
field report_date : date {
|
|
19
|
+
label "Report date"
|
|
20
|
+
required true
|
|
21
|
+
}
|
|
22
|
+
field manufacturer : string {
|
|
23
|
+
label "Manufacturer"
|
|
24
|
+
required true
|
|
25
|
+
}
|
|
26
|
+
field configuration_description : text {
|
|
27
|
+
label "Configuration description"
|
|
28
|
+
required true
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
form r129-3/sec-3.3 {
|
|
2
|
+
name "Test equipment information"
|
|
3
|
+
description "Information concerning the test equipment used for type evaluation"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-3, 0.4"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.4"
|
|
7
|
+
scope administrative
|
|
8
|
+
field equipment_list : array {
|
|
9
|
+
label "Test equipment list"
|
|
10
|
+
items { object fields {
|
|
11
|
+
field name : string {
|
|
12
|
+
label "Equipment name"
|
|
13
|
+
required true
|
|
14
|
+
}
|
|
15
|
+
field type : string {
|
|
16
|
+
label "Type"
|
|
17
|
+
}
|
|
18
|
+
field reference_number : string {
|
|
19
|
+
label "Reference number"
|
|
20
|
+
}
|
|
21
|
+
field traceability : string {
|
|
22
|
+
label "Traceability"
|
|
23
|
+
}
|
|
24
|
+
} }
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
form r129-3/sec-3.2 {
|
|
2
|
+
name "General information"
|
|
3
|
+
description "General information concerning the type"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-3, 0.3"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.3"
|
|
7
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#table-3"
|
|
8
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#table-4"
|
|
9
|
+
scope administrative
|
|
10
|
+
field application_number : string {
|
|
11
|
+
label "Application no."
|
|
12
|
+
required true
|
|
13
|
+
bind application.application_number
|
|
14
|
+
}
|
|
15
|
+
field manufacturer : string {
|
|
16
|
+
label "Manufacturer"
|
|
17
|
+
required true
|
|
18
|
+
}
|
|
19
|
+
field type_designation : string {
|
|
20
|
+
label "Type designation"
|
|
21
|
+
required true
|
|
22
|
+
bind model.model_designation
|
|
23
|
+
}
|
|
24
|
+
field applicant : string {
|
|
25
|
+
label "Applicant"
|
|
26
|
+
required true
|
|
27
|
+
}
|
|
28
|
+
field instrument_category : string {
|
|
29
|
+
label "Instrument category"
|
|
30
|
+
}
|
|
31
|
+
field temperature_min : number {
|
|
32
|
+
label "Min temperature (°C)"
|
|
33
|
+
unit "degC"
|
|
34
|
+
}
|
|
35
|
+
field temperature_max : number {
|
|
36
|
+
label "Max temperature (°C)"
|
|
37
|
+
unit "degC"
|
|
38
|
+
}
|
|
39
|
+
field speed_min : string {
|
|
40
|
+
label "Min speed (m/s)"
|
|
41
|
+
}
|
|
42
|
+
field speed_max : string {
|
|
43
|
+
label "Max speed (m/s)"
|
|
44
|
+
}
|
|
45
|
+
field voltage_min : string {
|
|
46
|
+
label "Min voltage (V)"
|
|
47
|
+
}
|
|
48
|
+
field voltage_max : string {
|
|
49
|
+
label "Max voltage (V)"
|
|
50
|
+
}
|
|
51
|
+
field evaluation_period : string {
|
|
52
|
+
label "Evaluation period"
|
|
53
|
+
}
|
|
54
|
+
field date_of_report : date {
|
|
55
|
+
label "Date of report"
|
|
56
|
+
required true
|
|
57
|
+
}
|
|
58
|
+
field observer : string {
|
|
59
|
+
label "Observer"
|
|
60
|
+
required true
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
form r129-3/sec-3.1 {
|
|
2
|
+
name "Identification of the instrument"
|
|
3
|
+
description "Instrument identification and documentation references"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-3, 0.2"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#clause-0.2"
|
|
7
|
+
ref report-format "urn:oiml:pub:r:129-3:2020#table-2"
|
|
8
|
+
scope administrative
|
|
9
|
+
field application_number : string {
|
|
10
|
+
label "Application no."
|
|
11
|
+
required true
|
|
12
|
+
bind application.application_number
|
|
13
|
+
}
|
|
14
|
+
field type_designation : string {
|
|
15
|
+
label "Type designation"
|
|
16
|
+
required true
|
|
17
|
+
bind model.model_designation
|
|
18
|
+
}
|
|
19
|
+
field identification_number : string {
|
|
20
|
+
label "Identification no."
|
|
21
|
+
required true
|
|
22
|
+
bind sample.serial_number
|
|
23
|
+
}
|
|
24
|
+
field software_version : string {
|
|
25
|
+
label "Software version"
|
|
26
|
+
}
|
|
27
|
+
field report_date : date {
|
|
28
|
+
label "Report date"
|
|
29
|
+
required true
|
|
30
|
+
}
|
|
31
|
+
field documentation : array {
|
|
32
|
+
label "Manufacturer documentation"
|
|
33
|
+
items { object fields {
|
|
34
|
+
field system_name : string {
|
|
35
|
+
label "System or module name"
|
|
36
|
+
}
|
|
37
|
+
field drawing_number : string {
|
|
38
|
+
label "Drawing number / software reference"
|
|
39
|
+
}
|
|
40
|
+
field issue_level : string {
|
|
41
|
+
label "Issue level"
|
|
42
|
+
}
|
|
43
|
+
field document_id : string {
|
|
44
|
+
label "Document identification"
|
|
45
|
+
}
|
|
46
|
+
} }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
form r129-3/sec-3.5 {
|
|
2
|
+
name "Sample selection"
|
|
3
|
+
description "Selection of samples for testing"
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
section "R 129-4, 1.4"
|
|
6
|
+
ref report-format "urn:oiml:pub:r:129-4:2020#clause-1.4"
|
|
7
|
+
scope administrative
|
|
8
|
+
field application_number : string {
|
|
9
|
+
label "Application no."
|
|
10
|
+
required true
|
|
11
|
+
bind application.application_number
|
|
12
|
+
}
|
|
13
|
+
field type_designation : string {
|
|
14
|
+
label "Type designation"
|
|
15
|
+
required true
|
|
16
|
+
bind model.model_designation
|
|
17
|
+
}
|
|
18
|
+
field report_date : date {
|
|
19
|
+
label "Report date"
|
|
20
|
+
required true
|
|
21
|
+
}
|
|
22
|
+
field manufacturer : string {
|
|
23
|
+
label "Manufacturer"
|
|
24
|
+
}
|
|
25
|
+
field sample_description : text {
|
|
26
|
+
label "Sample description"
|
|
27
|
+
required true
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|