@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,470 @@
1
+ class Utilizer#data {
2
+ store { utilizers }
3
+ description { "National issuing authority or national responsible body of an OIML Member State that signs a Declaration of acceptance of OIML certificates / type evaluation reports (B 18:2025 §5.6.1; admission per PD-09)." }
4
+ indexes { country }
5
+ id: string {
6
+ modality SHALL
7
+ }
8
+ name: string {
9
+ modality SHALL
10
+ }
11
+ short_name: string {
12
+ modality SHALL
13
+ }
14
+ country: string {
15
+ modality SHALL
16
+ definition "The OIML Member State the Utilizer acts for"
17
+ }
18
+ address: reference(Address) [0..1] {
19
+ modality MAY
20
+ }
21
+ contact: reference(Contact) [0..1] {
22
+ modality MAY
23
+ }
24
+ declaration_id: reference(ParticipantDeclaration) [0..1] {
25
+ modality MAY
26
+ definition "Its current Declaration record (PD-08 register)"
27
+ on_delete nullify
28
+ }
29
+ created: datetime {
30
+ modality SHALL
31
+ }
32
+ modified: datetime {
33
+ modality SHALL
34
+ }
35
+ }
36
+
37
+ class Associate#data {
38
+ store { associates }
39
+ description { "National issuing authority or national responsible body of an OIML Corresponding Member that signs a Declaration of acceptance (B 18:2025 §5.6.2; admission per PD-09)." }
40
+ indexes { country }
41
+ id: string {
42
+ modality SHALL
43
+ }
44
+ name: string {
45
+ modality SHALL
46
+ }
47
+ short_name: string {
48
+ modality SHALL
49
+ }
50
+ country: string {
51
+ modality SHALL
52
+ definition "The OIML Corresponding Member the Associate acts for"
53
+ }
54
+ address: reference(Address) [0..1] {
55
+ modality MAY
56
+ }
57
+ contact: reference(Contact) [0..1] {
58
+ modality MAY
59
+ }
60
+ declaration_id: reference(ParticipantDeclaration) [0..1] {
61
+ modality MAY
62
+ definition "Its current Declaration record (PD-08 register)"
63
+ on_delete nullify
64
+ }
65
+ created: datetime {
66
+ modality SHALL
67
+ }
68
+ modified: datetime {
69
+ modality SHALL
70
+ }
71
+ }
72
+
73
+ class ParticipantDeclaration#data {
74
+ store { participantDeclarations }
75
+ description { "A Declaration instance of the PD-08 participation register (task-40 Declaration model, data/oiml-cs/framework/declarations.yaml). For an Issuing Authority the scope is instrument categories × Schemes (PD-08 cl. 4 a); a Utilizer/Associate Declaration additionally carries its additional national requirements, the accepted IA/TL lists and the MTL acceptance policy (§5.6.3). Status draft/signed/suspended/withdrawn per the participant_declaration state machine; only `signed` discharges the PD-08 cl. 5 signing gate (browser/src/data/issuance-gate.ts)." }
76
+ indexes { participant_id kind status }
77
+ id: string {
78
+ modality SHALL
79
+ }
80
+ kind: enum {
81
+ modality SHALL
82
+ definition "Declaration-kind id of framework/declarations.yaml"
83
+ enum_values { issuing_authority_declaration utilizer_declaration associate_declaration }
84
+ }
85
+ participant_kind: enum {
86
+ modality SHALL
87
+ enum_values { issuing_authority utilizer associate }
88
+ }
89
+ participant_id: string {
90
+ modality SHALL
91
+ definition "The declaring participant: Organization id (IA oiml_code) or Utilizer/Associate id"
92
+ }
93
+ scope: reference(DeclarationScopeEntry) [0..*] {
94
+ modality MAY
95
+ definition "The categories × schemes matrix (PD-08 cl. 4 a)"
96
+ }
97
+ additional_national_requirements: string[] [0..*] {
98
+ modality MAY
99
+ definition "Utilizer/Associate only — ANRs deviating from the Recommendation (§5.6.1–5.6.2, 3.2)"
100
+ }
101
+ accepted_ia_ids: string[] [0..*] {
102
+ modality MAY
103
+ definition "Utilizer/Associate only — IAs whose reports are accepted (§5.6.3); empty = all"
104
+ }
105
+ accepted_tl_ids: string[] [0..*] {
106
+ modality MAY
107
+ definition "Utilizer/Associate only — TLs whose test data is accepted (§5.6.3); empty = all"
108
+ }
109
+ mtl_acceptance: enum [0..1] {
110
+ modality MAY
111
+ definition "Utilizer/Associate only — MTL-based report policy (§5.6.3; voluntary, no justification)"
112
+ enum_values { accepts declines }
113
+ }
114
+ mtl_ids: string[] [0..*] {
115
+ modality MAY
116
+ definition "IA only — the Manufacturer Test Laboratories listed in the IA's own Declaration (PD-05 §5.3.1 b/§5.5.5: only own-Declaration MTL reports may be utilised)"
117
+ }
118
+ maa_certificate_acceptance: text [0..1] {
119
+ modality MAY
120
+ definition "Conditions for accepting legacy MAA certificates (PD-08 cl. 6; B 18:2025 §15.10)"
121
+ }
122
+ status: enum {
123
+ modality SHALL
124
+ enum_values { draft signed suspended withdrawn }
125
+ }
126
+ signed_at: date [0..1] {
127
+ modality MAY
128
+ }
129
+ signed_by: string [0..1] {
130
+ modality MAY
131
+ definition "Responsible person who signed for the participant"
132
+ }
133
+ recorded_by: string [0..1] {
134
+ modality MAY
135
+ definition "The Executive Secretary who recorded the Declaration (PD-08 cl. 4)"
136
+ }
137
+ notes: text [0..1] {
138
+ modality MAY
139
+ }
140
+ created: datetime {
141
+ modality SHALL
142
+ }
143
+ modified: datetime {
144
+ modality SHALL
145
+ }
146
+ }
147
+
148
+ class AnrDeclaration#data {
149
+ store { anrDeclarations }
150
+ description { "One Additional National Requirement declared by a Utilizer/Associate for its country (TODO.adoption/11; the OIML-CS utilizer page: Utilizers and Associates may specify Additional National Requirements, and when these are specified the relevant test procedures must also be defined; B 18:2025 §5.6.1–5.6.2). The content tiers: tier_1 = Primmel-defined (the requirement and its test procedure are modelled — primmel_ref names the model; dispatchable and evaluable like any conformance test), tier_2 = declared-simple (the procedure rides as text plus the uploaded reference document; dispatched as the generic evidence-collection shape). Tier 0 is never a stored declaration — it is the per-evaluation bypass mark on the application's applied ANR (AppliedAnr.coverage). A declaration goes live only on the CS registry's approval (status APPROVED — honest moderation, never open editing); amendment or promotion to tier_1 re-enters review. The application's resolved ANR set rides the chain as Application.applied_anrs; the evaluation report and the certificate record the per-country coverage (ANRCompliance)." }
151
+ indexes { country standard_id status participant_id }
152
+ id: string {
153
+ modality SHALL
154
+ }
155
+ participant_id: string {
156
+ modality SHALL
157
+ definition "The declaring Utilizer/Associate (participants register id)"
158
+ }
159
+ participant_declaration_id: reference(ParticipantDeclaration) [0..1] {
160
+ modality MAY
161
+ definition "The participant's signed Declaration this ANR is listed under (§5.6.1–5.6.2 provenance)"
162
+ on_delete nullify
163
+ }
164
+ country: string {
165
+ modality SHALL
166
+ definition "The market the ANR applies to, keyed as targeted on applications (Application.anr_countries — e.g. NL)"
167
+ }
168
+ standard_id: string {
169
+ modality SHALL
170
+ definition "The Recommendation the ANR deviates from (e.g. oiml-r60)"
171
+ }
172
+ title: string {
173
+ modality SHALL
174
+ }
175
+ requirement_text: text {
176
+ modality SHALL
177
+ definition "The additional national requirement, verbatim"
178
+ }
179
+ national_instrument: string [0..1] {
180
+ modality MAY
181
+ definition "Clause ref: the national/regional instrument (e.g. the national act's section)"
182
+ }
183
+ directive_article: string [0..1] {
184
+ modality MAY
185
+ definition "Clause ref: the directive article the requirement traces to"
186
+ }
187
+ scheme_scope: enum {
188
+ modality SHALL
189
+ definition "The scheme scope the ANR applies under (PD-05 §5.1.4 names Scheme A; both = either scheme)"
190
+ enum_values { scheme_a scheme_b both }
191
+ }
192
+ tier: enum {
193
+ modality SHALL
194
+ definition "The content tier (TODO.adoption/11): tier_1 = Primmel-defined (primmel_ref), tier_2 = declared-simple (procedure_text + document). Promotion tier_2 → tier_1 sets primmel_ref and re-enters review; the coverage history keeps both forms' provenance (AppliedAnr.tier snapshots the tier at application time)."
195
+ enum_values { tier_1 tier_2 }
196
+ }
197
+ primmel_ref: string [0..1] {
198
+ modality MAY
199
+ definition "Tier 1: the modelled requirement/test identifier (the Primmel model the ANR is defined in); mandatory at tier_1"
200
+ }
201
+ procedure_text: text [0..1] {
202
+ modality MAY
203
+ definition "Tier 2: the test procedure as text — the operator performs the described procedure and records the outcome (the generic evidence-collection shape); mandatory at tier_2"
204
+ }
205
+ document: reference(DocumentRef) [0..1] {
206
+ modality MAY
207
+ definition "Tier 2: the uploaded reference document (TODO.adoption/03 blob slot; absent in the file-name-only posture)"
208
+ }
209
+ status: enum {
210
+ modality SHALL
211
+ definition "Walks the anr_declaration state machine (evaluation/state-machines.prl): the registry review path — only APPROVED is live"
212
+ enum_values { DRAFT SUBMITTED APPROVED REJECTED WITHDRAWN }
213
+ }
214
+ declared_by: string {
215
+ modality SHALL
216
+ definition "The account name of the Utilizer/Associate staff member who declared (provenance)"
217
+ }
218
+ reviewed_by: string [0..1] {
219
+ modality MAY
220
+ definition "The CS reviewer who decided (the registry moderation)"
221
+ }
222
+ review_notes: text [0..1] {
223
+ modality MAY
224
+ }
225
+ decided_at: date [0..1] {
226
+ modality MAY
227
+ }
228
+ created: datetime {
229
+ modality SHALL
230
+ }
231
+ modified: datetime {
232
+ modality SHALL
233
+ }
234
+ }
235
+
236
+ class ParticipantApplication#data {
237
+ store { participantApplications }
238
+ description { "One participation case through the approval pipeline (PD-03 IA, PD-04 TL, PD-09 Utilizer/Associate): application → competence evidence → RC recommendation → MC 80 % vote → Declaration signing → ACTIVE. The status field walks the participant_application state machine; competence evidence, RC recommendation and MC ballots are CompetenceEvidence / ApprovalVote records keyed by this id." }
239
+ indexes { status kind applicant_organization_id }
240
+ id: string {
241
+ modality SHALL
242
+ }
243
+ kind: enum {
244
+ modality SHALL
245
+ enum_values { ia_approval ia_scheme_b_application tl_approval ia_reapproval tl_reapproval utilizer_admission associate_admission }
246
+ }
247
+ applicant_organization_id: string {
248
+ modality SHALL
249
+ definition "The candidate: Organization id (IA oiml_code / TL oiml_id) or Utilizer/Associate id"
250
+ }
251
+ applicant_name: string {
252
+ modality SHALL
253
+ }
254
+ member_state: string {
255
+ modality SHALL
256
+ }
257
+ scheme: enum {
258
+ modality SHALL
259
+ enum_values { A B }
260
+ }
261
+ scope: reference(DeclarationScopeEntry) [0..*] {
262
+ modality MAY
263
+ definition "The applied scope — categories × schemes (PD-03, 5.1)"
264
+ }
265
+ tl_application_ids: string[] [0..*] {
266
+ modality MAY
267
+ definition "IA applications only — associated TL applications (PD-03, 4.1: at least one)"
268
+ }
269
+ linked_tl_ids: string[] [0..*] {
270
+ modality MAY
271
+ definition "IA applications only — the associated Test Laboratory list (PD-03, 5.1)"
272
+ }
273
+ mc_electorate: integer [0..1] {
274
+ modality MAY
275
+ definition "MC members from OIML Member States eligible to vote on this case (B 18:2025 §11.4.2 base)"
276
+ }
277
+ status: enum {
278
+ modality SHALL
279
+ enum_values { SUBMITTED ASSESSMENT RC_REVIEW MC_VOTE DECLARATION_PENDING ACTIVE REJECTED SUSPENDED WITHDRAWN }
280
+ }
281
+ declaration_id: reference(ParticipantDeclaration) [0..1] {
282
+ modality MAY
283
+ definition "The Declaration this case signs/updates (PD-03, 5.3.2 terminal step)"
284
+ on_delete nullify
285
+ }
286
+ submitted_by: string [0..1] {
287
+ modality MAY
288
+ }
289
+ decision_date: date [0..1] {
290
+ modality MAY
291
+ definition "Date of the MC participation decision"
292
+ }
293
+ notes: text [0..1] {
294
+ modality MAY
295
+ }
296
+ created: datetime {
297
+ modality SHALL
298
+ }
299
+ modified: datetime {
300
+ modality SHALL
301
+ }
302
+ }
303
+
304
+ class CompetenceEvidence#data {
305
+ store { competenceEvidence }
306
+ description { "One competence-demonstration dossier attached to a participation case: accreditation certificate + assessment report, peer assessment report, or the Scheme B self-declaration with supporting evidence. The competence REQUIREMENTS are delegated (ISO/IEC 17065 / 17025) — this record only evidences their demonstration." }
307
+ indexes { application_id }
308
+ id: string {
309
+ modality SHALL
310
+ }
311
+ application_id: reference(ParticipantApplication) {
312
+ modality SHALL
313
+ on_delete cascade
314
+ required true
315
+ }
316
+ kind: enum {
317
+ modality SHALL
318
+ definition "The demonstration path (B 18:2025 §5.4; PD-03/PD-04, 5.2)"
319
+ enum_values { accreditation peer_assessment self_declaration }
320
+ }
321
+ standard_ref: string {
322
+ modality SHALL
323
+ definition "The competence standard demonstrated (e.g. ISO/IEC 17065, ISO/IEC 17025)"
324
+ }
325
+ body: string [0..1] {
326
+ modality MAY
327
+ definition "Accreditation body (IAF-MLA / ILAC-MRA signatory) or peer-assessment team leader"
328
+ }
329
+ report_reference: string [0..1] {
330
+ modality MAY
331
+ }
332
+ report_date: date [0..1] {
333
+ modality MAY
334
+ }
335
+ team: string[] [0..*] {
336
+ modality MAY
337
+ definition "Assessment-team experts (MC-approved LME/MSE names)"
338
+ }
339
+ notes: text [0..1] {
340
+ modality MAY
341
+ }
342
+ created: datetime {
343
+ modality SHALL
344
+ }
345
+ modified: datetime {
346
+ modality SHALL
347
+ }
348
+ }
349
+
350
+ class ApprovalVote#data {
351
+ store { approvalVotes }
352
+ description { "One recorded vote of the approval pipeline: the Review Committee's recommendation (one per case, PD-03/PD-04 5.3.2) or a Management Committee member's ballot on the participation decision (B 18:2025 §11.4.2 — 80 % of the MC members from Member States; abstentions do not vote; a reason is recorded on against/abstain)." }
353
+ indexes { application_id organ }
354
+ id: string {
355
+ modality SHALL
356
+ }
357
+ application_id: reference(ParticipantApplication) {
358
+ modality SHALL
359
+ on_delete cascade
360
+ required true
361
+ }
362
+ organ: enum {
363
+ modality SHALL
364
+ enum_values { review_committee management_committee }
365
+ }
366
+ kind: enum {
367
+ modality SHALL
368
+ enum_values { rc_recommendation mc_ballot }
369
+ }
370
+ voter: string {
371
+ modality SHALL
372
+ definition "The RC rapporteur or the MC member (name or member-state code)"
373
+ }
374
+ member_state: string [0..1] {
375
+ modality MAY
376
+ }
377
+ ballot: enum {
378
+ modality SHALL
379
+ enum_values { in_favour against abstain }
380
+ }
381
+ reason: text [0..1] {
382
+ modality MAY
383
+ definition "Mandatory on against/abstain (B 18:2025 §11.4 voting rules)"
384
+ }
385
+ cast_at: datetime {
386
+ modality SHALL
387
+ }
388
+ created: datetime {
389
+ modality SHALL
390
+ }
391
+ modified: datetime {
392
+ modality SHALL
393
+ }
394
+ }
395
+
396
+ class CategorySchemeRecord#data {
397
+ store { categorySchemes }
398
+ description { "The registry's per-instrument-category scheme state — the instance the task-40 category_scheme lifecycle machine (framework/schemes.yaml, B 18:2025 clause 15) runs against. Included in Scheme B on inclusion (§15.1); the two-year timer (§15.2) is evaluated from this record by the registry service (browser/src/data/framework.ts evaluateSchemeLifecycle) and every fired transition is appended to `history`." }
399
+ indexes { standard_id state }
400
+ id: string {
401
+ modality SHALL
402
+ definition "Instrument-category id (snake_case, e.g. load-cells)"
403
+ }
404
+ label: string {
405
+ modality SHALL
406
+ }
407
+ standard_id: string [0..1] {
408
+ modality MAY
409
+ definition "The platform standard implementing the category's Recommendation (e.g. oiml-r60)"
410
+ }
411
+ recommendation_refs: string[] [0..*] {
412
+ modality MAY
413
+ definition "OIML Recommendation references covering the category (e.g. R 60:2021)"
414
+ }
415
+ state: enum {
416
+ modality SHALL
417
+ enum_values { SCHEME_A SCHEME_B }
418
+ }
419
+ included_at: date {
420
+ modality SHALL
421
+ definition "Date of inclusion in the OIML-CS — opens the two-year timer (§15.1/§15.2)"
422
+ }
423
+ transitioned_at: date [0..1] {
424
+ modality MAY
425
+ definition "Date the category reached Scheme A"
426
+ }
427
+ history: reference(CategorySchemeTransition) [0..*] {
428
+ modality MAY
429
+ definition "Every fired lifecycle transition (timer- or decision-driven)"
430
+ }
431
+ created: datetime {
432
+ modality SHALL
433
+ }
434
+ modified: datetime {
435
+ modality SHALL
436
+ }
437
+ }
438
+
439
+ class DeclarationScopeEntry#data {
440
+ description { "One scope row of a Declaration or application: an instrument category and the Schemes covered for it (PD-08 cl. 4 a — the scope model is categories × schemes)." }
441
+ helper { true }
442
+ category: string {
443
+ modality SHALL
444
+ }
445
+ schemes: string[] {
446
+ modality SHALL
447
+ definition "Scheme ids of framework/schemes.yaml (scheme_a | scheme_b)"
448
+ }
449
+ }
450
+
451
+ class CategorySchemeTransition#data {
452
+ description { "One fired transition of the category_scheme lifecycle recorded on a CategorySchemeRecord (e.g. the §15.2 two-year timer moving the category from SCHEME_B to SCHEME_A)." }
453
+ helper { true }
454
+ from: string {
455
+ modality SHALL
456
+ }
457
+ to: string {
458
+ modality SHALL
459
+ }
460
+ action: string {
461
+ modality SHALL
462
+ }
463
+ at: datetime {
464
+ modality SHALL
465
+ }
466
+ reason: string [0..1] {
467
+ modality MAY
468
+ }
469
+ }
470
+