@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,360 @@
|
|
|
1
|
+
class QuantityValue#data {
|
|
2
|
+
description { "Number + optional unit — the INV-1 workhorse (\"no bare numbers\"). Instantiation of metamodel Module A QuantityValue, reduced to the two fields the R 144 parameter layer needs." }
|
|
3
|
+
helper { true }
|
|
4
|
+
value: any {
|
|
5
|
+
modality SHALL
|
|
6
|
+
definition "Decimal or string value (string for enum-like parameter values)"
|
|
7
|
+
}
|
|
8
|
+
unit: string [0..1] {
|
|
9
|
+
modality MAY
|
|
10
|
+
definition "Unit id from value-types.yaml units (ppm, degC, kPa, V, Hz, s, min, L/min, mg/m3, %, ...); absent only for dimensionless/string values"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class CustodyEvent#data {
|
|
15
|
+
description { "Append-only chain-of-custody record, embedded in MeasuringInstrumentSample.custody_events" }
|
|
16
|
+
helper { true }
|
|
17
|
+
sample_id: reference(MeasuringInstrumentSample) {
|
|
18
|
+
modality SHALL
|
|
19
|
+
on_delete cascade
|
|
20
|
+
required true
|
|
21
|
+
}
|
|
22
|
+
event_type: enum {
|
|
23
|
+
modality SHALL
|
|
24
|
+
enum_values { REQUESTED SHIPPED RECEIVED ASSIGNED_TO_TEST RETURNED DISPOSED }
|
|
25
|
+
}
|
|
26
|
+
from_party_id: string [0..1] {
|
|
27
|
+
modality MAY
|
|
28
|
+
definition "Party that held the sample before this event"
|
|
29
|
+
}
|
|
30
|
+
to_party_id: string {
|
|
31
|
+
modality SHALL
|
|
32
|
+
definition "Party that holds the sample after this event"
|
|
33
|
+
}
|
|
34
|
+
timestamp: datetime {
|
|
35
|
+
modality SHALL
|
|
36
|
+
}
|
|
37
|
+
notes: text [0..1] {
|
|
38
|
+
modality MAY
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
class OperationalStateEntry#data {
|
|
43
|
+
description { "One entry of a sample's operational-state trajectory (TODO.roadmap/07 + task 29, primmel StateTrajectoryEntry): the machine ENTERED `state` at `at` because `fired_by` recorded the transition fire. Append-only evidence — lands in the run's trace next to the conditions log." }
|
|
44
|
+
helper { true }
|
|
45
|
+
state: string {
|
|
46
|
+
modality SHALL
|
|
47
|
+
definition "Node of the operational machine entered (e.g. warming_up, ready)"
|
|
48
|
+
}
|
|
49
|
+
at: datetime {
|
|
50
|
+
modality SHALL
|
|
51
|
+
definition "ISO-8601 timestamp of the entry"
|
|
52
|
+
}
|
|
53
|
+
fired_by: string {
|
|
54
|
+
modality SHALL
|
|
55
|
+
definition "Who/what fired the transition (operator name, process step id; '' = genesis)"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
class OperationalState#data {
|
|
60
|
+
description { "A sample's current node in one OPERATIONAL state machine (TODO.roadmap/07 + task 29) — instance-level data of the machine declared in data/<rec>/model/state.yaml. Strictly separate from `status` (the measuring_instrument_sample LIFECYCLE machine): the families never mix (primmel C38)." }
|
|
61
|
+
helper { true }
|
|
62
|
+
machine: string {
|
|
63
|
+
modality SHALL
|
|
64
|
+
definition "Id of the operational state machine (model/state.yaml state_machines[].id)"
|
|
65
|
+
}
|
|
66
|
+
current: string {
|
|
67
|
+
modality SHALL
|
|
68
|
+
definition "The machine's current node (e.g. off, warming_up, ready, measuring)"
|
|
69
|
+
}
|
|
70
|
+
trajectory: reference(OperationalStateEntry) [0..*] {
|
|
71
|
+
modality MAY
|
|
72
|
+
definition "Append-only state-entry log (embedded)"
|
|
73
|
+
on_delete cascade
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
class PhysicalDimensions#data {
|
|
78
|
+
description { "The sample's physical dimensions as registered on receipt (R 60-3, 4.9.10 — the report form's load-cell-dimensions entry, whose table carries the pictures/drawings of the dimensions). Every facet is an optional quantity-with-unit in mm; only the dimensions relevant to the instrument's shape are recorded (a cylindrical load cell records height + diameter, never length/width)." }
|
|
79
|
+
helper { true }
|
|
80
|
+
length: reference(QuantityValue) [0..1] {
|
|
81
|
+
modality MAY
|
|
82
|
+
definition "Overall length (QuantityValue { value, unit: mm })"
|
|
83
|
+
}
|
|
84
|
+
width: reference(QuantityValue) [0..1] {
|
|
85
|
+
modality MAY
|
|
86
|
+
definition "Overall width (QuantityValue { value, unit: mm })"
|
|
87
|
+
}
|
|
88
|
+
height: reference(QuantityValue) [0..1] {
|
|
89
|
+
modality MAY
|
|
90
|
+
definition "Overall height (QuantityValue { value, unit: mm })"
|
|
91
|
+
}
|
|
92
|
+
diameter: reference(QuantityValue) [0..1] {
|
|
93
|
+
modality MAY
|
|
94
|
+
definition "Body diameter (QuantityValue { value, unit: mm })"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
class MeasuringInstrumentModelFamily#data {
|
|
99
|
+
store { measuringInstrumentModelFamilies }
|
|
100
|
+
description { "Family of measuring instruments (OIML V 1:2022, 4.02). HAS MANY Models (optionally via Groups). Its classification and parameters act as defaults inherited by its groups/models (INV-10)." }
|
|
101
|
+
indexes { manufacturer_id standard_id }
|
|
102
|
+
id: string {
|
|
103
|
+
modality SHALL
|
|
104
|
+
}
|
|
105
|
+
standard_id: string {
|
|
106
|
+
modality SHALL
|
|
107
|
+
}
|
|
108
|
+
family_designation: string {
|
|
109
|
+
modality SHALL
|
|
110
|
+
definition "Human-readable family designation (e.g. 'ACME GA-100 Series')"
|
|
111
|
+
}
|
|
112
|
+
family_code: string [0..1] {
|
|
113
|
+
modality MAY
|
|
114
|
+
definition "Short code used in certificate numbers and URIs"
|
|
115
|
+
}
|
|
116
|
+
manufacturer_id: reference(Manufacturer) {
|
|
117
|
+
modality SHALL
|
|
118
|
+
on_delete restrict
|
|
119
|
+
required true
|
|
120
|
+
}
|
|
121
|
+
classification: map<dimension_id, string> [0..1] {
|
|
122
|
+
modality MAY
|
|
123
|
+
definition "Family-level dimension defaults (family-scope axes: measuring_principle, sampling_approach)"
|
|
124
|
+
}
|
|
125
|
+
parameters: map<attribute_id, QuantityValue> [0..1] {
|
|
126
|
+
modality MAY
|
|
127
|
+
definition "Family-scope attribute defaults (attributes.yaml scope: family — t_min, t_max, rh_max, p_atm_min, p_atm_max, wetted_materials)"
|
|
128
|
+
}
|
|
129
|
+
created: datetime {
|
|
130
|
+
modality SHALL
|
|
131
|
+
}
|
|
132
|
+
modified: datetime {
|
|
133
|
+
modality SHALL
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
class MeasuringInstrumentModelGroup#data {
|
|
138
|
+
store { measuringInstrumentModelGroups }
|
|
139
|
+
description { "Sub-grouping within a MeasuringInstrumentModelFamily. A group carries the metrological characteristics its member Models share; Models resolve them by delegation (INV-10). Unused for R 144 (no group level)." }
|
|
140
|
+
indexes { family_id manufacturer_id standard_id }
|
|
141
|
+
id: string {
|
|
142
|
+
modality SHALL
|
|
143
|
+
}
|
|
144
|
+
standard_id: string {
|
|
145
|
+
modality SHALL
|
|
146
|
+
}
|
|
147
|
+
family_id: reference(MeasuringInstrumentModelFamily) {
|
|
148
|
+
modality SHALL
|
|
149
|
+
on_delete cascade
|
|
150
|
+
required true
|
|
151
|
+
}
|
|
152
|
+
manufacturer_id: reference(Manufacturer) {
|
|
153
|
+
modality SHALL
|
|
154
|
+
definition "Denormalized from family_id.manufacturer_id"
|
|
155
|
+
on_delete restrict
|
|
156
|
+
required true
|
|
157
|
+
}
|
|
158
|
+
group_label: string {
|
|
159
|
+
modality SHALL
|
|
160
|
+
definition "Compact label combining the group's identical characteristics"
|
|
161
|
+
}
|
|
162
|
+
classification: map<dimension_id, string> [0..1] {
|
|
163
|
+
modality MAY
|
|
164
|
+
definition "Group-scope dimensions"
|
|
165
|
+
}
|
|
166
|
+
parameters: map<attribute_id, QuantityValue> [0..1] {
|
|
167
|
+
modality MAY
|
|
168
|
+
definition "Group-identical characteristics"
|
|
169
|
+
}
|
|
170
|
+
created: datetime {
|
|
171
|
+
modality SHALL
|
|
172
|
+
}
|
|
173
|
+
modified: datetime {
|
|
174
|
+
modality SHALL
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
class MeasuringInstrumentModel#data {
|
|
179
|
+
store { measuringInstrumentModels }
|
|
180
|
+
description { "A model of measuring instrument — the subject of type evaluation and approval. Attribute values not set here resolve through group -> family delegation (INV-10)." }
|
|
181
|
+
indexes { family_id group_id manufacturer_id standard_id }
|
|
182
|
+
id: string {
|
|
183
|
+
modality SHALL
|
|
184
|
+
}
|
|
185
|
+
standard_id: string {
|
|
186
|
+
modality SHALL
|
|
187
|
+
}
|
|
188
|
+
model_designation: string {
|
|
189
|
+
modality SHALL
|
|
190
|
+
definition "Specific model designation (e.g. 'ACME-GA-100-CO-NOx')"
|
|
191
|
+
}
|
|
192
|
+
manufacturer_id: reference(Manufacturer) {
|
|
193
|
+
modality SHALL
|
|
194
|
+
on_delete restrict
|
|
195
|
+
required true
|
|
196
|
+
}
|
|
197
|
+
family_id: reference(MeasuringInstrumentModelFamily) {
|
|
198
|
+
modality SHALL
|
|
199
|
+
on_delete restrict
|
|
200
|
+
required true
|
|
201
|
+
}
|
|
202
|
+
group_id: reference(MeasuringInstrumentModelGroup) [0..1] {
|
|
203
|
+
modality MAY
|
|
204
|
+
definition "Unused for R 144 (no group level)"
|
|
205
|
+
on_delete restrict
|
|
206
|
+
required false
|
|
207
|
+
}
|
|
208
|
+
hardware_revision: string [0..1] {
|
|
209
|
+
modality MAY
|
|
210
|
+
}
|
|
211
|
+
type_approval_ref: reference(Certificate) [0..1] {
|
|
212
|
+
modality MAY
|
|
213
|
+
definition "Certificate issued for this model — filled after D3 approval"
|
|
214
|
+
on_delete nullify
|
|
215
|
+
required false
|
|
216
|
+
}
|
|
217
|
+
description: text [0..1] {
|
|
218
|
+
modality MAY
|
|
219
|
+
}
|
|
220
|
+
classification: map<dimension_id, string> [0..1] {
|
|
221
|
+
modality MAY
|
|
222
|
+
definition "Model dimension values/overrides (measurand_components, adjustment_means, power_supply; measuring_principle, sampling_approach overrides of family defaults)"
|
|
223
|
+
}
|
|
224
|
+
parameters: map<attribute_id, QuantityValue> [0..1] {
|
|
225
|
+
modality MAY
|
|
226
|
+
definition "Model-scope attributes (co_range_min/max, no_range_min/max, no2_range_min/max, response_time, warm_up_time, supply_voltage, supply_frequency, battery_voltage_min, probe/analyzer gas temp + particulate maxima, gas_flow_rate_*, vibration_severity, interfering_components, indication_unit, storage_t_min/max, software_identification)"
|
|
227
|
+
}
|
|
228
|
+
capabilities: string[] [0..*] {
|
|
229
|
+
modality MAY
|
|
230
|
+
definition "Capability ids from data/r144/model/capabilities.yaml"
|
|
231
|
+
}
|
|
232
|
+
created: datetime {
|
|
233
|
+
modality SHALL
|
|
234
|
+
}
|
|
235
|
+
modified: datetime {
|
|
236
|
+
modality SHALL
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
class MeasuringInstrumentSample#data {
|
|
241
|
+
store { measuringInstrumentSamples }
|
|
242
|
+
description { "A physical instance of a MeasuringInstrumentModel submitted for type evaluation. Tracks receipt, dispatch to test labs, and return/disposal through the embedded custody_events log (PD-05 §4.3)." }
|
|
243
|
+
indexes { model_id application_id manufacturer_id serial_number status standard_id }
|
|
244
|
+
id: string {
|
|
245
|
+
modality SHALL
|
|
246
|
+
}
|
|
247
|
+
standard_id: string {
|
|
248
|
+
modality SHALL
|
|
249
|
+
}
|
|
250
|
+
sample_number: string [0..1] {
|
|
251
|
+
modality MAY
|
|
252
|
+
definition "IA-assigned sample number (e.g. 'S-2024-001')"
|
|
253
|
+
}
|
|
254
|
+
serial_number: string {
|
|
255
|
+
modality SHALL
|
|
256
|
+
definition "Manufacturer's serial number on the physical instrument"
|
|
257
|
+
}
|
|
258
|
+
model_id: reference(MeasuringInstrumentModel) {
|
|
259
|
+
modality SHALL
|
|
260
|
+
definition "Catalog model this sample is an instance of"
|
|
261
|
+
on_delete restrict
|
|
262
|
+
required true
|
|
263
|
+
}
|
|
264
|
+
manufacturer_id: reference(Manufacturer) {
|
|
265
|
+
modality SHALL
|
|
266
|
+
on_delete restrict
|
|
267
|
+
required true
|
|
268
|
+
}
|
|
269
|
+
application_id: reference(Application) [0..1] {
|
|
270
|
+
modality MAY
|
|
271
|
+
definition "Application this sample was logged against"
|
|
272
|
+
on_delete restrict
|
|
273
|
+
required false
|
|
274
|
+
}
|
|
275
|
+
manufacturing_date: date [0..1] {
|
|
276
|
+
modality MAY
|
|
277
|
+
}
|
|
278
|
+
received_date: date [0..1] {
|
|
279
|
+
modality MAY
|
|
280
|
+
}
|
|
281
|
+
condition: enum {
|
|
282
|
+
modality SHALL
|
|
283
|
+
definition "The condition the sample arrived in, recorded at receipt registration (the physical instrument's received state)"
|
|
284
|
+
enum_values { NEW USED REFURBISHED DAMAGED }
|
|
285
|
+
}
|
|
286
|
+
condition_notes: text [0..1] {
|
|
287
|
+
modality MAY
|
|
288
|
+
}
|
|
289
|
+
photographs: reference(DocumentRef) [0..*] {
|
|
290
|
+
modality MAY
|
|
291
|
+
definition "Receipt photograph(s) of the physical instrument (R 60-3, 4.9.4 — the report form carries the sample's photographs); the document-store blob slots carry the bytes when the store is bound, the file-name reference otherwise"
|
|
292
|
+
}
|
|
293
|
+
status: enum {
|
|
294
|
+
modality SHALL
|
|
295
|
+
definition "Lifecycle per evaluation/state-machines.yaml measuring_instrument_sample machine"
|
|
296
|
+
enum_values { REQUESTED IN_TRANSIT RECEIVED IN_TESTING TESTING_COMPLETE RETURNED RETAINED DESTROYED DISPOSED }
|
|
297
|
+
}
|
|
298
|
+
current_location: string [0..1] {
|
|
299
|
+
modality MAY
|
|
300
|
+
}
|
|
301
|
+
current_custodian_id: string [0..1] {
|
|
302
|
+
modality MAY
|
|
303
|
+
definition "Reference to the org currently holding the sample (IA, lab, manufacturer)"
|
|
304
|
+
}
|
|
305
|
+
custody_events: reference(CustodyEvent) [0..*] {
|
|
306
|
+
modality SHALL
|
|
307
|
+
definition "Append-only chain-of-custody log (embedded)"
|
|
308
|
+
on_delete cascade
|
|
309
|
+
}
|
|
310
|
+
disposal_method: enum [0..1] {
|
|
311
|
+
modality MAY
|
|
312
|
+
enum_values { RETURNED RECYCLED DESTROYED RETAINED }
|
|
313
|
+
}
|
|
314
|
+
disposal_date: date [0..1] {
|
|
315
|
+
modality MAY
|
|
316
|
+
}
|
|
317
|
+
disposal_certificate: reference(DocumentRef) [0..1] {
|
|
318
|
+
modality MAY
|
|
319
|
+
}
|
|
320
|
+
test_context: map<attribute_id, QuantityValue> [0..1] {
|
|
321
|
+
modality MAY
|
|
322
|
+
definition "Sample-scope test-dependent attributes (attributes.yaml origin: test-dependent); unused for R 144 — CGM test points are run observables, not subject attributes"
|
|
323
|
+
}
|
|
324
|
+
physical_dimensions: reference(PhysicalDimensions) [0..1] {
|
|
325
|
+
modality MAY
|
|
326
|
+
definition "Physical dimensions registered on receipt (R 60-3, 4.9.10 — the report form's load-cell-dimensions entry); embedded, each facet a QuantityValue in mm"
|
|
327
|
+
}
|
|
328
|
+
selected_for_evaluation: boolean [0..1] {
|
|
329
|
+
modality MAY
|
|
330
|
+
definition "The IA's selection of this sample for the type evaluation (R 60-3, 4.7 — selection of the sample(s) tested): the evaluation tests a subset of the received samples; absent/false = not selected. Only a registered (received) sample is selectable."
|
|
331
|
+
}
|
|
332
|
+
selection_justification: text [0..1] {
|
|
333
|
+
modality MAY
|
|
334
|
+
definition "The recorded justification of the selection decision (R 60-3, 4.7.2 — justification of the selection of the test sample(s), referring to R 60-2, 2.3/2.4 and Annex D)"
|
|
335
|
+
}
|
|
336
|
+
verification_state: enum [0..1] {
|
|
337
|
+
modality MAY
|
|
338
|
+
definition "Verification lifecycle state (TODO.roadmap/21, metamodel v0.6.1) — the sample_verification state machine of evaluation/state-machines.yaml: NOT_VERIFIED → VERIFIED (a verification passes) → REVERIFICATION_DUE (timer: validity window elapsed) | INVALIDATED (signal: an out-of-cycle trigger such as a tyre change) → VERIFIED (re-verification passes). Absent = never verified."
|
|
339
|
+
enum_values { NOT_VERIFIED VERIFIED REVERIFICATION_DUE INVALIDATED }
|
|
340
|
+
}
|
|
341
|
+
seals: reference(SealStatus) [0..*] {
|
|
342
|
+
modality MAY
|
|
343
|
+
definition "Current seal status on the sample (embedded) — set/renewed by passed verifications (marking and securing, e.g. R 91-1, 7.13/8.2.4)"
|
|
344
|
+
}
|
|
345
|
+
verification_signals: reference(VerificationSignal) [0..*] {
|
|
346
|
+
modality MAY
|
|
347
|
+
definition "Posted out-of-cycle verification signals (embedded) — the signal-event channel of the re-verification triggers (e.g. tyre-change on an ego speed meter, R 91-1, 6.15.3 Note 2); consumed by the trigger engine"
|
|
348
|
+
}
|
|
349
|
+
operational_state: reference(OperationalState) [0..1] {
|
|
350
|
+
modality MAY
|
|
351
|
+
definition "The sample's current node in the rec's OPERATIONAL state machine (data/<rec>/model/state.yaml, TODO.roadmap/07 + task 29 — e.g. the R 144 warm-up machine off → warming_up → ready → measuring). Instance-level HAS state with an append-only trajectory; tests gate on it via the precondition `state:` facet (violation ⇒ run invalid, never fail). Absent = no operational state tracked (the gate reads the machine's initial node). Strictly separate from `status` (lifecycle family)."
|
|
352
|
+
}
|
|
353
|
+
created: datetime {
|
|
354
|
+
modality SHALL
|
|
355
|
+
}
|
|
356
|
+
modified: datetime {
|
|
357
|
+
modality SHALL
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
class TestRunEquipment#data {
|
|
2
|
+
description { "One piece of test equipment used in a run (metamodel D2 TestRun.equipment entry { id, calCert? }). Identity only — equipment is modelled as conditions (data/r144/model/conditions.yaml), not as an entity hierarchy." }
|
|
3
|
+
helper { true }
|
|
4
|
+
id: string {
|
|
5
|
+
modality SHALL
|
|
6
|
+
definition "Lab-local equipment identifier (e.g. force machine, chamber)"
|
|
7
|
+
}
|
|
8
|
+
cal_cert: string [0..1] {
|
|
9
|
+
modality MAY
|
|
10
|
+
definition "Calibration certificate reference (traceability)"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class ConditionsLogEntry#data {
|
|
15
|
+
description { "One logged influence-quantity value captured alongside a measurement (metamodel D2 EvidenceRecord.conditionsLog entry { quantityKind, value, unit }); quantity kinds per data/r144/model/conditions.yaml." }
|
|
16
|
+
helper { true }
|
|
17
|
+
quantity_kind: string {
|
|
18
|
+
modality SHALL
|
|
19
|
+
definition "Influence quantity kind (temperature, relative_humidity, barometric_pressure, ...)"
|
|
20
|
+
}
|
|
21
|
+
value: any {
|
|
22
|
+
modality SHALL
|
|
23
|
+
}
|
|
24
|
+
unit: string [0..1] {
|
|
25
|
+
modality MAY
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
class EvidenceRecord#data {
|
|
30
|
+
description { "A filled data-input slot of the run — mandatory evidence, typed by the form field it satisfies (metamodel D2 EvidenceRecord, embedded on TestRun.evidence). Per-measurement sign-off lives HERE (signed_by/signed_at), not on the FormInstance." }
|
|
31
|
+
helper { true }
|
|
32
|
+
field: string {
|
|
33
|
+
modality SHALL
|
|
34
|
+
definition "Form field name (data-input slot) this record fills, e.g. 'dmax', 'test_loads'"
|
|
35
|
+
}
|
|
36
|
+
value: reference(QuantityValue) {
|
|
37
|
+
modality SHALL
|
|
38
|
+
definition "Recorded value — QuantityValue { value, unit? }, never a bare number (INV-1)"
|
|
39
|
+
}
|
|
40
|
+
repetition: integer [0..1] {
|
|
41
|
+
modality MAY
|
|
42
|
+
definition "Repetition index (1-based) when the same slot is measured repeatedly"
|
|
43
|
+
}
|
|
44
|
+
conditions_log: reference(ConditionsLogEntry) [0..*] {
|
|
45
|
+
modality MAY
|
|
46
|
+
definition "Influence-quantity values logged at capture time (embedded)"
|
|
47
|
+
on_delete cascade
|
|
48
|
+
}
|
|
49
|
+
timestamp: datetime {
|
|
50
|
+
modality SHALL
|
|
51
|
+
}
|
|
52
|
+
signed_by: string [0..1] {
|
|
53
|
+
modality MAY
|
|
54
|
+
definition "Lab evaluator/supervisor name who signed this measurement off"
|
|
55
|
+
}
|
|
56
|
+
signed_by_account: string [0..1] {
|
|
57
|
+
modality MAY
|
|
58
|
+
definition "Account id of the signing operator (per-entry attribution for multi-operator runs, TODO.deploying/05); signed_by stays the display name"
|
|
59
|
+
}
|
|
60
|
+
signed_at: datetime [0..1] {
|
|
61
|
+
modality MAY
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
class RunOperator#data {
|
|
66
|
+
description { "One lab operator of a multi-operator test run (TODO.deploying/05 — loads need two people: one moves masses, one reads the instrument). Embedded on TestRun.operators; every evidence entry's sign-off attributes to one of these accounts. Provenance is per-entry and per-run — never just 'the lab'." }
|
|
67
|
+
helper { true }
|
|
68
|
+
account_id: string {
|
|
69
|
+
modality SHALL
|
|
70
|
+
definition "The operator's account id (the auth account's id; provenance key)"
|
|
71
|
+
}
|
|
72
|
+
name: string {
|
|
73
|
+
modality SHALL
|
|
74
|
+
definition "Display name"
|
|
75
|
+
}
|
|
76
|
+
role_note: string [0..1] {
|
|
77
|
+
modality MAY
|
|
78
|
+
definition "What this operator did on the run (lead, load handling, readings, …)"
|
|
79
|
+
}
|
|
80
|
+
signed_off_at: datetime [0..1] {
|
|
81
|
+
modality MAY
|
|
82
|
+
definition "When this operator signed off their part of the run's evidence"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
class ConstraintCheckResult#data {
|
|
87
|
+
description { "Execution of one instrument-description.Constraint (R 144 profile DL.5, e.g. constr:r144:fig3-2b) against the run's bound values (metamodel D2 ConstraintCheck, embedded on TestRun.constraint_checks). A violated test-setup constraint invalidates the run AS A TEST, regardless of results." }
|
|
88
|
+
helper { true }
|
|
89
|
+
constraint: string {
|
|
90
|
+
modality SHALL
|
|
91
|
+
definition "Constraint id from the Recommendation profile (e.g. 'constr:r144:fig3-2b')"
|
|
92
|
+
}
|
|
93
|
+
evaluated_values: object {
|
|
94
|
+
modality SHALL
|
|
95
|
+
definition "Input name -> numeric value the OCL invariant was evaluated with"
|
|
96
|
+
}
|
|
97
|
+
result: enum {
|
|
98
|
+
modality SHALL
|
|
99
|
+
enum_values { satisfied violated }
|
|
100
|
+
}
|
|
101
|
+
effect_on_admissibility: string {
|
|
102
|
+
modality SHALL
|
|
103
|
+
definition "'invalidates_run' when a violated test-setup constraint voids the run; 'none' otherwise"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
class RunAdmissibility#data {
|
|
108
|
+
description { "The admissibility gate of a run (metamodel D2 TestRunResult.admissibility map). Computed by the test-run service from evidence coverage, evidence units, and constraint-check outcomes." }
|
|
109
|
+
helper { true }
|
|
110
|
+
all_required_slots_filled: boolean {
|
|
111
|
+
modality SHALL
|
|
112
|
+
}
|
|
113
|
+
units_valid: boolean {
|
|
114
|
+
modality SHALL
|
|
115
|
+
}
|
|
116
|
+
conditions_within_envelope: boolean {
|
|
117
|
+
modality SHALL
|
|
118
|
+
}
|
|
119
|
+
status: enum {
|
|
120
|
+
modality SHALL
|
|
121
|
+
enum_values { admissible inadmissible }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
class TestRun#data {
|
|
126
|
+
store { testRuns }
|
|
127
|
+
description { "One execution of one conformance test on one MeasuringInstrumentSample (metamodel D2 TestRun). Created per TestAssignment by the test-run service (one run per assignment, idempotent); bridged 1:1 to the FormInstance that acts as the run's evidence template. FACTS ONLY — verdicts belong to evaluation (Module D3)." }
|
|
128
|
+
indexes { test_assignment_id test_request_id sample_id laboratory_id standard_id status form_instance_id }
|
|
129
|
+
id: string {
|
|
130
|
+
modality SHALL
|
|
131
|
+
}
|
|
132
|
+
standard_id: string {
|
|
133
|
+
modality SHALL
|
|
134
|
+
}
|
|
135
|
+
conformance_test: string {
|
|
136
|
+
modality SHALL
|
|
137
|
+
definition "Conformance test id this run executes (form's conformance_test URN when declared, else the R 144-3 form id)"
|
|
138
|
+
}
|
|
139
|
+
test_assignment_id: reference(TestAssignment) {
|
|
140
|
+
modality SHALL
|
|
141
|
+
definition "The assignment (form × sample tuple) this run executes — one run per assignment"
|
|
142
|
+
on_delete cascade
|
|
143
|
+
required true
|
|
144
|
+
}
|
|
145
|
+
test_request_id: reference(TestRequest) [0..1] {
|
|
146
|
+
modality MAY
|
|
147
|
+
definition "Denormalized from the assignment for query efficiency"
|
|
148
|
+
on_delete nullify
|
|
149
|
+
required false
|
|
150
|
+
}
|
|
151
|
+
sample_id: reference(MeasuringInstrumentSample) {
|
|
152
|
+
modality SHALL
|
|
153
|
+
definition "The physical sample under test"
|
|
154
|
+
on_delete restrict
|
|
155
|
+
required true
|
|
156
|
+
}
|
|
157
|
+
laboratory_id: reference(TestLaboratory) {
|
|
158
|
+
modality SHALL
|
|
159
|
+
definition "Lab performing the run (denormalized from the assignment)"
|
|
160
|
+
on_delete restrict
|
|
161
|
+
required true
|
|
162
|
+
}
|
|
163
|
+
method_version: string [0..1] {
|
|
164
|
+
modality MAY
|
|
165
|
+
definition "Version pin of the test method/form schema (metamodel D2 methodVersion)"
|
|
166
|
+
}
|
|
167
|
+
operator: string [0..1] {
|
|
168
|
+
modality MAY
|
|
169
|
+
definition "Lab evaluator performing the run — the derived LEAD (operators[0].name) for compatibility; the full team lives in operators"
|
|
170
|
+
}
|
|
171
|
+
operators: reference(RunOperator) [0..*] {
|
|
172
|
+
modality MAY
|
|
173
|
+
definition "The lab operators who ran this run (multi-operator runs, TODO.deploying/05 — e.g. load handling needs two people); each entry signs off its own part of the evidence. operators[0] is the lead (the singular `operator` mirrors its name)"
|
|
174
|
+
on_delete cascade
|
|
175
|
+
}
|
|
176
|
+
started: datetime {
|
|
177
|
+
modality SHALL
|
|
178
|
+
}
|
|
179
|
+
ended: datetime [0..1] {
|
|
180
|
+
modality MAY
|
|
181
|
+
}
|
|
182
|
+
status: enum {
|
|
183
|
+
modality SHALL
|
|
184
|
+
definition "Lifecycle: PLANNED (created, no evidence yet) → IN_PROGRESS (evidence being recorded) → COMPLETED (admissible, form submitted) | INVALIDATED (a test-setup constraint was violated or the evidence is inadmissible — the run is void AS A TEST)."
|
|
185
|
+
enum_values { PLANNED IN_PROGRESS COMPLETED INVALIDATED }
|
|
186
|
+
}
|
|
187
|
+
equipment: reference(TestRunEquipment) [0..*] {
|
|
188
|
+
modality SHALL
|
|
189
|
+
definition "Equipment used, with calibration references (embedded)"
|
|
190
|
+
on_delete cascade
|
|
191
|
+
}
|
|
192
|
+
evidence: reference(EvidenceRecord) [0..*] {
|
|
193
|
+
modality SHALL
|
|
194
|
+
definition "Recorded data-input values with per-measurement sign-off (embedded)"
|
|
195
|
+
on_delete cascade
|
|
196
|
+
}
|
|
197
|
+
superseded_evidence: reference(EvidenceRecord) [0..*] {
|
|
198
|
+
modality MAY
|
|
199
|
+
definition "Evidence archive of a redone run (embedded): when an INVALIDATED run is redone (redoRun), its current evidence moves here verbatim — history is kept but no longer participates in admissibility."
|
|
200
|
+
on_delete cascade
|
|
201
|
+
}
|
|
202
|
+
redo_count: integer [0..1] {
|
|
203
|
+
modality MAY
|
|
204
|
+
definition "Number of times this run was redone from INVALIDATED (redoRun)"
|
|
205
|
+
}
|
|
206
|
+
constraint_checks: reference(ConstraintCheckResult) [0..*] {
|
|
207
|
+
modality SHALL
|
|
208
|
+
definition "Executed test-setup constraint checks (embedded; fig3-1/2a/2b, interval-consistency)"
|
|
209
|
+
on_delete cascade
|
|
210
|
+
}
|
|
211
|
+
form_instance_id: reference(FormInstance) [0..1] {
|
|
212
|
+
modality MAY
|
|
213
|
+
definition "1:1 link to the FormInstance that is the run's evidence template"
|
|
214
|
+
on_delete nullify
|
|
215
|
+
required false
|
|
216
|
+
}
|
|
217
|
+
admissibility: reference(RunAdmissibility) [0..1] {
|
|
218
|
+
modality MAY
|
|
219
|
+
definition "Computed admissibility gate (embedded helper); refreshed by computeAdmissibility"
|
|
220
|
+
}
|
|
221
|
+
created: datetime {
|
|
222
|
+
modality SHALL
|
|
223
|
+
}
|
|
224
|
+
modified: datetime {
|
|
225
|
+
modality SHALL
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|