@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,55 @@
1
+ form r144-3/test-bursts-signal {
2
+ name "Electrical Burst Test (Signal, Data and Control Lines)"
3
+ description "Bursts (transients) on signal, data and control lines (R 144-2, 1.14)"
4
+ data_class FormInstance#data
5
+ header r144-3/header-b
6
+ conformance_process /conf/performance-tests/burst-signal
7
+ section "R 144-2, 1.14"
8
+ requirements { /req/metrological/disturbances }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.4"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.14"
11
+ applicability {
12
+ capabilities: [data-interface]
13
+ }
14
+ field burst_amplitude_kv : number {
15
+ unit "kV"
16
+ required true
17
+ measurement_method direct
18
+ default 1
19
+ }
20
+ field repetition_rate_khz : number {
21
+ unit "kHz"
22
+ required true
23
+ measurement_method direct
24
+ default 5
25
+ }
26
+ field bursts_applied : string {
27
+ description "At least ten positive and ten negative bursts, randomly phased; ≥ 1 min per amplitude and polarity"
28
+ required true
29
+ measurement_method direct
30
+ }
31
+ field readjusted : boolean {
32
+ description "EUT readjusted during the test (only to reset after a significant fault indication)"
33
+ measurement_method direct
34
+ }
35
+ field measurements : array {
36
+ required true
37
+ subform_ref cgm-point { }
38
+ }
39
+ field fault_detected : boolean {
40
+ measurement_method direct
41
+ }
42
+ field within_limits_or_detected : boolean {
43
+ required true
44
+ measurement_method evaluated
45
+ targets { /req/metrological/disturbances }
46
+ true_label "Pass"
47
+ false_label "Fail"
48
+ evaluation { rule "ocl{measurements->forAll(m | abs(m.error) <= max(5, 0.10 * abs(m.cgm_reference))) or fault_detected}" condition "|error| <= MPE on verification, or fault detected" }
49
+ }
50
+ field remarks : text {
51
+
52
+ }
53
+ pass_fail { criteria "The error shall lie within the permissible limits, or the failure shall be detected by the checking facility." pass_if "ocl{within_limits_or_detected}" }
54
+ }
55
+
@@ -0,0 +1,48 @@
1
+ form r144-3/test-cold {
2
+ name "Cold Test"
3
+ description "Operation within MPE at 5 °C (or manufacturer minimum) for 2 h (R 144-2, 1.6) — evidence for R 144-3, 3.8 \"Temperature\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/cold
7
+ section "R 144-2, 1.6"
8
+ requirements { /req/metrological/rated-conditions /req/metrological/mpe-operating }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.1"
10
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.3.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.6"
12
+ calculation_context { dimensions true }
13
+ field test_temperature : number {
14
+ description "Exposure temperature (5 °C or the manufacturer minimum operating temperature)"
15
+ unit "degC"
16
+ required true
17
+ measurement_method direct
18
+ }
19
+ field manufacturer_t_min : number {
20
+ unit "degC"
21
+ measurement_method declared
22
+ bind family.parameters.t_min
23
+ }
24
+ field exposure_duration_h : number {
25
+ description "Exposure duration after temperature stability (2 h; dT ≤ 1 °C/min, RH ≤ 50 %)"
26
+ unit "h"
27
+ required true
28
+ measurement_method direct
29
+ }
30
+ field measurements : array {
31
+ description "One measurement every half-hour with each CGM (R 144-2, 1.2)"
32
+ required true
33
+ subform_ref cgm-point { }
34
+ }
35
+ field within_mpe_operating : boolean {
36
+ required true
37
+ measurement_method evaluated
38
+ targets { /req/metrological/mpe-operating }
39
+ true_label "Pass"
40
+ false_label "Fail"
41
+ evaluation { rule "ocl{measurements->forAll(m | abs(m.error) <= max(5, 0.10 * abs(m.cgm_reference)))}" condition "all |error| <= MPE on verification" }
42
+ }
43
+ field remarks : text {
44
+
45
+ }
46
+ pass_fail { criteria "The reading shall remain within the MPE on verification under rated operating conditions (max(5 ppm, 10 %)) during 2 h at low temperature." pass_if "ocl{within_mpe_operating}" }
47
+ }
48
+
@@ -0,0 +1,92 @@
1
+ form r144-3/test-cross-sensitivity {
2
+ name "Cross Sensitivity Test"
3
+ description "Influence of gas components other than the measurand (R 144-2, 1.10) — evidence for R 144-3, 3.8 \"Cross sensitivity\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/cross-sensitivity-test
7
+ section "R 144-2, 1.10"
8
+ requirements { /req/metrological/cross-sensitivity }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.2"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.10"
11
+ field interfering_components_declared : object {
12
+ description "Manufacturer list of interfering components and their maximum permissible concentrations (R 144-1, 4.5.2 NOTE) — structured (component, max_concentration) pairs per the pair-list convention (TODO.roadmap/20)"
13
+ measurement_method declared
14
+ bind model.parameters.interfering_components
15
+ }
16
+ field measurand_level : number {
17
+ description "Measurand volume fraction (10 % of the upper level of the measuring range or sub-range)"
18
+ unit "ppm"
19
+ required true
20
+ measurement_method direct
21
+ symbol x_ref
22
+ }
23
+ field interferent_rows : array {
24
+ description "One row per influencing gas component"
25
+ required true
26
+ items { object fields {
27
+ field interferent : string {
28
+ description "Influencing gas component"
29
+ required true
30
+ }
31
+ field interferent_fraction : number {
32
+ description "Volume fraction of the influencing component (its limit content)"
33
+ unit "ppm"
34
+ required true
35
+ measurement_method direct
36
+ }
37
+ field reading_zero_gas : number {
38
+ description "Reading with zero gas N2"
39
+ unit "ppm"
40
+ measurement_method direct
41
+ symbol reading_zero_gas
42
+ }
43
+ field reading_interferent_alone : number {
44
+ description "Reading with the influencing gas alone in N2"
45
+ unit "ppm"
46
+ measurement_method direct
47
+ symbol reading_interferent
48
+ }
49
+ field reading_interferent_with_measurand : number {
50
+ description "Reading with the influencing gas together with the measurand in N2"
51
+ unit "ppm"
52
+ measurement_method direct
53
+ symbol reading_with_measurand
54
+ }
55
+ field variation : number {
56
+ description "Zero-point effect — variation of the reading caused by the interferent alone, against the zero-gas baseline"
57
+ unit "ppm"
58
+ measurement_method computed
59
+ verdict cross_sensitivity_variation
60
+ }
61
+ field span_effect : number {
62
+ description "Span effect — deviation of the measurand reading caused by the interferent at the given point (combined step minus interferent-alone, minus the measurand level)"
63
+ unit "ppm"
64
+ measurement_method computed
65
+ verdict cross_sensitivity_span_effect
66
+ }
67
+ field half_mpe : number {
68
+ unit "ppm"
69
+ measurement_method computed
70
+ specification_reference "R 144-1, 4.5.2"
71
+ derivation "ocl{0.5 * max(2, 0.05 * abs(measurand_level))}"
72
+ }
73
+ field within_limit : boolean {
74
+ measurement_method evaluated
75
+ true_label "Pass"
76
+ false_label "Fail"
77
+ evaluation { verdict cross_sensitivity_variation op lte limit "ocl{0.5 * max(2, 0.05 * abs(x_ref))}" condition "|zero-point effect vs zero gas| <= 0.5 × |MPE|" }
78
+ }
79
+ field span_within_limit : boolean {
80
+ measurement_method evaluated
81
+ true_label "Pass"
82
+ false_label "Fail"
83
+ evaluation { verdict cross_sensitivity_span_effect op lte limit "ocl{0.5 * max(2, 0.05 * abs(x_ref))}" condition "|span effect| <= 0.5 × |MPE|" }
84
+ }
85
+ } }
86
+ }
87
+ field remarks : text {
88
+
89
+ }
90
+ pass_fail { criteria "The indication shall not vary by more than half the absolute value of the maximum permissible intrinsic error for any influencing component at its maximum permissible concentration — both the zero-point effect (interferent alone vs zero gas) and the span effect (deviation of the measurand reading at the given point)." pass_if "ocl{interferent_rows->forAll(r | r.within_limit and r.span_within_limit)}" }
91
+ }
92
+
@@ -0,0 +1,50 @@
1
+ form r144-3/test-damp-heat {
2
+ name "Damp Heat Test (Steady State)"
3
+ description "Operation within MPE at 30 °C / 85 % RH for 2 days (R 144-2, 1.7) — evidence for R 144-3, 3.8 \"Humidity\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/damp-heat
7
+ section "R 144-2, 1.7"
8
+ requirements { /req/metrological/rated-conditions /req/metrological/mpe-operating }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.1"
10
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.3.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.7"
12
+ calculation_context { dimensions true }
13
+ field test_temperature : number {
14
+ unit "degC"
15
+ required true
16
+ measurement_method direct
17
+ default 30
18
+ }
19
+ field test_humidity : number {
20
+ description "Constant relative humidity (no condensation on the system)"
21
+ unit "%"
22
+ required true
23
+ measurement_method direct
24
+ default 85
25
+ }
26
+ field exposure_duration_days : number {
27
+ description "Exposure duration in days (temperature steady: extremes ≤ 5 °C, rate ≤ 5 °C/h)"
28
+ required true
29
+ measurement_method direct
30
+ default 2
31
+ }
32
+ field measurements : array {
33
+ description "One measurement per day with each CGM (R 144-2, 1.2)"
34
+ required true
35
+ subform_ref cgm-point { }
36
+ }
37
+ field within_mpe_operating : boolean {
38
+ required true
39
+ measurement_method evaluated
40
+ targets { /req/metrological/mpe-operating }
41
+ true_label "Pass"
42
+ false_label "Fail"
43
+ evaluation { rule "ocl{measurements->forAll(m | abs(m.error) <= max(5, 0.10 * abs(m.cgm_reference)))}" condition "all |error| <= MPE on verification" }
44
+ }
45
+ field remarks : text {
46
+
47
+ }
48
+ pass_fail { criteria "The reading shall remain within the MPE on verification under rated operating conditions (max(5 ppm, 10 %)) during 2 days of damp heat." pass_if "ocl{within_mpe_operating}" }
49
+ }
50
+
@@ -0,0 +1,52 @@
1
+ form r144-3/test-documentation-examination {
2
+ name "Documentation Examination"
3
+ description "Review of the type evaluation documentation and operating manual (R 144-1, 7.1.1, 7.1.3.4)"
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/examinations/documentation
7
+ section "R 144-1, 7.1.1"
8
+ requirements { /req/technical/type-evaluation-documentation /req/technical/operating-manual }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-7.1.1"
10
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-6.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-1:2013#clause-7.1.3.4"
12
+ field principle_description : boolean {
13
+ description "Description of the general principle of measurement provided"
14
+ required true
15
+ }
16
+ field component_list : boolean {
17
+ description "List of essential components with their characteristics provided"
18
+ required true
19
+ }
20
+ field component_drawings : boolean {
21
+ description "Description of essential components with drawings and diagrams provided"
22
+ required true
23
+ }
24
+ field software_information : boolean {
25
+ description "General information on the software provided"
26
+ required true
27
+ }
28
+ field emission_formula : boolean {
29
+ description "Formula applied for calculation of mass emission components described"
30
+ required true
31
+ }
32
+ field operating_manual : boolean {
33
+ description "Operating manual provided and covering R 144-1, 6.2 items (operation, storage temperatures, rated conditions, warm-up time, environmental conditions/classes, safety)"
34
+ required true
35
+ }
36
+ field manufacturer_test_results : boolean {
37
+ description "Details and results of manufacturer testing provided (if any)"
38
+ }
39
+ field documentation_complete : boolean {
40
+ required true
41
+ measurement_method evaluated
42
+ targets { /req/technical/type-evaluation-documentation }
43
+ true_label "Pass"
44
+ false_label "Fail"
45
+ evaluation { rule "ocl{principle_description and component_list and component_drawings and software_information and emission_formula and operating_manual}" condition "All R 144-1, 7.1.1 documentation items present" }
46
+ }
47
+ field remarks : text {
48
+
49
+ }
50
+ pass_fail { criteria "The type evaluation documentation shall contain all items of R 144-1, 7.1.1, and the operating manual shall clearly indicate the correct procedures (R 144-1, 7.1.3.4, 6.2)." pass_if "ocl{documentation_complete}" }
51
+ }
52
+
@@ -0,0 +1,83 @@
1
+ form r144-3/test-drift {
2
+ name "Stability with Time (Drift Test)"
3
+ description "Error over seven days with the smallest and largest CGMs (R 144-2, 1.3) — evidence for R 144-3, 3.8 \"Drift\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/drift-test
7
+ section "R 144-2, 1.3"
8
+ requirements { /req/metrological/drift }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.8"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.3"
11
+ ref definition "urn:oiml:pub:r:144-1:2013#clause-2.23"
12
+ field adjustment_means_used : string {
13
+ description "Adjustment means of the system under test (R 144-1, 4.8 addresses semi-automatic adjustment means)"
14
+ required true
15
+ bind model.classification.adjustment_means
16
+ }
17
+ field drift_series : array {
18
+ description "One series per CGM (smallest and largest volume fractions)"
19
+ required true
20
+ items { object fields {
21
+ field cgm_reference : number {
22
+ unit "ppm"
23
+ required true
24
+ measurement_method direct
25
+ symbol cgm_certified_value
26
+ }
27
+ field cgm_uncertainty : number {
28
+ description "Expanded uncertainty (k=2) of the CGM at this point — checked against the U:MPE ≤ 1:3 budget of R 144-1, 7.2.2.2 (reference-materials constraint)"
29
+ unit "ppm"
30
+ measurement_method direct
31
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-7.2.2.2"
32
+ }
33
+ field daily_measurements : array {
34
+ description "Measurements at least every 24 h over the 7-day period"
35
+ required true
36
+ items { object fields {
37
+ field day : integer {
38
+ required true
39
+ }
40
+ field indication : number {
41
+ unit "ppm"
42
+ required true
43
+ measurement_method direct
44
+ symbol indication
45
+ }
46
+ field error : number {
47
+ unit "ppm"
48
+ measurement_method computed
49
+ verdict drift_error
50
+ }
51
+ } }
52
+ min_items 7
53
+ series { axis day { unit "d" role time } cell { symbol indication unit "ppm" } }
54
+ }
55
+ field initial_indication : number {
56
+ description "Indication immediately after adjustment (day 0)"
57
+ unit "ppm"
58
+ required true
59
+ measurement_method direct
60
+ }
61
+ field mpe : number {
62
+ unit "ppm"
63
+ measurement_method lookup
64
+ calculation mpeIntrinsic
65
+ calculation_bindings { measured_value: cgm_reference }
66
+ }
67
+ field within_mpe_all_days : boolean {
68
+ measurement_method evaluated
69
+ true_label "Pass"
70
+ false_label "Fail"
71
+ evaluation { rule "ocl{daily_measurements->forAll(m | abs(m.error) <= abs(mpe))}" condition "|error| <= MPE on every day" }
72
+ }
73
+ } }
74
+ }
75
+ field drift_compensation_note : text {
76
+ description "If drift compensation is fitted, confirmation that its action produces no indication confusable with a measurement result (R 144-1, 4.8)"
77
+ }
78
+ field remarks : text {
79
+
80
+ }
81
+ pass_fail { criteria "The error shall remain within the maximum permissible intrinsic error for at least seven days from the moment of adjustment." pass_if "ocl{drift_series->forAll(s | s.within_mpe_all_days)}" }
82
+ }
83
+
@@ -0,0 +1,53 @@
1
+ form r144-3/test-dry-heat {
2
+ name "Dry Heat Test"
3
+ description "Operation within MPE at 40 °C (or manufacturer maximum) for 2 h (R 144-2, 1.5) — evidence for R 144-3, 3.8 \"Temperature\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/dry-heat
7
+ section "R 144-2, 1.5"
8
+ requirements { /req/metrological/rated-conditions /req/metrological/mpe-operating }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.1"
10
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.3.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.5"
12
+ calculation_context { dimensions true }
13
+ field test_temperature : number {
14
+ description "Exposure temperature (40 °C or the manufacturer maximum operating temperature)"
15
+ unit "degC"
16
+ required true
17
+ measurement_method direct
18
+ }
19
+ field manufacturer_t_max : number {
20
+ unit "degC"
21
+ measurement_method declared
22
+ bind family.parameters.t_max
23
+ }
24
+ field exposure_duration_h : number {
25
+ description "Exposure duration after temperature stability (2 h; dT ≤ 1 °C/min, RH ≤ 50 %)"
26
+ unit "h"
27
+ required true
28
+ measurement_method direct
29
+ }
30
+ field measurements : array {
31
+ description "One set of measurements every half-hour with each CGM (R 144-2, 1.2)"
32
+ required true
33
+ subform_ref cgm-point { }
34
+ }
35
+ field mpe_basis : string {
36
+ measurement_method declared
37
+ specification_reference "R 144-1, 4.3.2"
38
+ default "max(5 ppm, 10 % of measured value)"
39
+ }
40
+ field within_mpe_operating : boolean {
41
+ required true
42
+ measurement_method evaluated
43
+ targets { /req/metrological/mpe-operating }
44
+ true_label "Pass"
45
+ false_label "Fail"
46
+ evaluation { rule "ocl{measurements->forAll(m | abs(m.error) <= max(5, 0.10 * abs(m.cgm_reference)))}" condition "all |error| <= MPE on verification" }
47
+ }
48
+ field remarks : text {
49
+
50
+ }
51
+ pass_fail { criteria "The reading shall remain within the MPE on verification under rated operating conditions (max(5 ppm, 10 %)) during 2 h at high temperature." pass_if "ocl{within_mpe_operating}" }
52
+ }
53
+
@@ -0,0 +1,37 @@
1
+ form r144-3/test-error-determination {
2
+ name "Error Determination"
3
+ description "Intrinsic error at 3+ points of the measuring range using CGMs (R 144-2, 1.2) — evidence for R 144-3, 3.8 \"Intrinsic error\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/error-determination
7
+ section "R 144-2, 1.2"
8
+ requirements { /req/metrological/mpe-intrinsic /req/metrological/measuring-range }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.3.1"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-1:2013#clause-A.1.4"
12
+ calculation_context { dimensions true tables { cgm_test_points measuring_ranges } }
13
+ field calibration_characteristic : enum {
14
+ description "Calibration characteristic of the analyzer (3 points for linear, 5+ for nonlinear)"
15
+ required true
16
+ enum_values { linear nonlinear }
17
+ }
18
+ field test_points : array {
19
+ description "CGM test points (min +10 %, average ±10 %, max -10 % of range; uniformly distributed for nonlinear)"
20
+ required true
21
+ min_items 3
22
+ subform_ref cgm-point { }
23
+ }
24
+ field all_points_within_mpe : boolean {
25
+ required true
26
+ measurement_method evaluated
27
+ targets { /req/metrological/mpe-intrinsic }
28
+ true_label "Pass"
29
+ false_label "Fail"
30
+ evaluation { rule "ocl{test_points->forAll(p | p.within_mpe)}" condition "all |error| <= MPE" }
31
+ }
32
+ field remarks : text {
33
+
34
+ }
35
+ pass_fail { criteria "No measurement error shall exceed the maximum permissible intrinsic error (max(2 ppm, 5 % of measured value)) at any test point." pass_if "ocl{all_points_within_mpe}" }
36
+ }
37
+
@@ -0,0 +1,53 @@
1
+ form r144-3/test-esd {
2
+ name "Electrostatic Discharge Test"
3
+ description "Electrostatic discharges, 6 kV contact / 8 kV air (R 144-2, 1.16) — evidence for R 144-3, 3.8 \"Electrostatic discharges\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-b
6
+ conformance_process /conf/performance-tests/esd
7
+ section "R 144-2, 1.16"
8
+ requirements { /req/metrological/disturbances }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-4.5.4"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.16"
11
+ field contact_voltage_kv : number {
12
+ unit "kV"
13
+ required true
14
+ measurement_method direct
15
+ default 6
16
+ }
17
+ field air_voltage_kv : number {
18
+ unit "kV"
19
+ required true
20
+ measurement_method direct
21
+ default 8
22
+ }
23
+ field discharge_network : string {
24
+ measurement_method direct
25
+ default "150 pF via 330 Ω"
26
+ }
27
+ field discharges_applied : string {
28
+ description "At least ten successive discharges with ≥ 10 s interval (direct and indirect application)"
29
+ required true
30
+ measurement_method direct
31
+ }
32
+ field measurements : array {
33
+ description "Measurements during the test with the CGM of the largest volume fraction"
34
+ required true
35
+ subform_ref cgm-point { }
36
+ }
37
+ field fault_detected : boolean {
38
+ measurement_method direct
39
+ }
40
+ field within_limits_or_detected : boolean {
41
+ required true
42
+ measurement_method evaluated
43
+ targets { /req/metrological/disturbances }
44
+ true_label "Pass"
45
+ false_label "Fail"
46
+ evaluation { rule "ocl{measurements->forAll(m | abs(m.error) <= max(5, 0.10 * abs(m.cgm_reference))) or fault_detected}" condition "|error| <= MPE on verification, or fault detected" }
47
+ }
48
+ field remarks : text {
49
+
50
+ }
51
+ pass_fail { criteria "The error shall lie within the permissible limits, or the failure shall be detected by the checking facility (R 144-1, 4.5.4 d)." pass_if "ocl{within_limits_or_detected}" }
52
+ }
53
+
@@ -0,0 +1,83 @@
1
+ form r144-3/test-flow-spillover {
2
+ name "Spillover of Gas Flow Rates Test"
3
+ description "Gas flow indicator response at the minimum and maximum flow rates (R 144-2, 1.21)"
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/flow-spillover
7
+ section "R 144-2, 1.21"
8
+ requirements { /req/technical/gas-flow-monitoring /req/technical/gas-flow-meter }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-5.1.5"
10
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-5.5.2"
11
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.21"
12
+ applicability {
13
+ sampling_approach: [extractive]
14
+ }
15
+ field flow_rate_nominal : number {
16
+ unit "L/min"
17
+ measurement_method declared
18
+ bind model.parameters.gas_flow_rate_nominal
19
+ }
20
+ field flow_rate_min : number {
21
+ unit "L/min"
22
+ required true
23
+ measurement_method declared
24
+ bind model.parameters.gas_flow_rate_min
25
+ }
26
+ field flow_rate_max : number {
27
+ unit "L/min"
28
+ required true
29
+ measurement_method declared
30
+ bind model.parameters.gas_flow_rate_max
31
+ }
32
+ field low_flow_run : object {
33
+ description "Reduce the flow from above the minimum until the low flow indicator responds (R 144-1, 5.1.5) and signals (5.5.2)"
34
+ required true
35
+ fields {
36
+ field flow_rate_at_signal : number {
37
+ unit "L/min"
38
+ required true
39
+ measurement_method direct
40
+ }
41
+ field indicator_responded : boolean {
42
+ required true
43
+ measurement_method direct
44
+ }
45
+ field signal_given : boolean {
46
+ required true
47
+ measurement_method direct
48
+ }
49
+ }
50
+ }
51
+ field high_flow_run : object {
52
+ description "Increase the flow from below the maximum until the indicator responds and signals"
53
+ required true
54
+ fields {
55
+ field flow_rate_at_signal : number {
56
+ unit "L/min"
57
+ required true
58
+ measurement_method direct
59
+ }
60
+ field indicator_responded : boolean {
61
+ required true
62
+ measurement_method direct
63
+ }
64
+ field signal_given : boolean {
65
+ required true
66
+ measurement_method direct
67
+ }
68
+ }
69
+ }
70
+ field indicator_ok : boolean {
71
+ required true
72
+ measurement_method evaluated
73
+ targets { /req/technical/gas-flow-monitoring }
74
+ true_label "Pass"
75
+ false_label "Fail"
76
+ evaluation { rule "ocl{low_flow_run.indicator_responded and low_flow_run.signal_given and high_flow_run.indicator_responded and high_flow_run.signal_given}" condition "Indicator responds and signals at both flow limits" }
77
+ }
78
+ field remarks : text {
79
+
80
+ }
81
+ pass_fail { criteria "The low/high flow indicator shall respond (R 144-1, 5.1.5) and give the signal (R 144-1, 5.5.2) at both manufacturer flow limits." pass_if "ocl{indicator_ok}" }
82
+ }
83
+
@@ -0,0 +1,41 @@
1
+ form r144-3/test-leakproofness {
2
+ name "Leakproofness Test"
3
+ description "Air-tightness of the gas handling system per IEC 60068-2-17 pressure-gauge method (R 144-2, 1.22) — supports R 144-3, 3.7 \"Air-tightness\""
4
+ data_class FormInstance#data
5
+ header r144-3/header-a
6
+ conformance_process /conf/performance-tests/leakproofness
7
+ section "R 144-2, 1.22"
8
+ requirements { /req/technical/air-tightness }
9
+ ref requirement "urn:oiml:pub:r:144-1:2013#clause-5.1.7"
10
+ ref test-procedure "urn:oiml:pub:r:144-2:2013#clause-1.22"
11
+ applicability {
12
+ sampling_approach: [extractive]
13
+ }
14
+ field method : enum {
15
+ description "Pressure-gauge method used (per IEC 60068-2-17, as described in the operating manual)"
16
+ required true
17
+ measurement_method direct
18
+ enum_values { compression vacuum }
19
+ }
20
+ field test_pressure : number {
21
+ unit "kPa"
22
+ measurement_method direct
23
+ }
24
+ field hold_duration_min : number {
25
+ unit "min"
26
+ measurement_method direct
27
+ }
28
+ field leak_check_passed : boolean {
29
+ description "Gas handling system holds pressure per IEC 60068-2-17"
30
+ required true
31
+ measurement_method direct
32
+ targets { /req/technical/air-tightness }
33
+ true_label "Pass"
34
+ false_label "Fail"
35
+ }
36
+ field remarks : text {
37
+
38
+ }
39
+ pass_fail { criteria "The gas handling system shall be air-tight (R 144-1, 5.1.7) per the IEC 60068-2-17 pressure-gauge (compression or vacuum) method." pass_if "ocl{leak_check_passed}" }
40
+ }
41
+