@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,492 @@
1
+ class AcceptanceReview#data {
2
+ store { acceptanceReviews }
3
+ description { "A Utilizer/Associate's acceptability evaluation of one registered certificate against its own signed Declaration (B 18:2025 §5.6.3): the category in Declaration scope, the scheme accepted, the IA/TL accepted, and the MTL policy. A non-acceptance after consulting the Issuing Authority (4.8) records the WRITTEN JUSTIFICATION addressed to the Issuing Authority, the manufacturer AND the Executive Secretary — except for MTL-originated test data, whose non-acceptance is voluntary and requires no justification (4.9)." }
4
+ indexes { certificate_id participant_id outcome }
5
+ id: string {
6
+ modality SHALL
7
+ }
8
+ certificate_id: reference(Certificate) {
9
+ modality SHALL
10
+ on_delete cascade
11
+ required true
12
+ }
13
+ participant_kind: enum {
14
+ modality SHALL
15
+ enum_values { utilizer associate }
16
+ }
17
+ participant_id: string {
18
+ modality SHALL
19
+ definition "The reviewing Utilizer/Associate id"
20
+ }
21
+ consulted_ia: boolean {
22
+ modality SHALL
23
+ definition "The reviewer consulted the Issuing Authority over its questions first (PD-06, 4.8)"
24
+ }
25
+ mtl_originated: boolean {
26
+ modality SHALL
27
+ definition "The certificate's test data originates (partly) from a Manufacturer Test Laboratory (4.9)"
28
+ }
29
+ outcome: enum {
30
+ modality SHALL
31
+ enum_values { accepted not_accepted }
32
+ }
33
+ checks: reference(AcceptabilityCheck) [0..*] {
34
+ modality MAY
35
+ definition "The per-criterion evaluation snapshot (§5.6.3 criteria)"
36
+ }
37
+ justification: text [0..1] {
38
+ modality MAY
39
+ definition "The written justification for non-acceptance (4.8) — absent for MTL-originated data (4.9)"
40
+ }
41
+ justification_addressees: string[] [0..*] {
42
+ modality MAY
43
+ definition "issuing_authority + manufacturer + executive_secretary (4.8); empty for MTL-originated data (4.9)"
44
+ }
45
+ evaluated_by: string [0..1] {
46
+ modality MAY
47
+ }
48
+ evaluated_at: datetime {
49
+ modality SHALL
50
+ }
51
+ created: datetime {
52
+ modality SHALL
53
+ }
54
+ modified: datetime {
55
+ modality SHALL
56
+ }
57
+ }
58
+
59
+ class AppealCase#data {
60
+ store { appeals }
61
+ description { "An appeal to the Board of Appeal (PD-01, 8): an applicant's against an Issuing Authority decision — only after exhausting the IA's own appeal procedure where applicable (8.2.1) — or a participant's against a Management Committee decision (8.3). Lodged in writing with the Executive Secretary WITHIN ONE MONTH, setting out all reasons; the BoA's written decision issues within one month of consideration (9) and a decision upholding an appeal against an MC decision is BINDING on the MC and cannot be appealed further. The status field walks the appeal_case state machine." }
62
+ indexes { status kind }
63
+ id: string {
64
+ modality SHALL
65
+ }
66
+ kind: enum {
67
+ modality SHALL
68
+ definition "8.2 (applicant vs IA decision) | 8.3 (participant vs MC decision)"
69
+ enum_values { applicant_appeal participant_appeal }
70
+ }
71
+ appellant_kind: enum {
72
+ modality SHALL
73
+ enum_values { applicant issuing_authority utilizer associate }
74
+ }
75
+ appellant_id: string [0..1] {
76
+ modality MAY
77
+ }
78
+ appellant_name: string {
79
+ modality SHALL
80
+ }
81
+ contested: text {
82
+ modality SHALL
83
+ definition "The contested decision (IA decision or MC decision), described"
84
+ }
85
+ contested_application_id: reference(ParticipantApplication) [0..1] {
86
+ modality MAY
87
+ definition "The MC participation decision appealed (8.3), where applicable"
88
+ on_delete nullify
89
+ }
90
+ contested_certificate_id: reference(Certificate) [0..1] {
91
+ modality MAY
92
+ definition "The certificate the contested IA decision concerns (8.2), where applicable"
93
+ on_delete nullify
94
+ }
95
+ ia_procedure_applicable: boolean {
96
+ modality SHALL
97
+ definition "Whether the IA has its own appeal procedure applicable to the case (8.2.1)"
98
+ }
99
+ ia_appeal_outcome: text [0..1] {
100
+ modality MAY
101
+ definition "The outcome of the IA's own appeal procedure (8.2.1 precondition evidence)"
102
+ }
103
+ reasons: text {
104
+ modality SHALL
105
+ definition "All reasons for the appeal, set out in writing (8.2/8.3)"
106
+ }
107
+ informed_at: date {
108
+ modality SHALL
109
+ definition "Date the appellant was informed of the decision (8.2.2) or concluded no agreement was reachable (8.3) — opens the one-month window"
110
+ }
111
+ lodged_at: date {
112
+ modality SHALL
113
+ definition "Date the written appeal reached the Executive Secretary — within one month of informed_at"
114
+ }
115
+ status: enum {
116
+ modality SHALL
117
+ enum_values { LODGED CIRCULATED CONSIDERED DECIDED INADMISSIBLE }
118
+ }
119
+ information_circulated_at: date [0..1] {
120
+ modality MAY
121
+ definition "Case information circulated to the BoA and the parties — at least one month before consideration (9)"
122
+ }
123
+ considered_at: date [0..1] {
124
+ modality MAY
125
+ definition "Date the BoA considered the case"
126
+ }
127
+ decision: enum [0..1] {
128
+ modality MAY
129
+ enum_values { upheld dismissed }
130
+ }
131
+ decision_issued_at: date [0..1] {
132
+ modality MAY
133
+ definition "The written BoA decision — within one month of consideration (9)"
134
+ }
135
+ binding_on_mc: boolean [0..1] {
136
+ modality MAY
137
+ definition "An upheld appeal against an MC decision binds the MC (9)"
138
+ }
139
+ further_appeal_possible: boolean [0..1] {
140
+ modality MAY
141
+ definition "False once the BoA upholds against an MC decision (9)"
142
+ }
143
+ anonymized_report_requested: boolean [0..1] {
144
+ modality MAY
145
+ definition "The report to the next MC meeting is anonymized on request (9)"
146
+ }
147
+ notes: text [0..1] {
148
+ modality MAY
149
+ }
150
+ created: datetime {
151
+ modality SHALL
152
+ }
153
+ modified: datetime {
154
+ modality SHALL
155
+ }
156
+ }
157
+
158
+ class ComplaintCase#data {
159
+ store { complaints }
160
+ description { "A complaint to the Executive Secretary with documented and substantiated evidence (PD-01, 6): incorrect technical conclusions or procedures underlying an issued OIML type evaluation report (6.2 — owner and MC notified; the Executive Secretary investigates with the Review Committee's advice; upheld ⇒ deregistration and the IA corrects the report), non-acceptance by a Utilizer or Associate (6.3), or dissatisfaction with the OIML-CS (6.4). The status field walks the complaint_case state machine. This is also the procedure PD-05 §7.1 defers to." }
161
+ indexes { status kind certificate_id }
162
+ id: string {
163
+ modality SHALL
164
+ }
165
+ kind: enum {
166
+ modality SHALL
167
+ enum_values { incorrect_conclusions non_acceptance dissatisfaction }
168
+ }
169
+ complainant: string {
170
+ modality SHALL
171
+ }
172
+ certificate_id: reference(Certificate) [0..1] {
173
+ modality MAY
174
+ definition "The certificate whose evaluation report is challenged (6.2)"
175
+ on_delete nullify
176
+ }
177
+ participant_id: string [0..1] {
178
+ modality MAY
179
+ definition "The Utilizer/Associate whose non-acceptance is complained of (6.3)"
180
+ }
181
+ evidence: text {
182
+ modality SHALL
183
+ definition "The documented and substantiated evidence (6)"
184
+ }
185
+ owner_notified: boolean {
186
+ modality SHALL
187
+ definition "The report owner was notified (6.2)"
188
+ }
189
+ mc_notified: boolean {
190
+ modality SHALL
191
+ definition "The Management Committee was notified (6.2/6.3)"
192
+ }
193
+ ia_consulted: boolean [0..1] {
194
+ modality MAY
195
+ definition "The Executive Secretary consulted the relevant Issuing Authority (PD-05 §7.1)"
196
+ }
197
+ rc_advice: text [0..1] {
198
+ modality MAY
199
+ definition "The Review Committee's advice on the investigation (6.2) — mandatory for incorrect_conclusions"
200
+ }
201
+ upheld: boolean [0..1] {
202
+ modality MAY
203
+ }
204
+ recommended_actions: text [0..1] {
205
+ modality MAY
206
+ definition "Actions recommended to the MC where the complaint is upheld (6.3/6.4) — mandatory when upheld"
207
+ }
208
+ correction_action: text [0..1] {
209
+ modality MAY
210
+ definition "The IA's correction of the type evaluation report on deregistration (6.2)"
211
+ }
212
+ status: enum {
213
+ modality SHALL
214
+ enum_values { RECEIVED INVESTIGATION UPHELD DISMISSED }
215
+ }
216
+ created: datetime {
217
+ modality SHALL
218
+ }
219
+ modified: datetime {
220
+ modality SHALL
221
+ }
222
+ }
223
+
224
+ class MisuseCase#data {
225
+ store { misuseCases }
226
+ description { "A certificate-misuse case (PD-06, 5.1): on documented and substantiated evidence that the owner uses the certificate contrary to the clause-4 requirements, the Executive Secretary consults the CIML Member of the issuing Member State, informs the MC, the other Member States, the Issuing Authority and interested parties, and warns the owner that continued misuse leads to corrective actions up to deregistration by the BIML (5.2/5.3 — the owner may appeal per PD-01; if not upheld, the BIML deregisters). The status field walks the misuse_case state machine." }
227
+ indexes { status certificate_id }
228
+ id: string {
229
+ modality SHALL
230
+ }
231
+ certificate_id: reference(Certificate) {
232
+ modality SHALL
233
+ on_delete cascade
234
+ required true
235
+ }
236
+ evidence: text {
237
+ modality SHALL
238
+ definition "The documented and substantiated evidence of use contrary to clause 4 (5.1)"
239
+ }
240
+ ciml_member_consulted: boolean {
241
+ modality SHALL
242
+ definition "The CIML Member of the issuing Member State was consulted (5.1)"
243
+ }
244
+ owner_warned: boolean {
245
+ modality SHALL
246
+ definition "The owner was warned that continued misuse leads to deregistration (5.1)"
247
+ }
248
+ warned_at: date [0..1] {
249
+ modality MAY
250
+ }
251
+ notifications: string[] [0..*] {
252
+ modality MAY
253
+ definition "Parties informed: management_committee, member_states, issuing_authority, interested_parties (5.1)"
254
+ }
255
+ appeal_outcome: enum [0..1] {
256
+ modality MAY
257
+ definition "The PD-01 appeal outcome on the deregistration proposal (5.2) — null: no appeal lodged"
258
+ enum_values { upheld not_upheld }
259
+ }
260
+ status: enum {
261
+ modality SHALL
262
+ enum_values { EVIDENCED WARNED CLOSED DEREGISTERED }
263
+ }
264
+ created: datetime {
265
+ modality SHALL
266
+ }
267
+ modified: datetime {
268
+ modality SHALL
269
+ }
270
+ }
271
+
272
+ class DeregistrationRecord#data {
273
+ store { deregistrations }
274
+ description { "The BIML-side deregistration of a registered certificate: for incorrect technical conclusions (PD-01, 6.2), for misuse (PD-06, 5.3), or for registration-fee non-payment (PD-05 §6.2 — the listing withdrawal). Records the notifications (owner, MC, Member States, Issuing Authority, interested parties) and the published notice in the OIML Bulletin and on the OIML website (PD-06, 5.3)." }
275
+ indexes { certificate_id reason_kind }
276
+ id: string {
277
+ modality SHALL
278
+ }
279
+ certificate_id: reference(Certificate) {
280
+ modality SHALL
281
+ on_delete cascade
282
+ required true
283
+ }
284
+ certificate_number: string {
285
+ modality SHALL
286
+ }
287
+ reason_kind: enum {
288
+ modality SHALL
289
+ enum_values { incorrect_conclusions misuse fee_non_payment }
290
+ }
291
+ complaint_id: reference(ComplaintCase) [0..1] {
292
+ modality MAY
293
+ on_delete nullify
294
+ }
295
+ misuse_case_id: reference(MisuseCase) [0..1] {
296
+ modality MAY
297
+ on_delete nullify
298
+ }
299
+ deregistered_at: date {
300
+ modality SHALL
301
+ }
302
+ notified: string[] [0..*] {
303
+ modality MAY
304
+ definition "owner, management_committee, member_states, issuing_authority, interested_parties (PD-06, 5.3)"
305
+ }
306
+ bulletin_notice_published: boolean {
307
+ modality SHALL
308
+ definition "The notice was published in the OIML Bulletin and on the OIML website (PD-06, 5.3)"
309
+ }
310
+ bulletin_ref: string [0..1] {
311
+ modality MAY
312
+ definition "The OIML Bulletin notice reference (e.g. Bulletin 2026-3, p. 14)"
313
+ }
314
+ notes: text [0..1] {
315
+ modality MAY
316
+ }
317
+ created: datetime {
318
+ modality SHALL
319
+ }
320
+ modified: datetime {
321
+ modality SHALL
322
+ }
323
+ }
324
+
325
+ class AnrValidationLetter#data {
326
+ store { validationLetters }
327
+ description { "Under Scheme A, where tests according to the additional national requirements included in the OIML-CS Declaration of a Utilizer or Associate have been conducted, the Issuing Authority's letter validating the conformity of the instrument to these requirements (PD-05 §5.6.3). A copy is sent to the BIML with the OIML certificate (at registration)." }
328
+ indexes { certificate_id issuing_authority_id }
329
+ id: string {
330
+ modality SHALL
331
+ }
332
+ certificate_id: reference(Certificate) {
333
+ modality SHALL
334
+ on_delete cascade
335
+ required true
336
+ }
337
+ issuing_authority_id: reference(IssuingAuthority) {
338
+ modality SHALL
339
+ on_delete restrict
340
+ required true
341
+ }
342
+ declaration_id: reference(ParticipantDeclaration) [0..1] {
343
+ modality MAY
344
+ definition "The Utilizer/Associate Declaration whose ANRs were validated"
345
+ on_delete nullify
346
+ }
347
+ anrs: string[] [0..*] {
348
+ modality MAY
349
+ definition "The additional national requirements validated (as declared)"
350
+ }
351
+ letter_text: text {
352
+ modality SHALL
353
+ definition "The validation letter text (the IA's conformity validation)"
354
+ }
355
+ sent_to_biml: boolean {
356
+ modality SHALL
357
+ definition "A copy was sent to the BIML with the certificate (§5.6.3) — flipped at registration"
358
+ }
359
+ sent_at: date [0..1] {
360
+ modality MAY
361
+ }
362
+ created: datetime {
363
+ modality SHALL
364
+ }
365
+ modified: datetime {
366
+ modality SHALL
367
+ }
368
+ }
369
+
370
+ class RegisteredCopy#data {
371
+ store { registeredCopies }
372
+ description { "The BIML-registered copy of one certificate revision — the scheme's source of truth for validity (B 18:2025 §15.8): the validity of any OIML certificate is verified with the copy registered and published on the OIML-CS pages of the OIML website (the platform's public register). One record per registered revision carrying the digest of the certificate content at registration; an error-correction revision marks the previous copy superseded (PD-05 §8.1.5) while other previous versions stay published (§8.1.7 — archived); deregistration removes the copy from the validity source." }
373
+ indexes { certificate_id certificate_number status }
374
+ id: string {
375
+ modality SHALL
376
+ }
377
+ certificate_id: reference(Certificate) {
378
+ modality SHALL
379
+ on_delete cascade
380
+ required true
381
+ }
382
+ certificate_number: string {
383
+ modality SHALL
384
+ }
385
+ revision: integer {
386
+ modality SHALL
387
+ definition "The certificate revision this copy registers (0 = the initial issue)"
388
+ }
389
+ registered_at: date {
390
+ modality SHALL
391
+ }
392
+ digest: string {
393
+ modality SHALL
394
+ definition "The SHA-256 digest of the canonical registration content (the validity reference)"
395
+ }
396
+ status: enum {
397
+ modality SHALL
398
+ definition "current = THE validity reference (§15.8); archived = previous version still published (§8.1.7); superseded = error-corrected previous (§8.1.5); deregistered = removed from the register"
399
+ enum_values { current archived superseded deregistered }
400
+ }
401
+ superseded_by_revision: integer [0..1] {
402
+ modality MAY
403
+ }
404
+ created: datetime {
405
+ modality SHALL
406
+ }
407
+ modified: datetime {
408
+ modality SHALL
409
+ }
410
+ }
411
+
412
+ class CertificateRegistration#data {
413
+ store { certificateRegistrations }
414
+ description { "The register-side record of one certificate's registration submission (PD-05 §6): the hub's half of the federation registration sequence. The lifecycle walks the certificate_registration state machine (evaluation/state-machines.prl): ANNOUNCED (the registrant announcement opened the shell) → SUBMITTED (the signed registration package's intake verification passed — the trust registry's check of the signature against the IA's registered org key plus the standing check, and the correlation's orphan check) → PUBLISHED (the auto_publishes hop — the decided register doctrine, the demo-flows program 2026-08-28: the verified signed submission publishes WITHOUT a human gate; the register's trust is in the signature + the receipt machinery and the published record is exactly what the IA signed and sent; the human review surfaces stay as read postures, never a gate) | REFUSED (the intake verification's refusal, the reason recorded — never a silent drop). The publication materializes the RegisteredCopy row (the validity source, B 18:2025 §15.8) and walks the certificate's PENDING_REGISTRATION → ACTIVE hop." }
415
+ indexes { certificate_id application_id status registrant_id }
416
+ id: string {
417
+ modality SHALL
418
+ }
419
+ registrant_id: string {
420
+ modality SHALL
421
+ definition "The registrant announcement's idempotency key — THE correlation join the registration package references (an unknown or mismatched registrant refuses the intake)"
422
+ }
423
+ certificate_id: reference(Certificate) [0..1] {
424
+ modality MAY
425
+ definition "The certificate the registration publishes (bound at the SUBMITTED hop — the announcement names the application, the package names the certificate)"
426
+ on_delete cascade
427
+ required false
428
+ }
429
+ application_id: reference(Application) [0..1] {
430
+ modality MAY
431
+ definition "The sender's application id (the chain's global id, carried by the registrant announcement)"
432
+ on_delete nullify
433
+ required false
434
+ }
435
+ origin: string [0..1] {
436
+ modality MAY
437
+ definition "Who the submission's signature verified against at intake: the federation peer instance, the submitting organization's registered key, or the honest unsigned posture (the deployment's declared dev posture) — the intake's verification provenance, never hidden"
438
+ }
439
+ registration_reference: string [0..1] {
440
+ modality MAY
441
+ definition "The hub's intake reference (the idempotent submission reference the receipts answer)"
442
+ }
443
+ registration_number: string [0..1] {
444
+ modality MAY
445
+ definition "The register's number for the published record (assigned at publication)"
446
+ }
447
+ status: enum {
448
+ modality SHALL
449
+ definition "Walks the certificate_registration state machine: ANNOUNCED → SUBMITTED → PUBLISHED (the auto-publish doctrine — no human gate between the verified intake and the publication) | REFUSED (the intake verification's refusal)"
450
+ enum_values { ANNOUNCED SUBMITTED PUBLISHED REFUSED }
451
+ }
452
+ refusal_reason: text [0..1] {
453
+ modality MAY
454
+ definition "The written reason the intake verification refused (required when status = REFUSED — PD-05 §6 decisions are stated, never silent)"
455
+ }
456
+ submitted_at: datetime [0..1] {
457
+ modality MAY
458
+ definition "When the signed registration package passed the intake verification"
459
+ }
460
+ published_at: datetime [0..1] {
461
+ modality MAY
462
+ definition "When the verified submission published to the register (the auto_publishes hop)"
463
+ }
464
+ refused_at: datetime [0..1] {
465
+ modality MAY
466
+ }
467
+ created: datetime {
468
+ modality SHALL
469
+ }
470
+ modified: datetime {
471
+ modality SHALL
472
+ }
473
+ }
474
+
475
+ class AcceptabilityCheck#data {
476
+ description { "One criterion of a Utilizer/Associate acceptability evaluation (B 18:2025 §5.6.3): the category in Declaration scope, the scheme accepted, the IA/TL accepted, or the MTL policy." }
477
+ helper { true }
478
+ id: string {
479
+ modality SHALL
480
+ definition "category_in_scope | scheme_accepted | ia_accepted | tl_accepted | mtl_policy"
481
+ }
482
+ label: string {
483
+ modality SHALL
484
+ }
485
+ passed: boolean {
486
+ modality SHALL
487
+ }
488
+ detail: string [0..1] {
489
+ modality MAY
490
+ }
491
+ }
492
+