@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.
Files changed (460) hide show
  1. package/AGENTS.md +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +68 -0
  4. package/acme-cgm-200/model/cgm200.prl +284 -0
  5. package/acme-cgm-200/model/r144-map.prl +337 -0
  6. package/acme-cgm-200/package.primmel +39 -0
  7. package/acme-cgm-system/model/cgm-system.prl +125 -0
  8. package/acme-cgm-system/model/r144-map.prl +75 -0
  9. package/acme-cgm-system/model/sample-line.prl +42 -0
  10. package/acme-cgm-system/package.primmel +23 -0
  11. package/acme-lc500/model/lc500.prl +218 -0
  12. package/acme-lc500/model/passport.prl +43 -0
  13. package/acme-lc500/model/r60-map.prl +161 -0
  14. package/acme-lc500/model/twin-cert-map.prl +114 -0
  15. package/acme-lc500/package.primmel +35 -0
  16. package/acme-md3xx/model/md350.prl +317 -0
  17. package/acme-md3xx/model/r129-map.prl +346 -0
  18. package/acme-md3xx/package.primmel +49 -0
  19. package/acme-rs180/model/r91-map.prl +234 -0
  20. package/acme-rs180/model/rs180.prl +236 -0
  21. package/acme-rs180/package.primmel +47 -0
  22. package/ims-demo/model/ims.prl +23 -0
  23. package/ims-demo/model/isms-map.prl +60 -0
  24. package/ims-demo/model/qms-map.prl +73 -0
  25. package/ims-demo/package.primmel +42 -0
  26. package/isms-ref/model/isms.prl +34 -0
  27. package/isms-ref/package.primmel +35 -0
  28. package/iso-iec-17000/package.primmel +8 -0
  29. package/iso-iec-17000/terminology.prl +268 -0
  30. package/iso-iec-17025/package.primmel +10 -0
  31. package/iso-iec-17025/specification/requirements/lab.prl +474 -0
  32. package/iso-iec-17025/terminology.prl +72 -0
  33. package/iso-iec-17065/package.primmel +10 -0
  34. package/iso-iec-17065/specification/requirements/body.prl +446 -0
  35. package/iso-iec-17065/terminology.prl +103 -0
  36. package/iso-iec-17067/package.primmel +10 -0
  37. package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
  38. package/iso-iec-17067/terminology.prl +24 -0
  39. package/oiml-cs/package.primmel +10 -0
  40. package/oiml-cs/specification/discrepancies.prl +26 -0
  41. package/oiml-cs/specification/requirements/cs.prl +515 -0
  42. package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
  43. package/oiml-cs-dataspace/package.primmel +9 -0
  44. package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
  45. package/oiml-cs-dataspace/specification/policies.prl +68 -0
  46. package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
  47. package/oiml-integrated-ref/package.primmel +10 -0
  48. package/oiml-r129/.primmel-allowlist.prl +2 -0
  49. package/oiml-r129/evaluation/processes.prl +152 -0
  50. package/oiml-r129/evaluation/workflow.prl +48 -0
  51. package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
  52. package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
  53. package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
  54. package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
  55. package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
  56. package/oiml-r129/execution/forms/admin/identification.prl +49 -0
  57. package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
  58. package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
  59. package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
  60. package/oiml-r129/execution/forms/emc/esd.prl +66 -0
  61. package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
  62. package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
  63. package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
  64. package/oiml-r129/execution/forms/emc/surge.prl +61 -0
  65. package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
  66. package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
  67. package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
  68. package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
  69. package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
  70. package/oiml-r129/execution/forms/shared/headers.prl +86 -0
  71. package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
  72. package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
  73. package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
  74. package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
  75. package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
  76. package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
  77. package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
  78. package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
  79. package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
  80. package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
  81. package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
  82. package/oiml-r129/layers.prl +50 -0
  83. package/oiml-r129/model/attributes.prl +243 -0
  84. package/oiml-r129/model/behaviors.prl +79 -0
  85. package/oiml-r129/model/capabilities.prl +29 -0
  86. package/oiml-r129/model/characteristics.prl +8 -0
  87. package/oiml-r129/model/conditions.prl +23 -0
  88. package/oiml-r129/model/instrument.prl +67 -0
  89. package/oiml-r129/model/state.prl +22 -0
  90. package/oiml-r129/model/twin.prl +23 -0
  91. package/oiml-r129/package.primmel +15 -0
  92. package/oiml-r129/payload/application.yaml +40 -0
  93. package/oiml-r129/payload/conditions-common-test.yaml +8 -0
  94. package/oiml-r129/payload/formulas-variants.yaml +33 -0
  95. package/oiml-r129/payload/promises.yaml +102 -0
  96. package/oiml-r129/payload/sample-data.yaml +300 -0
  97. package/oiml-r129/references.prl +306 -0
  98. package/oiml-r129/sources-prd/coverage.json +59 -0
  99. package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
  100. package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
  101. package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
  102. package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
  103. package/oiml-r129/specification/calculations.prl +83 -0
  104. package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
  105. package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
  106. package/oiml-r129/specification/conformance/examinations.prl +83 -0
  107. package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
  108. package/oiml-r129/specification/formulas.prl +9 -0
  109. package/oiml-r129/specification/requirements/electronic.prl +46 -0
  110. package/oiml-r129/specification/requirements/metrological.prl +83 -0
  111. package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
  112. package/oiml-r129/specification/requirements/software.prl +57 -0
  113. package/oiml-r129/specification/requirements/technical.prl +134 -0
  114. package/oiml-r129/specification/symbols.prl +187 -0
  115. package/oiml-r129/specification/tables.prl +74 -0
  116. package/oiml-r129/terminology.prl +415 -0
  117. package/oiml-r129/value-types.prl +40 -0
  118. package/oiml-r144/.primmel-allowlist.prl +2 -0
  119. package/oiml-r144/entities/instrument.prl +360 -0
  120. package/oiml-r144/entities/test-execution.prl +228 -0
  121. package/oiml-r144/entities/workflow.prl +2075 -0
  122. package/oiml-r144/evaluation/processes.prl +152 -0
  123. package/oiml-r144/evaluation/workflow.prl +48 -0
  124. package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
  125. package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
  126. package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
  127. package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
  128. package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
  129. package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
  130. package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
  131. package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
  132. package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
  133. package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
  134. package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
  135. package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
  136. package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
  137. package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
  138. package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
  139. package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
  140. package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
  141. package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
  142. package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
  143. package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
  144. package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
  145. package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
  146. package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
  147. package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
  148. package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
  149. package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
  150. package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
  151. package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
  152. package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
  153. package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
  154. package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
  155. package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
  156. package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
  157. package/oiml-r144/execution/forms/shared/headers.prl +132 -0
  158. package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
  159. package/oiml-r144/layers.prl +44 -0
  160. package/oiml-r144/model/attributes.prl +679 -0
  161. package/oiml-r144/model/behaviors.prl +117 -0
  162. package/oiml-r144/model/capabilities.prl +99 -0
  163. package/oiml-r144/model/characteristics.prl +27 -0
  164. package/oiml-r144/model/conditions.prl +46 -0
  165. package/oiml-r144/model/instrument.prl +85 -0
  166. package/oiml-r144/model/state.prl +18 -0
  167. package/oiml-r144/model/twin.prl +25 -0
  168. package/oiml-r144/package.primmel +15 -0
  169. package/oiml-r144/payload/application.yaml +80 -0
  170. package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
  171. package/oiml-r144/payload/conditions-common-test.yaml +74 -0
  172. package/oiml-r144/payload/formulas-variants.yaml +32 -0
  173. package/oiml-r144/payload/promises.yaml +118 -0
  174. package/oiml-r144/payload/sample-data.yaml +643 -0
  175. package/oiml-r144/references.prl +594 -0
  176. package/oiml-r144/sources-prd/coverage.json +114 -0
  177. package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
  178. package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
  179. package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
  180. package/oiml-r144/specification/calculations.prl +123 -0
  181. package/oiml-r144/specification/conformance/examination.prl +87 -0
  182. package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
  183. package/oiml-r144/specification/formulas.prl +37 -0
  184. package/oiml-r144/specification/reference-materials.prl +87 -0
  185. package/oiml-r144/specification/requirements/controls.prl +51 -0
  186. package/oiml-r144/specification/requirements/metrological.prl +299 -0
  187. package/oiml-r144/specification/requirements/report.prl +35 -0
  188. package/oiml-r144/specification/requirements/technical.prl +455 -0
  189. package/oiml-r144/specification/symbols.prl +357 -0
  190. package/oiml-r144/specification/tables.prl +95 -0
  191. package/oiml-r144/specification/test-point-sets.prl +15 -0
  192. package/oiml-r144/terminology.prl +308 -0
  193. package/oiml-r144/value-types.prl +49 -0
  194. package/oiml-r60/.primmel-allowlist.prl +2 -0
  195. package/oiml-r60/entities/workflow.prl +2079 -0
  196. package/oiml-r60/evaluation/processes.prl +152 -0
  197. package/oiml-r60/evaluation/workflow.prl +48 -0
  198. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
  199. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
  200. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
  201. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
  202. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
  203. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
  204. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
  205. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
  206. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
  207. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
  208. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
  209. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
  210. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
  211. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
  212. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
  213. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
  214. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
  215. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
  216. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
  217. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
  218. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
  219. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
  220. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
  221. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
  222. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
  223. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
  224. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
  225. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
  226. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
  227. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
  228. package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
  229. package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
  230. package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
  231. package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
  232. package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
  233. package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
  234. package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
  235. package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
  236. package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
  237. package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
  238. package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
  239. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
  240. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
  241. package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
  242. package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
  243. package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
  244. package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
  245. package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
  246. package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
  247. package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
  248. package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
  249. package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
  250. package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
  251. package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
  252. package/oiml-r60/execution/forms/shared/headers.prl +255 -0
  253. package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
  254. package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
  255. package/oiml-r60/layers.prl +46 -0
  256. package/oiml-r60/model/attributes.prl +642 -0
  257. package/oiml-r60/model/behaviors.prl +165 -0
  258. package/oiml-r60/model/capabilities.prl +57 -0
  259. package/oiml-r60/model/characteristics.prl +27 -0
  260. package/oiml-r60/model/conditions.prl +50 -0
  261. package/oiml-r60/model/instrument.prl +96 -0
  262. package/oiml-r60/model/processes.prl +54 -0
  263. package/oiml-r60/model/state.prl +22 -0
  264. package/oiml-r60/model/twin.prl +16 -0
  265. package/oiml-r60/package.primmel +16 -0
  266. package/oiml-r60/payload/annexes-part4.yaml +122 -0
  267. package/oiml-r60/payload/application.yaml +83 -0
  268. package/oiml-r60/payload/conditions-common-test.yaml +121 -0
  269. package/oiml-r60/payload/formulas-variants.yaml +55 -0
  270. package/oiml-r60/payload/promises.yaml +224 -0
  271. package/oiml-r60/payload/sample-data.yaml +5025 -0
  272. package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
  273. package/oiml-r60/references.prl +549 -0
  274. package/oiml-r60/sources-prd/coverage.json +740 -0
  275. package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
  276. package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
  277. package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
  278. package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
  279. package/oiml-r60/specification/calculations.prl +318 -0
  280. package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
  281. package/oiml-r60/specification/conformance/electronic.prl +483 -0
  282. package/oiml-r60/specification/conformance/examination.prl +183 -0
  283. package/oiml-r60/specification/conformance/metrological.prl +478 -0
  284. package/oiml-r60/specification/constraints.prl +58 -0
  285. package/oiml-r60/specification/formulas-used.prl +43 -0
  286. package/oiml-r60/specification/formulas.prl +20 -0
  287. package/oiml-r60/specification/requirements/class-specific.prl +655 -0
  288. package/oiml-r60/specification/requirements/classification.prl +114 -0
  289. package/oiml-r60/specification/requirements/electronic.prl +222 -0
  290. package/oiml-r60/specification/requirements/metrological.prl +381 -0
  291. package/oiml-r60/specification/requirements/technical.prl +146 -0
  292. package/oiml-r60/specification/symbols.prl +599 -0
  293. package/oiml-r60/specification/tables.prl +182 -0
  294. package/oiml-r60/specification/test-sequences.prl +72 -0
  295. package/oiml-r60/terminology.prl +920 -0
  296. package/oiml-r60/value-types.prl +46 -0
  297. package/oiml-r91/.primmel-allowlist.prl +3 -0
  298. package/oiml-r91/entities/instrument.prl +359 -0
  299. package/oiml-r91/entities/workflow.prl +2075 -0
  300. package/oiml-r91/evaluation/processes.prl +152 -0
  301. package/oiml-r91/evaluation/workflow.prl +48 -0
  302. package/oiml-r91/execution/forms/evidence-file.prl +41 -0
  303. package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
  304. package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
  305. package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
  306. package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
  307. package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
  308. package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
  309. package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
  310. package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
  311. package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
  312. package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
  313. package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
  314. package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
  315. package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
  316. package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
  317. package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
  318. package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
  319. package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
  320. package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
  321. package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
  322. package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
  323. package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
  324. package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
  325. package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
  326. package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
  327. package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
  328. package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
  329. package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
  330. package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
  331. package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
  332. package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
  333. package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
  334. package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
  335. package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
  336. package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
  337. package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
  338. package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
  339. package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
  340. package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
  341. package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
  342. package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
  343. package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
  344. package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
  345. package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
  346. package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
  347. package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
  348. package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
  349. package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
  350. package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
  351. package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
  352. package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
  353. package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
  354. package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
  355. package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
  356. package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
  357. package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
  358. package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
  359. package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
  360. package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
  361. package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
  362. package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
  363. package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
  364. package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
  365. package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
  366. package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
  367. package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
  368. package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
  369. package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
  370. package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
  371. package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
  372. package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
  373. package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
  374. package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
  375. package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
  376. package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
  377. package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
  378. package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
  379. package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
  380. package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
  381. package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
  382. package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
  383. package/oiml-r91/layers.prl +46 -0
  384. package/oiml-r91/model/artifacts.prl +29 -0
  385. package/oiml-r91/model/attributes.prl +698 -0
  386. package/oiml-r91/model/behaviors.prl +142 -0
  387. package/oiml-r91/model/capabilities.prl +88 -0
  388. package/oiml-r91/model/characteristics.prl +27 -0
  389. package/oiml-r91/model/conditions.prl +37 -0
  390. package/oiml-r91/model/instrument.prl +147 -0
  391. package/oiml-r91/model/state.prl +22 -0
  392. package/oiml-r91/model/twin.prl +17 -0
  393. package/oiml-r91/package.primmel +14 -0
  394. package/oiml-r91/payload/application.yaml +201 -0
  395. package/oiml-r91/payload/conditions-common-test.yaml +19 -0
  396. package/oiml-r91/payload/promises.yaml +142 -0
  397. package/oiml-r91/payload/sample-data.yaml +464 -0
  398. package/oiml-r91/references.prl +72 -0
  399. package/oiml-r91/sources-prd/coverage.json +106 -0
  400. package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
  401. package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
  402. package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
  403. package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
  404. package/oiml-r91/specification/calculations.prl +26 -0
  405. package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
  406. package/oiml-r91/specification/conformance/metrological.prl +906 -0
  407. package/oiml-r91/specification/formulas.prl +10 -0
  408. package/oiml-r91/specification/requirements/class-specific.prl +308 -0
  409. package/oiml-r91/specification/requirements/metrological.prl +176 -0
  410. package/oiml-r91/specification/requirements/technical.prl +173 -0
  411. package/oiml-r91/specification/symbols.prl +323 -0
  412. package/oiml-r91/specification/tables.prl +136 -0
  413. package/oiml-r91/terminology.prl +535 -0
  414. package/oiml-r91/value-types.prl +26 -0
  415. package/oiml-smart-core/entities/comments.prl +101 -0
  416. package/oiml-smart-core/entities/cs-operations.prl +492 -0
  417. package/oiml-smart-core/entities/cs-participants.prl +470 -0
  418. package/oiml-smart-core/entities/engagement.prl +323 -0
  419. package/oiml-smart-core/entities/instrument.prl +359 -0
  420. package/oiml-smart-core/entities/module-b.prl +214 -0
  421. package/oiml-smart-core/entities/operated-schemes.prl +141 -0
  422. package/oiml-smart-core/entities/parties.prl +429 -0
  423. package/oiml-smart-core/entities/payment-records.prl +92 -0
  424. package/oiml-smart-core/entities/verification.prl +187 -0
  425. package/oiml-smart-core/entities/workflow.prl +2075 -0
  426. package/oiml-smart-core/evaluation/roles.prl +65 -0
  427. package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
  428. package/oiml-smart-core/package.primmel +10 -0
  429. package/oiml-smart-core/specification/competence-kinds.prl +64 -0
  430. package/oiml-smart-core/specification/constraints.prl +40 -0
  431. package/oiml-smart-core/specification/invariants.prl +90 -0
  432. package/oiml-smart-core/specification/predicates.prl +116 -0
  433. package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
  434. package/oiml-smart-module-env-iec60068/package.primmel +10 -0
  435. package/oiml-smart-module-examination-docs/package.primmel +10 -0
  436. package/oiml-smart-module-reference-materials/package.primmel +10 -0
  437. package/oiml-smart-module-report-headers/package.primmel +10 -0
  438. package/oiml-smart-module-software-d31/package.primmel +10 -0
  439. package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
  440. package/oiml-smart-module-specimen-governance/package.primmel +10 -0
  441. package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
  442. package/oiml-twin-cert/evaluation/roles.prl +15 -0
  443. package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
  444. package/oiml-twin-cert/execution/forms/probe.prl +99 -0
  445. package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
  446. package/oiml-twin-cert/model/attributes.prl +243 -0
  447. package/oiml-twin-cert/model/behaviors.prl +8 -0
  448. package/oiml-twin-cert/model/characteristics.prl +18 -0
  449. package/oiml-twin-cert/model/monitors.prl +16 -0
  450. package/oiml-twin-cert/package.primmel +16 -0
  451. package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
  452. package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
  453. package/oiml-twin-cert/specification/symbols.prl +36 -0
  454. package/oiml-twin-cert/terminology.prl +8 -0
  455. package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
  456. package/package.json +17 -0
  457. package/qms-ref/model/qms.prl +31 -0
  458. package/qms-ref/package.primmel +38 -0
  459. package/quarry-belt-scale/model/ops.prl +115 -0
  460. package/quarry-belt-scale/package.primmel +36 -0
@@ -0,0 +1,429 @@
1
+ class Manufacturer#data {
2
+ store { manufacturers }
3
+ description { "An organization responsible for the instrument (metamodel Module B Manufacturer)" }
4
+ indexes { company }
5
+ id: string {
6
+ modality SHALL
7
+ }
8
+ company: string {
9
+ modality SHALL
10
+ }
11
+ address: reference(Address) {
12
+ modality SHALL
13
+ }
14
+ contact: reference(Contact) {
15
+ modality SHALL
16
+ }
17
+ country: string [0..1] {
18
+ modality MAY
19
+ }
20
+ created: datetime {
21
+ modality SHALL
22
+ }
23
+ modified: datetime {
24
+ modality SHALL
25
+ }
26
+ }
27
+
28
+ class Organization#data {
29
+ store { organizations }
30
+ description { "Base class for OIML Issuing Authorities and Test Laboratories (was OrganizationBase). Concrete parties are IssuingAuthority or TestLaboratory; both are stored in the `organizations` store, discriminated by `kind`. Indexed fields oiml_code / oiml_id are declared on the respective subclass (IndexedDB indexes the key path where present)." }
31
+ indexes { kind oiml_code oiml_id }
32
+ id: string {
33
+ modality SHALL
34
+ }
35
+ kind: enum {
36
+ modality SHALL
37
+ definition "Store discriminator"
38
+ enum_values { issuing-authority test-laboratory }
39
+ }
40
+ name: string {
41
+ modality SHALL
42
+ }
43
+ short_name: string {
44
+ modality SHALL
45
+ }
46
+ logo: string [0..1] {
47
+ modality MAY
48
+ definition "The party's logo asset — a deployment-served path or absolute URL (DEMO_FLOWS/01: the IA selection cards render the registry's logo where the record carries one, the derived monogram where not). The federated source is the identity service's org profile; a demo registry seeds its own assets."
49
+ }
50
+ address: reference(Address) {
51
+ modality SHALL
52
+ }
53
+ contact: reference(Contact) {
54
+ modality SHALL
55
+ }
56
+ oiml_scope: reference(OIMLScopeEntry) [0..*] {
57
+ modality MAY
58
+ }
59
+ accreditation: reference(Accreditation) [0..1] {
60
+ modality MAY
61
+ }
62
+ anr_capabilities: string[] [0..*] {
63
+ modality MAY
64
+ definition "TODO.adoption/11 — the ANR declaration ids (anrDeclarations) this authority/laboratory declares it can evaluate/perform (the OIML-CS utilizer page: OIML Issuing Authorities and their associated Test Laboratories can declare which ANR tests they can perform). Per ANR; the declaration's country gives the per-country axis. Shown on the PD-03/PD-04 registry pages as the ANR axis of the scope."
65
+ }
66
+ created: datetime {
67
+ modality SHALL
68
+ }
69
+ modified: datetime {
70
+ modality SHALL
71
+ }
72
+ }
73
+
74
+ class IssuingAuthority#data {
75
+ extends { Organization }
76
+ oiml_code: string {
77
+ modality SHALL
78
+ }
79
+ country: string {
80
+ modality SHALL
81
+ }
82
+ certificate_prefix: string [0..1] {
83
+ modality MAY
84
+ }
85
+ utilized_laboratory_ids: string[] [0..*] {
86
+ modality MAY
87
+ }
88
+ documentation_checklist: reference(IADocumentationChecklist) [0..1] {
89
+ modality MAY
90
+ }
91
+ declaration: reference(OrganizationDeclaration) [0..1] {
92
+ modality MAY
93
+ }
94
+ declarations: reference(IADeclaration) [0..*] {
95
+ modality MAY
96
+ }
97
+ }
98
+
99
+ class TestLaboratory#data {
100
+ extends { Organization }
101
+ lab_kind: enum [0..1] {
102
+ modality MAY
103
+ definition "MTL concept per PD-05 §5.3.1 b"
104
+ enum_values { independent manufacturer_test_lab }
105
+ }
106
+ parent_manufacturer_id: reference(Manufacturer) [0..1] {
107
+ modality MAY
108
+ definition "Required if lab_kind = manufacturer_test_lab"
109
+ on_delete restrict
110
+ required false
111
+ }
112
+ oiml_id: integer {
113
+ modality SHALL
114
+ }
115
+ parent_oiml_code: string {
116
+ modality SHALL
117
+ }
118
+ documentation_checklist: reference(TLDocumentationChecklist) [0..1] {
119
+ modality MAY
120
+ }
121
+ declaration: reference(OrganizationDeclaration) [0..1] {
122
+ modality MAY
123
+ }
124
+ capabilities: string[] [0..*] {
125
+ modality MAY
126
+ definition "Abstract test abilities the lab declares it can perform. Used by evaluation/lab-selection-criteria.yaml for capability-based matching. Examples: humidity-testing, emc-testing, construction-bending-beam, construction-shear-beam, emax-up-to-50000kg, manufacturer-test-lab. Per TODO.UPGRADE/20: labs declare CAPABILITIES, not equipment."
127
+ }
128
+ accreditation_scope: reference(CompetenceScopeEntry) [0..*] {
129
+ modality MAY
130
+ definition "The laboratory's structured scope of accreditation (TODO.roadmap/48, BUG.R60-SSOT gap 1; ISO/IEC 17025 §6.4/§6.6, OIML-CS PD-05 §5.3): the competence entries the dispatch cover relation matches against each conformance test's required_competence — lab.scope ⊇ test.required (kind equal, range covers, method_standard equal-or-compatible, resolution/stability at-least-as-good). Supersedes the flat capabilities strings for competence matching; capabilities stays the construction-fixture / operational vocabulary. The accreditation RECORD (body, certificate number, validity) rides the existing accreditation block (Accreditation.body/number/expiry_date)."
131
+ }
132
+ }
133
+
134
+ class QuantityInterval#data {
135
+ description { "A closed numeric interval in one unit — the range facet of a laboratory competence-scope entry (TODO.roadmap/48). Bounds are always absolute numbers on the laboratory side; the parameter-bound form (e.g. a test's required range up to the model's e_max) exists only on conformance-test required_competence, resolved against the dispatch context." }
136
+ helper { true }
137
+ min: number {
138
+ modality SHALL
139
+ }
140
+ max: number {
141
+ modality SHALL
142
+ }
143
+ unit: string {
144
+ modality SHALL
145
+ }
146
+ }
147
+
148
+ class CompetenceScopeEntry#data {
149
+ description { "One entry of a Test Laboratory's accreditation scope (TODO.roadmap/48): a competence kind from the cross-Recommendation registry (specification/competence-kinds.yaml, e.g. force_measurement, humidity_testing, emc_testing) with the accredited envelope — range, method standard, readout resolution, environmental stability. The per-lab implementation packages' ISO/IEC 17025 registers (task 23/39c — equipment.yaml / personnel.yaml) substantiate an entry by REFERENCE (equipment_refs / personnel_refs), never by copy." }
150
+ helper { true }
151
+ competence: string {
152
+ modality SHALL
153
+ definition "Competence-kind id (specification/competence-kinds.yaml registry reference — linker rule competence-references)"
154
+ }
155
+ range: reference(QuantityInterval) [0..1] {
156
+ modality MAY
157
+ definition "Accredited interval (e.g. force 0–500000 kg, temperature −40…+80 degC). Absent where the kind carries no interval (documentation_review)."
158
+ }
159
+ method_standard: string [0..1] {
160
+ modality MAY
161
+ definition "Method-standard id the accreditation names (registry method_standards, e.g. iec-61000-4-4); cover requires equal-or-compatible with the test's entry"
162
+ }
163
+ resolution: reference(QuantityValue) [0..1] {
164
+ modality MAY
165
+ definition "Readout/indication resolution held (QuantityValue { value, unit }) — smaller is better; cover = at-least-as-good (≤ the test's requirement)"
166
+ }
167
+ stability: reference(QuantityValue) [0..1] {
168
+ modality MAY
169
+ definition "Environmental stability held (e.g. chamber temperature stability, QuantityValue { value, unit }) — smaller is better; cover = at-least-as-good"
170
+ }
171
+ equipment_refs: string[] [0..*] {
172
+ modality MAY
173
+ definition "Substantiating equipment-register entry ids of the lab's implementation package (task 23/39c — e.g. mtl_f_001), by reference, never copy (ISO/IEC 17025 §6.4)"
174
+ }
175
+ personnel_refs: string[] [0..*] {
176
+ modality MAY
177
+ definition "Substantiating personnel-register entry ids of the lab's implementation package (task 23/39c — e.g. p_weber), by reference, never copy (ISO/IEC 17025 §6.2)"
178
+ }
179
+ }
180
+
181
+ class Expert#data {
182
+ store { experts }
183
+ indexes { kind }
184
+ id: string {
185
+ modality SHALL
186
+ }
187
+ kind: enum {
188
+ modality SHALL
189
+ enum_values { lm-expert ms-expert }
190
+ }
191
+ personal_details: reference(ExpertPersonalDetails) {
192
+ modality SHALL
193
+ }
194
+ contact: reference(ExpertContact) {
195
+ modality SHALL
196
+ }
197
+ registration_status: enum [0..1] {
198
+ modality MAY
199
+ enum_values { pending active suspended withdrawn }
200
+ }
201
+ created: datetime {
202
+ modality SHALL
203
+ }
204
+ modified: datetime {
205
+ modality SHALL
206
+ }
207
+ }
208
+
209
+ class Address#data {
210
+ helper { true }
211
+ street: string {
212
+ modality SHALL
213
+ }
214
+ city: string {
215
+ modality SHALL
216
+ }
217
+ country: string {
218
+ modality SHALL
219
+ }
220
+ postal_code: string {
221
+ modality SHALL
222
+ }
223
+ }
224
+
225
+ class Contact#data {
226
+ helper { true }
227
+ person: string {
228
+ modality SHALL
229
+ }
230
+ email: string {
231
+ modality SHALL
232
+ }
233
+ phone: string {
234
+ modality SHALL
235
+ }
236
+ }
237
+
238
+ class Accreditation#data {
239
+ helper { true }
240
+ body: string {
241
+ modality SHALL
242
+ }
243
+ number: string {
244
+ modality SHALL
245
+ }
246
+ expiry_date: date {
247
+ modality SHALL
248
+ }
249
+ scopes: string[] [0..*] {
250
+ modality MAY
251
+ }
252
+ }
253
+
254
+ class OIMLScopeEntry#data {
255
+ helper { true }
256
+ ref: string {
257
+ modality SHALL
258
+ }
259
+ scheme: enum {
260
+ modality SHALL
261
+ enum_values { A B }
262
+ }
263
+ restrictions: string [0..1] {
264
+ modality MAY
265
+ }
266
+ }
267
+
268
+ class OrganizationDeclaration#data {
269
+ helper { true }
270
+ responsible_person: string {
271
+ modality SHALL
272
+ }
273
+ position: string {
274
+ modality SHALL
275
+ }
276
+ signature_date: date {
277
+ modality SHALL
278
+ }
279
+ ciml_endorsement: boolean [0..1] {
280
+ modality MAY
281
+ }
282
+ }
283
+
284
+ class IADocumentationChecklist#data {
285
+ helper { true }
286
+ quality_manual: boolean {
287
+ modality SHALL
288
+ }
289
+ proof_of_legal_status: boolean {
290
+ modality SHALL
291
+ }
292
+ proof_of_competency: boolean {
293
+ modality SHALL
294
+ }
295
+ org_chart: boolean {
296
+ modality SHALL
297
+ }
298
+ tl_list: boolean {
299
+ modality SHALL
300
+ }
301
+ other: string [0..1] {
302
+ modality MAY
303
+ }
304
+ }
305
+
306
+ class TLDocumentationChecklist#data {
307
+ helper { true }
308
+ quality_manual: boolean {
309
+ modality SHALL
310
+ }
311
+ proof_of_legal_status: boolean {
312
+ modality SHALL
313
+ }
314
+ proof_of_competency: boolean {
315
+ modality SHALL
316
+ }
317
+ org_chart: boolean {
318
+ modality SHALL
319
+ }
320
+ staff_qualifications: boolean {
321
+ modality SHALL
322
+ }
323
+ equipment_list: boolean {
324
+ modality SHALL
325
+ }
326
+ mtl_procedures: boolean [0..1] {
327
+ modality MAY
328
+ }
329
+ accreditation_certificate: boolean [0..1] {
330
+ modality MAY
331
+ }
332
+ peer_assessment_report: boolean [0..1] {
333
+ modality MAY
334
+ }
335
+ intercomparison_results: boolean [0..1] {
336
+ modality MAY
337
+ }
338
+ other: string [0..1] {
339
+ modality MAY
340
+ }
341
+ }
342
+
343
+ class IADeclaration#data {
344
+ helper { true }
345
+ id: string {
346
+ modality SHALL
347
+ }
348
+ issuing_authority_id: reference(IssuingAuthority) {
349
+ modality SHALL
350
+ on_delete cascade
351
+ required true
352
+ }
353
+ declaration_date: date {
354
+ modality SHALL
355
+ }
356
+ period: string {
357
+ modality SHALL
358
+ }
359
+ confirmations: reference(DeclarationConfirmations) {
360
+ modality SHALL
361
+ }
362
+ changes_description: text [0..1] {
363
+ modality MAY
364
+ }
365
+ scope_snapshot: reference(OIMLScopeEntry) [0..*] {
366
+ modality MAY
367
+ }
368
+ created: datetime {
369
+ modality SHALL
370
+ }
371
+ modified: datetime {
372
+ modality SHALL
373
+ }
374
+ }
375
+
376
+ class DeclarationConfirmations#data {
377
+ helper { true }
378
+ meets_requirements: boolean {
379
+ modality SHALL
380
+ }
381
+ scope_unchanged: boolean {
382
+ modality SHALL
383
+ }
384
+ changes_notified: boolean {
385
+ modality SHALL
386
+ }
387
+ operates_in_conformity: boolean {
388
+ modality SHALL
389
+ }
390
+ }
391
+
392
+ class ExpertPersonalDetails#data {
393
+ helper { true }
394
+ family_name: string {
395
+ modality SHALL
396
+ }
397
+ given_names: string {
398
+ modality SHALL
399
+ }
400
+ date_of_birth: date {
401
+ modality SHALL
402
+ }
403
+ nationality: string {
404
+ modality SHALL
405
+ }
406
+ member_state: string {
407
+ modality SHALL
408
+ }
409
+ }
410
+
411
+ class ExpertContact#data {
412
+ helper { true }
413
+ employer: string [0..1] {
414
+ modality MAY
415
+ }
416
+ position: string [0..1] {
417
+ modality MAY
418
+ }
419
+ address: reference(Address) {
420
+ modality SHALL
421
+ }
422
+ email: string {
423
+ modality SHALL
424
+ }
425
+ phone: string [0..1] {
426
+ modality MAY
427
+ }
428
+ }
429
+
@@ -0,0 +1,92 @@
1
+ class PaymentRecord#data {
2
+ store { paymentRecords }
3
+ description { "The evidential record of one payment arrangement (TODO.adoption/09): money moves outside the platform, the record lives inside. Two kinds. certificate_fee: the IA-to-OIML-CS registration fee, raised by the platform when a certificate is issued (PD-05 §6.2: the BIML invoices the Issuing Authority for the registration fee and the certificate listing is withdrawn when payment is not received within 3 months of the invoice date; the fee itself is set by the CIML; B 18:2018 §9 b) names collecting the registration fees a BIML responsibility and §16.3 states the OIML-CS income consists of the fees from the registration of OIML Certificates). arrangement: an IA-TL settlement record riding a test request (or an engagement, the TODO.adoption/07 negotiation leg): the Test Laboratory invoices the Issuing Authority, either side uploads the evidential content, both sides see the record. The amount and currency fields transcribe the invoice's own wording as evidence when the parties record them; the platform states no fees of its own and never computes on them (no totals, no obligations). The record walks the payment_record state machine (INVOICED to MARKED_PAID) and every act journals an audit event, so a peer reviewer reads the arrangement and its settlement from the record alone (the OIML-CS is an accreditation system whose certificate-issuing bodies are peer-assessed; the audit trail is the point). The platform never processes payment; every view marks the record as evidential only." }
4
+ indexes { status kind payer_id payee_id certificate_id request_id }
5
+ id: string {
6
+ modality SHALL
7
+ }
8
+ kind: enum {
9
+ modality SHALL
10
+ definition "certificate_fee: the IA-to-OIML-CS registration fee record raised at certificate issuance (PD-05 §6.2); arrangement: an IA-TL payment arrangement record riding a test request or an engagement"
11
+ enum_values { certificate_fee arrangement }
12
+ }
13
+ payer_id: string {
14
+ modality SHALL
15
+ definition "The paying party's Organization id (the IA's oiml_code or the TL's oiml_id); the org-visibility gate keys on it"
16
+ }
17
+ payee_id: string {
18
+ modality SHALL
19
+ definition "The invoicing party's Organization id; the certificate fee's payee is the scheme itself (the fixed token OIML-CS, since the BIML collects the registration fees, B 18:2018 §9 b))"
20
+ }
21
+ amount: number [0..1] {
22
+ modality MAY
23
+ definition "The invoiced amount, transcribed verbatim from the invoice or the settlement evidence. Recorded, never computed on: the platform states no fees of its own, sums nothing, and derives no obligation from this field"
24
+ }
25
+ currency: string [0..1] {
26
+ modality MAY
27
+ definition "The ISO 4217 currency code of the recorded amount (mandatory when amount is recorded)"
28
+ }
29
+ description: text [0..1] {
30
+ modality MAY
31
+ definition "What the invoice covers, as the invoicing party states it"
32
+ }
33
+ status: enum {
34
+ modality SHALL
35
+ definition "Walks the payment_record state machine (evaluation/state-machines.prl): INVOICED to MARKED_PAID (the payer records the settlement with its reference; MARKED_PAID is terminal)"
36
+ enum_values { INVOICED MARKED_PAID }
37
+ }
38
+ invoiced_at: date {
39
+ modality SHALL
40
+ definition "The invoice date; the certificate fee's record carries the certificate's issue date (the record is raised at issuance)"
41
+ }
42
+ marked_paid_at: date [0..1] {
43
+ modality MAY
44
+ definition "When the settlement was recorded as paid (the marked-paid act)"
45
+ }
46
+ marked_paid_by: string [0..1] {
47
+ modality MAY
48
+ definition "The account name of who recorded the settlement (provenance)"
49
+ }
50
+ payment_reference: string [0..1] {
51
+ modality MAY
52
+ definition "The settlement reference (the bank or transaction reference on the payment), recorded verbatim; mandatory at the marked-paid act"
53
+ }
54
+ invoice: reference(DocumentRef) [0..1] {
55
+ modality MAY
56
+ definition "The uploaded invoice or receipt (TODO.adoption/03 blob slot; the file-name-only record stands when the deployment binds no blob store)"
57
+ on_delete nullify
58
+ }
59
+ certificate_id: reference(Certificate) [0..1] {
60
+ modality MAY
61
+ definition "What the record pays for: the certificate (the certificate_fee kind)"
62
+ on_delete restrict
63
+ }
64
+ request_id: reference(TestRequest) [0..1] {
65
+ modality MAY
66
+ definition "What the record pays for: the test request the IA-TL arrangement rides"
67
+ on_delete restrict
68
+ }
69
+ engagement_id: reference(Engagement) [0..1] {
70
+ modality MAY
71
+ definition "What the record pays for: the engagement (the TODO.adoption/07 negotiation leg)"
72
+ on_delete restrict
73
+ }
74
+ basis: string [0..1] {
75
+ modality MAY
76
+ definition "The normative basis of the record; the certificate fee cites PD-05 §6.2 and B 18:2018 §16.3"
77
+ }
78
+ raised_by: string [0..1] {
79
+ modality MAY
80
+ definition "The account name of who raised the record (the invoicing party's officer); absent on the certificate fee, which the platform raises at issuance"
81
+ }
82
+ notes: text [0..1] {
83
+ modality MAY
84
+ }
85
+ created: datetime {
86
+ modality SHALL
87
+ }
88
+ modified: datetime {
89
+ modality SHALL
90
+ }
91
+ }
92
+
@@ -0,0 +1,187 @@
1
+ class VerificationMark#data {
2
+ description { "One verification mark applied to the sample after a passed verification (metamodel identity-provenance.VerificationMark; OIML V 1:2022, 3.04). The mark designator is national-regulation content — the record carries the string, never a shape registry." }
3
+ helper { true }
4
+ id: string {
5
+ modality SHALL
6
+ }
7
+ mark: string {
8
+ modality SHALL
9
+ definition "Mark designator (e.g. the national verification mark)"
10
+ }
11
+ location: string [0..1] {
12
+ modality MAY
13
+ definition "Where on the instrument the mark sits (R 91-1, 7.14: space at visible spots)"
14
+ }
15
+ clause: string [0..1] {
16
+ modality MAY
17
+ definition "Clause the mark discharges (e.g. R 91-1, 8.2.4)"
18
+ }
19
+ applied_at: datetime {
20
+ modality SHALL
21
+ }
22
+ applied_by: string [0..1] {
23
+ modality MAY
24
+ }
25
+ }
26
+
27
+ class SealStatus#data {
28
+ description { "The state of one seal on a sample (VIML 2.20 sealing — protection against unauthorized intervention, e.g. R 91-1, 7.13 a–c: adjustment means, metrology-relevant parts, software integrity). Embedded on MeasuringInstrumentSample.seals; set/renewed by a passed verification's marking and securing." }
29
+ helper { true }
30
+ id: string {
31
+ modality SHALL
32
+ }
33
+ protects: string {
34
+ modality SHALL
35
+ definition "What the seal protects (adjustment means, metrology-relevant replaceable parts, software integrity)"
36
+ }
37
+ means: string [0..1] {
38
+ modality MAY
39
+ definition "Sealing means — mechanical, electronic, or other technical means giving clear evidence of tampering"
40
+ }
41
+ location: string [0..1] {
42
+ modality MAY
43
+ }
44
+ status: enum {
45
+ modality SHALL
46
+ enum_values { INTACT BROKEN REPLACED VOID }
47
+ }
48
+ set_by: string [0..1] {
49
+ modality MAY
50
+ definition "VerificationRecord id that set/renewed this seal state"
51
+ }
52
+ set_at: datetime [0..1] {
53
+ modality MAY
54
+ }
55
+ }
56
+
57
+ class VerificationSignal#data {
58
+ description { "One posted out-of-cycle verification signal (the signal-event channel of the re-verification triggers, TODO.roadmap/21): an event that may invalidate the current verification before its validity window elapses (e.g. tyre-change on an ego speed meter, R 91-1, 6.15.3 Note 2). Embedded on MeasuringInstrumentSample.verification_signals; the trigger engine (browser/src/data/verification.ts) matches pending signals against the signal triggers of the governing VerificationProcess and fires the bound sample_verification action; consumed_by records the re-verification that answered the signal." }
59
+ helper { true }
60
+ event: string {
61
+ modality SHALL
62
+ definition "Signal event name (e.g. tyre-change)"
63
+ }
64
+ at: datetime {
65
+ modality SHALL
66
+ }
67
+ notes: text [0..1] {
68
+ modality MAY
69
+ }
70
+ consumed_by: string [0..1] {
71
+ modality MAY
72
+ definition "VerificationRecord id of the re-verification that answered this signal; absent = pending"
73
+ }
74
+ }
75
+
76
+ class VerificationEquipment#data {
77
+ description { "One piece of test equipment used in a verification (traceability — the D2 TestRun.equipment shape { id, cal_cert? }, re-declared here so the verification entities stand alone in Core)." }
78
+ helper { true }
79
+ id: string {
80
+ modality SHALL
81
+ definition "Lab-local equipment identifier (e.g. reference speed meter, traffic simulator)"
82
+ }
83
+ cal_cert: string [0..1] {
84
+ modality MAY
85
+ definition "Calibration certificate reference (traceability)"
86
+ }
87
+ }
88
+
89
+ class VerificationRecord#data {
90
+ store { verificationRecords }
91
+ description { "One verification event on ONE sample (metamodel v0.6.1 evaluation.Verification; OIML V 1:2022, 2.09): kind, the executed process definition, the per-requirement verdicts over the process's assessment scope (the shared D3 Verdict shape — the same machinery as TestReportDetermination.verdicts, computed from the verification test set's evidence), the marks applied and securing state set after a pass, the assessing authority/lab/equipment, the validity window instance (assessed_date + the process's window = valid_until — the timer trigger fires when reached), and the chain to the previous verification (subsequent/periodic kinds). The record's own lifecycle is the verification_record state machine; the sample's validity lifecycle is sample_verification." }
92
+ indexes { sample_id model_id standard_id kind status }
93
+ id: string {
94
+ modality SHALL
95
+ }
96
+ standard_id: string {
97
+ modality SHALL
98
+ }
99
+ sample_id: reference(MeasuringInstrumentSample) {
100
+ modality SHALL
101
+ definition "The verified sample — one verification event per sample per event"
102
+ on_delete restrict
103
+ required true
104
+ }
105
+ model_id: reference(MeasuringInstrumentModel) [0..1] {
106
+ modality MAY
107
+ definition "Denormalized from sample_id.model_id for query efficiency"
108
+ on_delete restrict
109
+ required false
110
+ }
111
+ kind: enum {
112
+ modality SHALL
113
+ definition "VIML 2.12 initial / 2.13 subsequent / 2.14 mandatory periodic; in-service = the Recommendation's inspection kind (R 91-1, 8.4)"
114
+ enum_values { initial subsequent periodic in-service }
115
+ }
116
+ process_id: string {
117
+ modality SHALL
118
+ definition "VerificationProcess definition id in data/<rec>/evaluation/verification.yaml (e.g. initial-verification)"
119
+ }
120
+ tests: string[] [0..*] {
121
+ modality SHALL
122
+ definition "Conformance-test identifiers actually executed (/conf/... — a subset of the process definition's test set; R 91-1, 8.2.2 allows combining/switching the laboratory and field accuracy tests)"
123
+ }
124
+ status: enum {
125
+ modality SHALL
126
+ definition "Lifecycle per evaluation/state-machines.yaml verification_record machine; MARKED = passed + marks/securing applied"
127
+ enum_values { DRAFT IN_PROGRESS ASSESSED PASSED FAILED MARKED }
128
+ }
129
+ outcome: enum {
130
+ modality SHALL
131
+ definition "The conformity assessment result over the process's scope; pass => marking/securing + the validity window opens"
132
+ enum_values { pass fail indeterminate }
133
+ }
134
+ verdicts: reference(Verdict) [0..*] {
135
+ modality SHALL
136
+ definition "Per-requirement verdicts over the process's assessment scope (embedded) — computed by the same verdict machinery the type evaluation uses, over the verification test set's evidence, with the process's limits where they differ (e.g. in-service MPE)"
137
+ }
138
+ marks: reference(VerificationMark) [0..*] {
139
+ modality SHALL
140
+ definition "Verification marks applied after a pass (embedded; VIML 3.04, R 91-1, 7.14/8.2.4)"
141
+ }
142
+ laboratory_id: reference(TestLaboratory) [0..1] {
143
+ modality MAY
144
+ definition "Laboratory that performed the verification tests (the accuracy tests may be lab- or field-based, R 91-1, 8.2.2)"
145
+ on_delete restrict
146
+ required false
147
+ }
148
+ authority: string [0..1] {
149
+ modality MAY
150
+ definition "The metrological authority carrying out the verification (R 91-1, 8.2/8.3)"
151
+ }
152
+ equipment: reference(VerificationEquipment) [0..*] {
153
+ modality MAY
154
+ definition "Test equipment used (traceability) — { id, cal_cert? } entries"
155
+ }
156
+ assessed_by: string {
157
+ modality SHALL
158
+ }
159
+ assessed_date: date {
160
+ modality SHALL
161
+ }
162
+ valid_until: date [0..1] {
163
+ modality MAY
164
+ definition "assessed_date + the process validity window — the timer re-verification trigger fires when reached"
165
+ }
166
+ certificate_number: string [0..1] {
167
+ modality MAY
168
+ definition "Verification certificate reference (VIML 3.02)"
169
+ }
170
+ previous_verification_id: reference(VerificationRecord) [0..1] {
171
+ modality MAY
172
+ definition "The chain: the verification this one supersedes (subsequent/periodic kinds)"
173
+ on_delete nullify
174
+ required false
175
+ }
176
+ trigger_event: string [0..1] {
177
+ modality MAY
178
+ definition "What brought this verification about: scheduled | <signal event id> (e.g. tyre-change)"
179
+ }
180
+ created: datetime {
181
+ modality SHALL
182
+ }
183
+ modified: datetime {
184
+ modality SHALL
185
+ }
186
+ }
187
+