dcm_dict 0.63.1 → 0.65.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +434 -179
- data/README.md +52 -31
- data/lib/dcm_dict/source_data/data_elements_data.rb +30 -1
- data/lib/dcm_dict/source_data/uid_values_data.rb +1 -0
- data/lib/dcm_dict/version.rb +2 -2
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ef3cd60de763f3b125867a401e10a795de16924f3419e2a4831a8dc13806a45
|
4
|
+
data.tar.gz: d1025b31601067bbf0952c1b3a049b1dac2a0964efe2ab55fab3c023aea6a3d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a4761dce850c1d059433aefc58967112b7f071cd5500f61bc1300ee8ee95fca5f88fda52ed2988df72747b5e1a11dea59d84413d54b43c062719302ff77a0b5
|
7
|
+
data.tar.gz: 2bd7fe3723e48fb824eac593e2fd661c44ea4f48f3cdf887aebff6d0ca438166da9f4b54276c7f64186e7582cbe4bc7bd5d3e29c7e543232a39ad688f4bbdce1
|
data/CHANGELOG.md
CHANGED
@@ -1,275 +1,530 @@
|
|
1
1
|
# DcmDict project Changelog
|
2
|
+
|
3
|
+
---
|
4
|
+
|
5
|
+
## v0.65.0 (2025-09-08)
|
6
|
+
|
7
|
+
- Update to 2025c Base Standard
|
8
|
+
- Updated gemspec requirements
|
9
|
+
|
10
|
+
#### Note for gemspec
|
11
|
+
|
12
|
+
> Development Dependency fixed to latest tested version
|
13
|
+
|
14
|
+
---
|
15
|
+
|
16
|
+
## v0.64.0 (2025-04-24)
|
17
|
+
|
18
|
+
- Update to 2025b Base Standard
|
19
|
+
- Updated dcm_dict.gemspec due to a security update for the Nokogiri gem
|
20
|
+
|
21
|
+
### Note
|
22
|
+
|
23
|
+
- Nokogiri updates packaged libxml2 to v2.13.8 to resolve CVE-2025-32414 and CVE-2025-32415
|
24
|
+
|
25
|
+
- [Advisory GHSA-5w6v-399v-w3cc (nokogiri)](https://rubysec.com/advisories/GHSA-5w6v-399v-w3cc/)
|
26
|
+
|
2
27
|
---
|
28
|
+
|
3
29
|
## v0.63.1 (2025-03-23)
|
4
|
-
|
30
|
+
|
31
|
+
- Updated dcm_dict.gemspec due to a security update for the Nokogiri gem
|
5
32
|
|
6
33
|
### Note
|
7
|
-
* Nokogiri v1.18.4 updates packaged libxslt to v1.1.43 to resolve multiple CVEs
|
8
34
|
|
9
|
-
|
10
|
-
|
35
|
+
- Nokogiri v1.18.4 updates packaged libxslt to v1.1.43 to resolve multiple CVEs
|
36
|
+
|
37
|
+
- [Advisory GHSA-mrxw-mxhj-p664 (nokogiri)](https://rubysec.com/advisories/GHSA-mrxw-mxhj-p664/)
|
38
|
+
|
39
|
+
---
|
40
|
+
|
11
41
|
## v0.63.0 (2025-03-16)
|
12
|
-
|
42
|
+
|
43
|
+
- Update to 2025a Base Standard
|
44
|
+
|
13
45
|
---
|
46
|
+
|
14
47
|
## v0.62.0 (2025-02-20)
|
15
|
-
|
48
|
+
|
49
|
+
- Fix Ruby 3.4 compatibility for 'Frozen String Literal'
|
50
|
+
|
16
51
|
---
|
52
|
+
|
17
53
|
## v0.61.2 (2025-02-20)
|
18
|
-
|
54
|
+
|
55
|
+
- Updated dcm_dict.gemspec due to a security update for the Nokogiri gem
|
19
56
|
|
20
57
|
### Note
|
21
|
-
* Nokogiri v1.18.3 upgrades its dependency libxml2 to v2.13.6
|
22
58
|
|
23
|
-
|
24
|
-
|
59
|
+
- Nokogiri v1.18.3 upgrades its dependency libxml2 to v2.13.6
|
60
|
+
|
61
|
+
- [resolve CVE-2025-24928 and CVE-2024-56171](https://rubysec.com/advisories/GHSA-vvfq-8hwr-qm4m)
|
62
|
+
|
63
|
+
---
|
64
|
+
|
25
65
|
## v0.61.1 (2025-01-01)
|
26
|
-
|
27
|
-
|
28
|
-
|
66
|
+
|
67
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
68
|
+
- Update copyright years
|
69
|
+
- Updated gemspec requirements
|
70
|
+
|
29
71
|
#### Note for gemspec
|
72
|
+
|
30
73
|
> Development Dependency fixed to latest tested version
|
31
|
-
|
74
|
+
|
75
|
+
---
|
76
|
+
|
32
77
|
## v0.61.0 (2024-12-28)
|
33
|
-
|
34
|
-
|
78
|
+
|
79
|
+
- Update to 2024e Base Standard
|
80
|
+
|
81
|
+
---
|
82
|
+
|
35
83
|
## v0.60.0 (2024-10-15)
|
36
|
-
|
37
|
-
|
84
|
+
|
85
|
+
- Update to 2024d Base Standard
|
86
|
+
|
87
|
+
---
|
88
|
+
|
38
89
|
## v0.59.0 (2024-07-09)
|
39
|
-
|
40
|
-
|
90
|
+
|
91
|
+
- Update to 2024c Base Standard
|
92
|
+
|
93
|
+
---
|
94
|
+
|
41
95
|
## v0.58.0 (2024-04-03)
|
42
|
-
|
43
|
-
|
96
|
+
|
97
|
+
- Update to 2024b Base Standard
|
98
|
+
|
99
|
+
---
|
100
|
+
|
44
101
|
## v0.57.0 (2024-02-07)
|
45
|
-
|
46
|
-
|
102
|
+
|
103
|
+
- Update to 2024a Base Standard
|
104
|
+
|
105
|
+
---
|
106
|
+
|
47
107
|
## v0.56.1 (2024-01-02)
|
48
|
-
|
49
|
-
|
50
|
-
|
108
|
+
|
109
|
+
- Bump copyright years
|
110
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
111
|
+
|
112
|
+
---
|
113
|
+
|
51
114
|
## v0.56.0 (2023-12-15)
|
52
|
-
|
53
|
-
|
115
|
+
|
116
|
+
- Update to 2023e Base Standard
|
117
|
+
|
118
|
+
---
|
119
|
+
|
54
120
|
## v0.55.0 (2023-09-20)
|
55
|
-
|
56
|
-
|
57
|
-
|
121
|
+
|
122
|
+
- Update to 2023d Base Standard
|
123
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
124
|
+
|
125
|
+
---
|
126
|
+
|
58
127
|
## v0.54.0 (2023-07-16)
|
59
|
-
|
60
|
-
|
128
|
+
|
129
|
+
- Update to 2023c Base Standard
|
130
|
+
|
131
|
+
---
|
132
|
+
|
61
133
|
## v0.53.0 (2023-05-03)
|
62
|
-
|
63
|
-
|
134
|
+
|
135
|
+
- Update to 2023b Base Standard
|
136
|
+
|
137
|
+
---
|
138
|
+
|
64
139
|
## v0.52.0 (2023-02-09)
|
65
|
-
|
66
|
-
|
140
|
+
|
141
|
+
- Update to 2023a Base Standard
|
142
|
+
|
143
|
+
---
|
144
|
+
|
67
145
|
## v0.51.0 (2023-02-09)
|
68
|
-
|
69
|
-
|
146
|
+
|
147
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
148
|
+
- Updated gemspec requirements
|
149
|
+
|
70
150
|
#### Note for gemspec
|
151
|
+
|
71
152
|
> Required Ruby Version fixed for stable releases (>= 3.0)
|
72
153
|
> Development Dependency fixed to latest tested version
|
73
|
-
|
154
|
+
|
155
|
+
---
|
156
|
+
|
74
157
|
## v0.50.0 (2023-02-09)
|
75
|
-
|
76
|
-
|
158
|
+
|
159
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
160
|
+
- Updated gemspec(dcm_dict requires Ruby version >= 2.1, < 3.2)
|
161
|
+
|
77
162
|
#### Note for gemspec
|
163
|
+
|
78
164
|
> Refinement#include is deprecated and will be removed in Ruby 3.2
|
79
|
-
|
165
|
+
|
166
|
+
---
|
167
|
+
|
80
168
|
## v0.41.0 (2023-01-14)
|
81
|
-
|
82
|
-
|
83
|
-
|
169
|
+
|
170
|
+
- Update to 2022e Base Standard
|
171
|
+
- Update copyright year
|
172
|
+
|
173
|
+
---
|
174
|
+
|
84
175
|
## v0.40.0 (2022-11-25)
|
85
|
-
|
86
|
-
|
176
|
+
|
177
|
+
- Update to 2022d Base Standard
|
178
|
+
|
179
|
+
---
|
180
|
+
|
87
181
|
## v0.39.0 (2022-07-29)
|
88
|
-
|
89
|
-
|
182
|
+
|
183
|
+
- Update to 2022c Base Standard
|
184
|
+
|
185
|
+
---
|
186
|
+
|
90
187
|
## v0.38.1 (2022-04-29)
|
91
|
-
|
92
|
-
|
93
|
-
|
188
|
+
|
189
|
+
- Fix Changelog for release 0.38.0
|
190
|
+
- Not publish on [RubyGems](https://rubygems.org/gems/dcm_dict)
|
191
|
+
|
192
|
+
---
|
193
|
+
|
94
194
|
## v0.38.0 (2022-04-29)
|
95
|
-
|
96
|
-
|
195
|
+
|
196
|
+
- Update to 2022b Base Standard
|
197
|
+
|
198
|
+
---
|
199
|
+
|
97
200
|
## v0.37.0 (2022-01-30)
|
98
|
-
|
99
|
-
|
201
|
+
|
202
|
+
- Update to 2022a Base Standard
|
203
|
+
|
204
|
+
---
|
205
|
+
|
100
206
|
## v0.36.0 (2021-11-23)
|
101
|
-
|
102
|
-
|
207
|
+
|
208
|
+
- Update to 2021e Base Standard
|
209
|
+
|
210
|
+
---
|
211
|
+
|
103
212
|
## v0.35.0 (2021-09-16)
|
104
|
-
|
105
|
-
|
213
|
+
|
214
|
+
- Update to 2021d Base Standard
|
215
|
+
|
216
|
+
---
|
217
|
+
|
106
218
|
## v0.34.0 (2021-08-09)
|
107
|
-
|
108
|
-
|
219
|
+
|
220
|
+
- Update to 2021c Base Standard
|
221
|
+
|
222
|
+
---
|
223
|
+
|
109
224
|
## v0.33.0 (2021-04-13)
|
110
|
-
|
111
|
-
|
225
|
+
|
226
|
+
- Update to 2021b Base Standard
|
227
|
+
|
228
|
+
---
|
229
|
+
|
112
230
|
## v0.32.0 (2021-02-07)
|
113
|
-
|
114
|
-
|
231
|
+
|
232
|
+
- Update to 2021a Base Standard
|
233
|
+
|
234
|
+
---
|
235
|
+
|
115
236
|
## v0.31.0 (2020-12-07)
|
116
|
-
|
117
|
-
|
237
|
+
|
238
|
+
- Update to 2020e Base Standard
|
239
|
+
|
240
|
+
---
|
241
|
+
|
118
242
|
## v0.30.0 (2020-10-03)
|
119
|
-
|
120
|
-
|
121
|
-
|
243
|
+
|
244
|
+
- Update to 2020d Base Standard
|
245
|
+
- Add keywords support for standard UIDs
|
246
|
+
|
247
|
+
---
|
248
|
+
|
122
249
|
## v0.29.0 (2020-07-21)
|
123
|
-
|
124
|
-
|
250
|
+
|
251
|
+
- Update to 2020c Base Standard
|
252
|
+
|
253
|
+
---
|
254
|
+
|
125
255
|
## v0.28.1 (2020-03-18)
|
126
|
-
|
256
|
+
|
257
|
+
- Updated dcm_dict.gemspec due to a security vulnerabilities into the Rake gem as defined into gemspec (>=10.3 to >=12.3.3)
|
258
|
+
|
127
259
|
#### Note for gemspec security report:
|
128
|
-
|
129
|
-
>
|
130
|
-
>
|
131
|
-
>
|
132
|
-
>
|
260
|
+
|
261
|
+
> rake vulnerability found in dcm_dict.gemspec:
|
262
|
+
> CVE-2020-8130 (moderate severity)
|
263
|
+
> Vulnerable versions: <= 12.3.2
|
264
|
+
> Patched version: 12.3.3
|
265
|
+
> There is an OS command injection vulnerability in Ruby Rake before 12.3.3 in Rake::FileList when supplying a filename that begins with the pipe character |.
|
133
266
|
>
|
134
|
-
>Remediation:
|
135
|
-
>Upgrade rake to version 12.3.3 or later.
|
267
|
+
> Remediation:
|
268
|
+
> Upgrade rake to version 12.3.3 or later.
|
136
269
|
>
|
137
|
-
>["OS Command Injection in Rake"](https://github.com/advisories/GHSA-jppv-gw3r-w3q8)
|
138
|
-
>["CVE-2020-8130 Detail"](https://nvd.nist.gov/vuln/detail/CVE-2020-8130)
|
139
|
-
|
270
|
+
> ["OS Command Injection in Rake"](https://github.com/advisories/GHSA-jppv-gw3r-w3q8)
|
271
|
+
> ["CVE-2020-8130 Detail"](https://nvd.nist.gov/vuln/detail/CVE-2020-8130)
|
272
|
+
|
273
|
+
---
|
274
|
+
|
140
275
|
## v0.28.0 (2020-03-18)
|
141
|
-
|
142
|
-
|
143
|
-
|
276
|
+
|
277
|
+
- Update to 2020b Base Standard
|
278
|
+
- Remove warning for deprecated method 'Kernel#open'
|
279
|
+
|
280
|
+
---
|
281
|
+
|
144
282
|
## v0.27.0 (2020-02-05)
|
145
|
-
|
146
|
-
|
283
|
+
|
284
|
+
- Update to 2020a Base Standard
|
285
|
+
|
286
|
+
---
|
287
|
+
|
147
288
|
## v0.26.2 (2020-02-05)
|
148
|
-
|
149
|
-
|
289
|
+
|
290
|
+
- Update copyright year
|
291
|
+
|
292
|
+
---
|
293
|
+
|
150
294
|
## v0.26.1 (2020-01-03)
|
151
|
-
|
152
|
-
|
153
|
-
|
295
|
+
|
296
|
+
- Fix test to be compatible with ruby 2.7
|
297
|
+
- (No Dictionary Change from 2019e)
|
298
|
+
|
299
|
+
---
|
300
|
+
|
154
301
|
## v0.26.0 (2019-11-20)
|
155
|
-
|
156
|
-
|
302
|
+
|
303
|
+
- Update to 2019e Base Standard
|
304
|
+
|
305
|
+
---
|
306
|
+
|
157
307
|
## v0.25.0 (2019-10-04)
|
158
|
-
|
159
|
-
|
308
|
+
|
309
|
+
- Update to 2019d Base Standard
|
310
|
+
|
311
|
+
---
|
312
|
+
|
160
313
|
## v0.24.0 (2019-06-19)
|
161
|
-
|
162
|
-
|
163
|
-
|
314
|
+
|
315
|
+
- Update to 2019c Base Standard
|
316
|
+
- (No Dictionary Change from 2019b)
|
317
|
+
|
318
|
+
---
|
319
|
+
|
164
320
|
## v0.23.0 (2019-05-18)
|
165
|
-
|
166
|
-
|
167
|
-
|
321
|
+
|
322
|
+
- Update to 2019b Base Standard
|
323
|
+
- Update source url for xml data
|
324
|
+
|
325
|
+
---
|
326
|
+
|
168
327
|
## v0.22.0 (2019-02-15)
|
169
|
-
|
170
|
-
|
171
|
-
|
328
|
+
|
329
|
+
- Update to 2019a Base Standard
|
330
|
+
- Update copyright year
|
331
|
+
|
332
|
+
---
|
333
|
+
|
172
334
|
## v0.21.1 (2018-12-07)
|
173
|
-
|
174
|
-
|
335
|
+
|
336
|
+
- Update gemspec (fix CHANGELOG.md file reference)
|
337
|
+
|
338
|
+
---
|
339
|
+
|
175
340
|
## v0.21.0 (2018-12-07)
|
176
|
-
|
177
|
-
|
341
|
+
|
342
|
+
- Update to 2018e Base Standard
|
343
|
+
|
344
|
+
---
|
345
|
+
|
178
346
|
## v0.20.3 (2018-12-07)
|
179
|
-
|
180
|
-
|
347
|
+
|
348
|
+
- Migrate Changelog file to markdown format (CHANGELOG.md)
|
349
|
+
|
350
|
+
---
|
351
|
+
|
181
352
|
## v0.20.2 (2018-10-12)
|
182
|
-
|
183
|
-
|
353
|
+
|
354
|
+
- Update Changelog
|
355
|
+
|
356
|
+
---
|
357
|
+
|
184
358
|
## v0.20.1 (2018-10-12)
|
185
|
-
|
359
|
+
|
360
|
+
- Updated dcm_dict.gemspec for Nokogiri gem due to a security vulnerabilities into libxml2 library (ref 1.8.5).
|
361
|
+
|
186
362
|
#### Note:
|
187
|
-
|
188
|
-
|
189
|
-
|
363
|
+
|
364
|
+
- [Rubysec advisories (cve #2018-14404 - 2018-10-04)](https://rubysec.com/advisories/nokogiri-CVE-2018-14404)
|
365
|
+
- [Ruby Weekly Issue (#420 - 2018-10-11)](https://rubyweekly.com/issues/420)
|
366
|
+
|
367
|
+
---
|
368
|
+
|
190
369
|
## v0.20.0 (2018-10-01)
|
191
|
-
|
192
|
-
|
370
|
+
|
371
|
+
- Update to 2018d Base Standard
|
372
|
+
|
373
|
+
---
|
374
|
+
|
193
375
|
## v0.19.0 (2018-07-16)
|
194
|
-
|
195
|
-
|
376
|
+
|
377
|
+
- Update to 2018c Base Standard
|
378
|
+
|
379
|
+
---
|
380
|
+
|
196
381
|
## v0.18.1 (2018-06-05)
|
197
|
-
|
382
|
+
|
383
|
+
- Updated dcm_dict.gemspec due to a security vulnerabilities into the Nokogiri gem as defined into gemspec (v1.6 to v1.8)
|
384
|
+
|
198
385
|
#### Note for gemspec security report:
|
199
|
-
|
200
|
-
>
|
201
|
-
>
|
202
|
-
>
|
386
|
+
|
387
|
+
> Security vulnerability detected in GemSpec:
|
388
|
+
> Found a potential security vulnerability in one dependencies (sparklemotion/nokogiri).*
|
389
|
+
> A dependency defined in dcm_dict.gemspec has known security vulnerabilities and should be updated.*
|
390
|
+
> Known vulnerability found 'CVE-2017-9050' (Critical severity)*
|
203
391
|
>
|
204
|
-
>["libxml2 20904-GITv2.9.4-16-g0741801 is vulnerable to a heap-based buffer over-read in the xmlDictAddString function in dict.c..."](https://www.cvedetails.com/cve/CVE-2017-9050/)
|
392
|
+
> ["libxml2 20904-GITv2.9.4-16-g0741801 is vulnerable to a heap-based buffer over-read in the xmlDictAddString function in dict.c..."](https://www.cvedetails.com/cve/CVE-2017-9050/)
|
205
393
|
>
|
206
|
-
>dcm_dict.gemspec update suggested: nokogiri ~> 1.8.1*
|
207
|
-
|
394
|
+
> dcm_dict.gemspec update suggested: nokogiri ~> 1.8.1*
|
395
|
+
|
396
|
+
---
|
397
|
+
|
208
398
|
## v0.18.0 (2018-04-13)
|
209
|
-
|
210
|
-
|
399
|
+
|
400
|
+
- Update to 2018b Base Standard
|
401
|
+
|
402
|
+
---
|
403
|
+
|
211
404
|
## v0.17.1 (2018-03-07)
|
212
|
-
|
213
|
-
|
214
|
-
|
405
|
+
|
406
|
+
- Update DICOM reference into 'README'
|
407
|
+
- Update dcm_dict.gemspec
|
408
|
+
|
409
|
+
---
|
410
|
+
|
215
411
|
## v0.17.0 (2018-02-23)
|
216
|
-
|
217
|
-
|
412
|
+
|
413
|
+
- Update to 2018a Base Standard
|
414
|
+
|
415
|
+
---
|
416
|
+
|
218
417
|
## v0.16.0 (2017-12-13)
|
219
|
-
|
220
|
-
|
418
|
+
|
419
|
+
- Update to 2017e Base Standard
|
420
|
+
|
421
|
+
---
|
422
|
+
|
221
423
|
## v0.15.0 (2017-09-27)
|
222
|
-
|
223
|
-
|
424
|
+
|
425
|
+
- Update to 2017d Base Standard
|
426
|
+
|
427
|
+
---
|
428
|
+
|
224
429
|
## v0.14.0 (2017-06-08)
|
225
|
-
|
226
|
-
|
430
|
+
|
431
|
+
- Update to 2017c Base Standard
|
432
|
+
|
433
|
+
---
|
434
|
+
|
227
435
|
## v0.13.0 (2017-05-15)
|
228
|
-
|
229
|
-
|
436
|
+
|
437
|
+
- Update to 2017b Base Standard
|
438
|
+
|
439
|
+
---
|
440
|
+
|
230
441
|
## v0.12.1 (2017-03-14)
|
231
|
-
|
232
|
-
|
442
|
+
|
443
|
+
- Update Changelog file
|
444
|
+
|
445
|
+
---
|
446
|
+
|
233
447
|
## v0.12.0 (2017-03-14)
|
234
|
-
|
235
|
-
|
448
|
+
|
449
|
+
- Update to 2017a Base Standard
|
450
|
+
|
451
|
+
---
|
452
|
+
|
236
453
|
## v0.11.0 (2016-11-26)
|
237
|
-
|
238
|
-
|
454
|
+
|
455
|
+
- Update to 2016e Base Standard
|
456
|
+
|
457
|
+
---
|
458
|
+
|
239
459
|
## v0.10.0 (2016-10-10)
|
240
|
-
|
241
|
-
|
242
|
-
|
460
|
+
|
461
|
+
- Update to 2016d Base Standard
|
462
|
+
- Fix symbol extraction for keyword tag with "RTROI", "DVHROI", "OCTZ", "WADORS", "STOWRS", "CIExy", "RGBLUT", "VOILUT", "CTDIvol", "XAXRF", "CurrentInuA", "TimeInuS", "ExposureInuAs" and "dBdt" values
|
463
|
+
|
464
|
+
---
|
465
|
+
|
243
466
|
## v0.9.0 (2016-06-15)
|
244
|
-
|
245
|
-
|
467
|
+
|
468
|
+
- Update to 2016c Base Standard
|
469
|
+
|
470
|
+
---
|
471
|
+
|
246
472
|
## v0.8.0 (2016-04-13)
|
247
|
-
|
248
|
-
|
473
|
+
|
474
|
+
- Update to 2016b Base Standard
|
475
|
+
|
476
|
+
---
|
477
|
+
|
249
478
|
## v0.7.0 (2016-02-24)
|
250
|
-
|
251
|
-
|
479
|
+
|
480
|
+
- Update to 2016a Base Standard
|
481
|
+
|
482
|
+
---
|
483
|
+
|
252
484
|
## v0.6.1 (2015-07-06)
|
253
|
-
|
254
|
-
|
485
|
+
|
486
|
+
- Update Changelog file
|
487
|
+
|
488
|
+
---
|
489
|
+
|
255
490
|
## v0.6.0 (2015-07-06)
|
256
|
-
|
257
|
-
|
491
|
+
|
492
|
+
- Update to 2015c Base Standard
|
493
|
+
|
494
|
+
---
|
495
|
+
|
258
496
|
## v0.5.0 (2015-04-24)
|
259
|
-
|
260
|
-
|
497
|
+
|
498
|
+
- Update to 2015b Base Standard
|
499
|
+
|
500
|
+
---
|
501
|
+
|
261
502
|
## v0.4.0 (2015-02-09)
|
262
|
-
|
263
|
-
|
503
|
+
|
504
|
+
- Update to 2015a Base Standard
|
505
|
+
|
506
|
+
---
|
507
|
+
|
264
508
|
## v0.3.0 (2014-12-01)
|
265
|
-
|
266
|
-
|
509
|
+
|
510
|
+
- Update to 2014c Base Standard
|
511
|
+
|
512
|
+
---
|
513
|
+
|
267
514
|
## v0.2.0 (2014-09-22)
|
268
|
-
|
269
|
-
|
515
|
+
|
516
|
+
- Update to 2014b Base Standard
|
517
|
+
|
518
|
+
---
|
519
|
+
|
270
520
|
## v0.1.1 (2014-08-16)
|
271
|
-
|
272
|
-
|
521
|
+
|
522
|
+
- Update README file to fix some issues on files generated by rubydoc.info
|
523
|
+
|
524
|
+
---
|
525
|
+
|
273
526
|
## v0.1.0 (2014-08-16)
|
274
|
-
|
275
|
-
|
527
|
+
|
528
|
+
- Initial version
|
529
|
+
|
530
|
+
---
|
data/README.md
CHANGED
@@ -1,21 +1,24 @@
|
|
1
|
+
# What's _DcmDict_
|
1
2
|
|
2
|
-
|
3
|
-
**DcmDict** is a Ruby gem [(*dcm\_dict*)][12] to handle in a simple way the *Data Dictionary* defined within the DICOM<sup>®</sup> Standard <sup id='fn-dcm-trademark'>[1]</sup> such as DICOM Data Elements or DICOM Unique Identifiers.
|
3
|
+
**DcmDict** is a Ruby gem [(_dcm\_dict_)][12] to handle in a simple way the _Data Dictionary_ defined within the DICOM<sup>®</sup> Standard <sup id='fn-dcm-trademark'>[1]</sup> such as DICOM Data Elements or DICOM Unique Identifiers.
|
4
4
|
|
5
|
-
# Why
|
6
|
-
|
5
|
+
# Why _DcmDict_
|
6
|
+
|
7
|
+
With the new releases from year 2014 DICOM documents are available in different format including one particularly interesting, the _DocBook_ XML version.
|
7
8
|
|
8
9
|
As confirmed in the DICOM<sup>®</sup> Standard [web site][10] where each part is published in [multiple formats][11] and XML format is defined by:
|
9
|
-
|
10
|
+
|
11
|
+
> "... XML – good for machine readability, e.g. self-updating validators ..."
|
10
12
|
|
11
13
|
This is great news for anyone involved in the study of the standard !
|
12
14
|
|
13
15
|
Starting from this thing was born the idea of trying to automate the extraction of data from XML documents to make available the information in a simple way that simplifies the study of the DICOM standard, in the hope this idea will be useful and inspiration.
|
14
16
|
|
15
|
-
#
|
16
|
-
The library involve *String*, *Array* and *Symbol* class as *refinements* to access to DICOM information.
|
17
|
+
# _DcmDict_ features
|
17
18
|
|
18
|
-
|
19
|
+
The library involve _String_, _Array_ and _Symbol_ class as _refinements_ to access to DICOM information.
|
20
|
+
|
21
|
+
In this way is possible to _play_ with the 'Patient's Birth Date' tag defined as (0010,0030) by:
|
19
22
|
|
20
23
|
```ruby
|
21
24
|
> "(0010,0030)".tag_name
|
@@ -60,25 +63,30 @@ as well for UIDs
|
|
60
63
|
let see all features in detail:
|
61
64
|
|
62
65
|
## Library usage
|
63
|
-
|
66
|
+
|
67
|
+
The library involve **Ruby Refinements** so use it is simple, it is necessary to include the specific _using directive_:
|
64
68
|
|
65
69
|
```ruby
|
66
70
|
using DcmDict::Refine::StringRefine
|
67
71
|
```
|
72
|
+
|
68
73
|
for the String object,
|
74
|
+
|
69
75
|
```ruby
|
70
76
|
using DcmDict::Refine::ArrayRefine
|
71
77
|
```
|
78
|
+
|
72
79
|
for the Array object and
|
73
80
|
|
74
81
|
```ruby
|
75
82
|
using DcmDict::Refine::SymbolRefine
|
76
83
|
```
|
84
|
+
|
77
85
|
for the Symbol object.
|
78
86
|
|
79
87
|
That's it.
|
80
88
|
|
81
|
-
**Note**: It is possible to use also the the
|
89
|
+
**Note**: It is possible to use also the the _monkey patching_ way, this is a _deprecated_ utilization but possible, and, may be, useful technique in certain contexts or for some particular test. For the _monkey patching_ is possible to include some specific _common modules_ in the class you want to use as "keyword": there are two base modules _DcmDict::Refine::DataElementRefine_ and _DcmDict::Refine::UidRefine_.
|
82
90
|
|
83
91
|
For example in the String class will have the code:
|
84
92
|
|
@@ -89,20 +97,23 @@ class String
|
|
89
97
|
end
|
90
98
|
```
|
91
99
|
|
92
|
-
|
100
|
+
_The main way remains **Ruby Refinements**_.
|
93
101
|
|
94
102
|
### Rubies compatibility
|
103
|
+
|
95
104
|
**MRI Ruby**: from version _**v0.51.0**_ gemspec are changed: the minimum required version is _**3.0**_ in order to manage the refinements changes that occurred in version _**3.2**_:
|
105
|
+
|
96
106
|
- The include/extend in refinements never worked (ref [Bug #17429][13])
|
97
107
|
- import_methods is limited in functionality (ref [class Refinement][14])
|
98
108
|
|
99
109
|
**Other Rubies**: the other considered rubies is only [Rubinius][4] checked at version _**v2.2.10**_.
|
100
110
|
|
101
|
-
**Test Note**: In order to try to ensure a minimum compatibility there is a file under
|
102
|
-
This sort of extension is not loaded by default but only into
|
111
|
+
**Test Note**: In order to try to ensure a minimum compatibility there is a file under _lib/dcm_dict/rubies/_ called _rb_ext.rb_ able to _mask_/_simulates_ the refinements by [refine gem][5] and add the required _bit_length_ method to _Fixnum_ class by [backports gem][6].
|
112
|
+
This sort of extension is not loaded by default but only into _spec files_ for the _'rbx' Ruby Engine_. See _spec_helper.rb_ and _rb_ext.rb_ for details.
|
103
113
|
|
104
114
|
## Data Element data in detail
|
105
|
-
|
115
|
+
|
116
|
+
Any Data Element feature can be accessed from a _String_, _Array_ or _Symbol_ objects.
|
106
117
|
|
107
118
|
For these objects is possible to access to Tag (group/element), Name, Keyword, Value Representation (VR) and Value Multiplicity (VM) for any single Data Element.
|
108
119
|
|
@@ -110,7 +121,7 @@ The main methods supported are:
|
|
110
121
|
|
111
122
|
| Method | Note | Type | |
|
112
123
|
| :---------------- | :-------------------------------: | :-----------------: | :--------------------------------: |
|
113
|
-
| **tag** | tag as Array | Array of two Fixnum | (alias of
|
124
|
+
| **tag** | tag as Array | Array of two Fixnum | (alias of _tag_ary_) |
|
114
125
|
| **tag_name** | name of tag | String | |
|
115
126
|
| **tag_keyword** | keyword | String | |
|
116
127
|
| **tag_key** | keyword | String | |
|
@@ -137,7 +148,7 @@ each data element is indexed by these fields:
|
|
137
148
|
| **tag_name** | String |
|
138
149
|
|
139
150
|
By these fields is possible to access to data element informations.
|
140
|
-
Consider the case of the tag (0010,1005) (
|
151
|
+
Consider the case of the tag (0010,1005) (_Patient's Birth Name_), the primary fields are:
|
141
152
|
**'(0010,1005)'**, **"Patient's Birth Name"**, **'PatientBirthName'**, **:patient_birth_name**, **'00101005'** and **[0x0010,0x1005]**
|
142
153
|
|
143
154
|
- As String key you may use the standard tag format **'(0010,1005)'**, the tag name **'Patient's Birth Name'**, the tag keyword **'PatientBirthName'** or the Native DICOM Format tag **'00101005'**
|
@@ -145,6 +156,7 @@ Consider the case of the tag (0010,1005) (*Patient's Birth Name*), the primary f
|
|
145
156
|
- As Symbol key you may use **:patient_birth_name**
|
146
157
|
|
147
158
|
### example:
|
159
|
+
|
148
160
|
Consider the previous case of tag (0010,1005), the code:
|
149
161
|
|
150
162
|
```ruby
|
@@ -165,7 +177,6 @@ puts :patient_birth_name.tag_element.inspect
|
|
165
177
|
|
166
178
|
will produce
|
167
179
|
|
168
|
-
|
169
180
|
```ruby
|
170
181
|
"(0010,1005)"
|
171
182
|
"Patient's Birth Name"
|
@@ -183,7 +194,8 @@ will produce
|
|
183
194
|
```
|
184
195
|
|
185
196
|
### Multiple Tag
|
186
|
-
|
197
|
+
|
198
|
+
The library also manage 'multiple tags' such as _(0020,31XX)_ (_Source Image IDs_).
|
187
199
|
As an example for this data element the default tag in array form is [0x0020,0x3122] and all fields are expressed as:
|
188
200
|
|
189
201
|
| Method/field | Value |
|
@@ -202,7 +214,7 @@ As an example for this data element the default tag in array form is [0x0020,0x3
|
|
202
214
|
| **tag_note** | 'RET' |
|
203
215
|
| **tag_multiple?** | true |
|
204
216
|
|
205
|
-
[0x0020,0x3122] is the default value for group/element pair (
|
217
|
+
[0x0020,0x3122] is the default value for group/element pair (_[32, 12578]_), but any valid pair of numbers for this tag will be refers that information:
|
206
218
|
|
207
219
|
```ruby
|
208
220
|
> '(0020,31XX)'.tag_name
|
@@ -226,15 +238,17 @@ As an example for this data element the default tag in array form is [0x0020,0x3
|
|
226
238
|
and so on.
|
227
239
|
|
228
240
|
## UID data in detail
|
229
|
-
|
241
|
+
|
242
|
+
Any UID features can be accessed from a _String_ or a _Symbol_ object.
|
230
243
|
|
231
244
|
### UID Values
|
245
|
+
|
232
246
|
For these objects is possible to access to value, name and type values for any single uid.
|
233
247
|
Main methods supported are:
|
234
248
|
|
235
249
|
| Method | Note | Type | |
|
236
250
|
| :------------ | :----------------------: | :----: | :--------------------: |
|
237
|
-
| **uid** | value of uid | String | (alias of
|
251
|
+
| **uid** | value of uid | String | (alias of _uid_value_) |
|
238
252
|
| **uid_value** | value of uid | String | |
|
239
253
|
| **uid_name** | name of uid | String | |
|
240
254
|
| **uid_key** | keyword of uid | String | |
|
@@ -251,7 +265,8 @@ each uid is indexed by:
|
|
251
265
|
| **uid_sym** | Symbol |
|
252
266
|
|
253
267
|
From these fields is possible to access to all uid informations.
|
254
|
-
Consider the case of the uid
|
268
|
+
Consider the case of the uid _1.2.840.10008.1.1_ (_Verification SOP Class_), the primary fields are the strings **'1.2.840.10008.1.1'**, **"Verification SOP Class"**, **"Verification"**.
|
269
|
+
|
255
270
|
- As key you may use the standard value **'1.2.840.10008.1.1'**, the uid name **"Verification SOP Class"**, the uid keyword **"Verification"** and the symbol **:verification**
|
256
271
|
|
257
272
|
For this uid all fields are expressed as:
|
@@ -283,29 +298,32 @@ For this uid all fields are expressed as:
|
|
283
298
|
```
|
284
299
|
|
285
300
|
## How data is extracted
|
286
|
-
|
287
|
-
The
|
301
|
+
|
302
|
+
The library also contains a script (_dcm_dict_converter.rb_ in the _bin_ folder) able to download the xml documents and extracts the source data in a _Ruby compatible format_.
|
303
|
+
The script produces the conversion in the _stdout_ so for example is possible to extract the Tag Values by:
|
288
304
|
|
289
305
|
```ruby
|
290
306
|
dcm_dict_converter.rb tag > /tmp/tag-dict.rb
|
291
307
|
```
|
292
308
|
|
293
|
-
Note: the script use the [Nokogiri][3] as XML parser if installed as gem, otherwise the standard
|
309
|
+
Note: the script use the [Nokogiri][3] as XML parser if installed as gem, otherwise the standard _REXML_.
|
294
310
|
|
295
311
|
Check the file for other details.
|
296
312
|
|
297
313
|
## Note
|
298
|
-
|
314
|
+
|
315
|
+
Current library version is aligned to _DICOM Base Standard_ **2025c**
|
299
316
|
|
300
317
|
## Install
|
301
318
|
|
302
319
|
$ gem install dcm_dict
|
303
320
|
|
304
|
-
|
321
|
+
_Note for Windows users_: may be that it is installed a previous version of Ruby 2.1, if [RubyInstaller][7] does not provide the official release for the supported version it's still possible to make it manually by clone/download the ['git' version of RubyInstaller][8] and execute the rake command `rake ruby21` or equivalent (see RubyInstaller doc for details).
|
305
322
|
|
306
323
|
## What's next
|
307
|
-
|
308
|
-
|
324
|
+
|
325
|
+
The main idea is that _dictionary_ should include only fixed data defined in the DICOM standard to encode and then make it available in easy way.
|
326
|
+
There are many possible _candidates_ for inclusion in the _dictionary_, here are some _"ideas"_:
|
309
327
|
|
310
328
|
- Directory Record type data
|
311
329
|
- Well-known Frames of Reference UID Values
|
@@ -315,16 +333,20 @@ There are many possible *candidates* for inclusion in the *dictionary*, here are
|
|
315
333
|
- ...
|
316
334
|
|
317
335
|
## Contributing
|
336
|
+
|
318
337
|
TBD
|
319
338
|
|
320
339
|
## License
|
321
|
-
|
340
|
+
|
341
|
+
Copyright (C) 2014-2025 Enrico Rivarola.
|
322
342
|
See the `LICENSE` and `COPYING` files for license details.
|
323
343
|
|
324
344
|
## Ruby Gem
|
345
|
+
|
325
346
|
Ruby gem **dcm\_dict** on [RubyGems][9] at [rubygems.org/gems/dcm_dict](https://rubygems.org/gems/dcm_dict)
|
326
347
|
|
327
348
|
## Source Code
|
349
|
+
|
328
350
|
Main source code repository on github at [henrythebuilder/dcm_dict](https://github.com/henrythebuilder/dcm_dict)
|
329
351
|
|
330
352
|
<div class="footnotes">
|
@@ -338,7 +360,6 @@ Main source code repository on github at [henrythebuilder/dcm_dict](https://gith
|
|
338
360
|
</div>
|
339
361
|
|
340
362
|
[1]: #fn1-dcm-trademark
|
341
|
-
|
342
363
|
[dcm1]: http://medical.nema.org/dicom/ "DICOM Homepage"
|
343
364
|
[2]: http://www.dclunie.com/dicom-status/status.html "DICOM Standard Status"
|
344
365
|
[3]: http://nokogiri.org/ "Nokogiri"
|
@@ -412,6 +412,12 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
412
412
|
{ tag_ps: '(0008,9459)', tag_name: "Recommended Display Frame Rate in Float", tag_key: 'RecommendedDisplayFrameRateInFloat', tag_vr: [:FL], tag_vm: ["1"], tag_str: '(0008,9459)', tag_sym: :recommended_display_frame_rate_in_float, tag_ndm: '00089459', tag_ary: [0x0008,0x9459], tag_multiple: false, tag_note: ''},
|
413
413
|
{ tag_ps: '(0008,9460)', tag_name: "Skip Frame Range Flag", tag_key: 'SkipFrameRangeFlag', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0008,9460)', tag_sym: :skip_frame_range_flag, tag_ndm: '00089460', tag_ary: [0x0008,0x9460], tag_multiple: false, tag_note: ''},
|
414
414
|
{ tag_ps: '(0010,0010)', tag_name: "Patient's Name", tag_key: 'PatientName', tag_vr: [:PN], tag_vm: ["1"], tag_str: '(0010,0010)', tag_sym: :patient_name, tag_ndm: '00100010', tag_ary: [0x0010,0x0010], tag_multiple: false, tag_note: ''},
|
415
|
+
{ tag_ps: '(0010,0011)', tag_name: "Person Names to Use Sequence", tag_key: 'PersonNamesToUseSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0011)', tag_sym: :person_names_to_use_sequence, tag_ndm: '00100011', tag_ary: [0x0010,0x0011], tag_multiple: false, tag_note: ''},
|
416
|
+
{ tag_ps: '(0010,0012)', tag_name: "Name to Use", tag_key: 'NameToUse', tag_vr: [:LT], tag_vm: ["1"], tag_str: '(0010,0012)', tag_sym: :name_to_use, tag_ndm: '00100012', tag_ary: [0x0010,0x0012], tag_multiple: false, tag_note: ''},
|
417
|
+
{ tag_ps: '(0010,0013)', tag_name: "Name to Use Comment", tag_key: 'NameToUseComment', tag_vr: [:UT], tag_vm: ["1"], tag_str: '(0010,0013)', tag_sym: :name_to_use_comment, tag_ndm: '00100013', tag_ary: [0x0010,0x0013], tag_multiple: false, tag_note: ''},
|
418
|
+
{ tag_ps: '(0010,0014)', tag_name: "Third Person Pronouns Sequence", tag_key: 'ThirdPersonPronounsSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0014)', tag_sym: :third_person_pronouns_sequence, tag_ndm: '00100014', tag_ary: [0x0010,0x0014], tag_multiple: false, tag_note: ''},
|
419
|
+
{ tag_ps: '(0010,0015)', tag_name: "Pronoun Code Sequence", tag_key: 'PronounCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0015)', tag_sym: :pronoun_code_sequence, tag_ndm: '00100015', tag_ary: [0x0010,0x0015], tag_multiple: false, tag_note: ''},
|
420
|
+
{ tag_ps: '(0010,0016)', tag_name: "Pronoun Comment", tag_key: 'PronounComment', tag_vr: [:UT], tag_vm: ["1"], tag_str: '(0010,0016)', tag_sym: :pronoun_comment, tag_ndm: '00100016', tag_ary: [0x0010,0x0016], tag_multiple: false, tag_note: ''},
|
415
421
|
{ tag_ps: '(0010,0020)', tag_name: "Patient ID", tag_key: 'PatientID', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0010,0020)', tag_sym: :patient_id, tag_ndm: '00100020', tag_ary: [0x0010,0x0020], tag_multiple: false, tag_note: ''},
|
416
422
|
{ tag_ps: '(0010,0021)', tag_name: "Issuer of Patient ID", tag_key: 'IssuerOfPatientID', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0010,0021)', tag_sym: :issuer_of_patient_id, tag_ndm: '00100021', tag_ary: [0x0010,0x0021], tag_multiple: false, tag_note: ''},
|
417
423
|
{ tag_ps: '(0010,0022)', tag_name: "Type of Patient ID", tag_key: 'TypeOfPatientID', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0010,0022)', tag_sym: :type_of_patient_id, tag_ndm: '00100022', tag_ary: [0x0010,0x0022], tag_multiple: false, tag_note: ''},
|
@@ -425,6 +431,13 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
425
431
|
{ tag_ps: '(0010,0034)', tag_name: "Patient's Death Date in Alternative Calendar", tag_key: 'PatientDeathDateInAlternativeCalendar', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0010,0034)', tag_sym: :patient_death_date_in_alternative_calendar, tag_ndm: '00100034', tag_ary: [0x0010,0x0034], tag_multiple: false, tag_note: ''},
|
426
432
|
{ tag_ps: '(0010,0035)', tag_name: "Patient's Alternative Calendar", tag_key: 'PatientAlternativeCalendar', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0010,0035)', tag_sym: :patient_alternative_calendar, tag_ndm: '00100035', tag_ary: [0x0010,0x0035], tag_multiple: false, tag_note: ''},
|
427
433
|
{ tag_ps: '(0010,0040)', tag_name: "Patient's Sex", tag_key: 'PatientSex', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0010,0040)', tag_sym: :patient_sex, tag_ndm: '00100040', tag_ary: [0x0010,0x0040], tag_multiple: false, tag_note: ''},
|
434
|
+
{ tag_ps: '(0010,0041)', tag_name: "Gender Identity Sequence", tag_key: 'GenderIdentitySequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0041)', tag_sym: :gender_identity_sequence, tag_ndm: '00100041', tag_ary: [0x0010,0x0041], tag_multiple: false, tag_note: ''},
|
435
|
+
{ tag_ps: '(0010,0042)', tag_name: "Sex Parameters for Clinical Use Category Comment", tag_key: 'SexParametersForClinicalUseCategoryComment', tag_vr: [:UT], tag_vm: ["1"], tag_str: '(0010,0042)', tag_sym: :sex_parameters_for_clinical_use_category_comment, tag_ndm: '00100042', tag_ary: [0x0010,0x0042], tag_multiple: false, tag_note: ''},
|
436
|
+
{ tag_ps: '(0010,0043)', tag_name: "Sex Parameters for Clinical Use Category Sequence", tag_key: 'SexParametersForClinicalUseCategorySequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0043)', tag_sym: :sex_parameters_for_clinical_use_category_sequence, tag_ndm: '00100043', tag_ary: [0x0010,0x0043], tag_multiple: false, tag_note: ''},
|
437
|
+
{ tag_ps: '(0010,0044)', tag_name: "Gender Identity Code Sequence", tag_key: 'GenderIdentityCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0044)', tag_sym: :gender_identity_code_sequence, tag_ndm: '00100044', tag_ary: [0x0010,0x0044], tag_multiple: false, tag_note: ''},
|
438
|
+
{ tag_ps: '(0010,0045)', tag_name: "Gender Identity Comment", tag_key: 'GenderIdentityComment', tag_vr: [:UT], tag_vm: ["1"], tag_str: '(0010,0045)', tag_sym: :gender_identity_comment, tag_ndm: '00100045', tag_ary: [0x0010,0x0045], tag_multiple: false, tag_note: ''},
|
439
|
+
{ tag_ps: '(0010,0046)', tag_name: "Sex Parameters for Clinical Use Category Code Sequence", tag_key: 'SexParametersForClinicalUseCategoryCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0046)', tag_sym: :sex_parameters_for_clinical_use_category_code_sequence, tag_ndm: '00100046', tag_ary: [0x0010,0x0046], tag_multiple: false, tag_note: ''},
|
440
|
+
{ tag_ps: '(0010,0047)', tag_name: "Sex Parameters for Clinical Use Category Reference", tag_key: 'SexParametersForClinicalUseCategoryReference', tag_vr: [:UR], tag_vm: ["1-n"], tag_str: '(0010,0047)', tag_sym: :sex_parameters_for_clinical_use_category_reference, tag_ndm: '00100047', tag_ary: [0x0010,0x0047], tag_multiple: false, tag_note: ''},
|
428
441
|
{ tag_ps: '(0010,0050)', tag_name: "Patient's Insurance Plan Code Sequence", tag_key: 'PatientInsurancePlanCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0050)', tag_sym: :patient_insurance_plan_code_sequence, tag_ndm: '00100050', tag_ary: [0x0010,0x0050], tag_multiple: false, tag_note: ''},
|
429
442
|
{ tag_ps: '(0010,0101)', tag_name: "Patient's Primary Language Code Sequence", tag_key: 'PatientPrimaryLanguageCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0101)', tag_sym: :patient_primary_language_code_sequence, tag_ndm: '00100101', tag_ary: [0x0010,0x0101], tag_multiple: false, tag_note: ''},
|
430
443
|
{ tag_ps: '(0010,0102)', tag_name: "Patient's Primary Language Modifier Code Sequence", tag_key: 'PatientPrimaryLanguageModifierCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,0102)', tag_sym: :patient_primary_language_modifier_code_sequence, tag_ndm: '00100102', tag_ary: [0x0010,0x0102], tag_multiple: false, tag_note: ''},
|
@@ -466,8 +479,9 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
466
479
|
{ tag_ps: '(0010,2152)', tag_name: "Region of Residence", tag_key: 'RegionOfResidence', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0010,2152)', tag_sym: :region_of_residence, tag_ndm: '00102152', tag_ary: [0x0010,0x2152], tag_multiple: false, tag_note: ''},
|
467
480
|
{ tag_ps: '(0010,2154)', tag_name: "Patient's Telephone Numbers", tag_key: 'PatientTelephoneNumbers', tag_vr: [:SH], tag_vm: ["1-n"], tag_str: '(0010,2154)', tag_sym: :patient_telephone_numbers, tag_ndm: '00102154', tag_ary: [0x0010,0x2154], tag_multiple: false, tag_note: ''},
|
468
481
|
{ tag_ps: '(0010,2155)', tag_name: "Patient's Telecom Information", tag_key: 'PatientTelecomInformation', tag_vr: [:LT], tag_vm: ["1"], tag_str: '(0010,2155)', tag_sym: :patient_telecom_information, tag_ndm: '00102155', tag_ary: [0x0010,0x2155], tag_multiple: false, tag_note: ''},
|
469
|
-
{ tag_ps: '(0010,2160)', tag_name: "Ethnic Group", tag_key: 'EthnicGroup', tag_vr: [:SH], tag_vm: ["1"], tag_str: '(0010,2160)', tag_sym: :ethnic_group, tag_ndm: '00102160', tag_ary: [0x0010,0x2160], tag_multiple: false, tag_note: ''},
|
482
|
+
{ tag_ps: '(0010,2160)', tag_name: "Ethnic Group", tag_key: 'EthnicGroup', tag_vr: [:SH], tag_vm: ["1"], tag_str: '(0010,2160)', tag_sym: :ethnic_group, tag_ndm: '00102160', tag_ary: [0x0010,0x2160], tag_multiple: false, tag_note: 'RET (2025a)'},
|
470
483
|
{ tag_ps: '(0010,2161)', tag_name: "Ethnic Group Code Sequence", tag_key: 'EthnicGroupCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0010,2161)', tag_sym: :ethnic_group_code_sequence, tag_ndm: '00102161', tag_ary: [0x0010,0x2161], tag_multiple: false, tag_note: ''},
|
484
|
+
{ tag_ps: '(0010,2162)', tag_name: "Ethnic Groups", tag_key: 'EthnicGroups', tag_vr: [:UC], tag_vm: ["1-n"], tag_str: '(0010,2162)', tag_sym: :ethnic_groups, tag_ndm: '00102162', tag_ary: [0x0010,0x2162], tag_multiple: false, tag_note: ''},
|
471
485
|
{ tag_ps: '(0010,2180)', tag_name: "Occupation", tag_key: 'Occupation', tag_vr: [:SH], tag_vm: ["1"], tag_str: '(0010,2180)', tag_sym: :occupation, tag_ndm: '00102180', tag_ary: [0x0010,0x2180], tag_multiple: false, tag_note: ''},
|
472
486
|
{ tag_ps: '(0010,21A0)', tag_name: "Smoking Status", tag_key: 'SmokingStatus', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0010,21A0)', tag_sym: :smoking_status, tag_ndm: '001021A0', tag_ary: [0x0010,0x21A0], tag_multiple: false, tag_note: ''},
|
473
487
|
{ tag_ps: '(0010,21B0)', tag_name: "Additional Patient History", tag_key: 'AdditionalPatientHistory', tag_vr: [:LT], tag_vm: ["1"], tag_str: '(0010,21B0)', tag_sym: :additional_patient_history, tag_ndm: '001021B0', tag_ary: [0x0010,0x21B0], tag_multiple: false, tag_note: ''},
|
@@ -688,6 +702,18 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
688
702
|
{ tag_ps: '(0014,40A0)', tag_name: "Image Quality Indicator Type", tag_key: 'ImageQualityIndicatorType', tag_vr: [:LO], tag_vm: ["1-n"], tag_str: '(0014,40A0)', tag_sym: :image_quality_indicator_type, tag_ndm: '001440A0', tag_ary: [0x0014,0x40A0], tag_multiple: false, tag_note: 'DICONDE'},
|
689
703
|
{ tag_ps: '(0014,40A1)', tag_name: "Image Quality Indicator Material", tag_key: 'ImageQualityIndicatorMaterial', tag_vr: [:LO], tag_vm: ["1-n"], tag_str: '(0014,40A1)', tag_sym: :image_quality_indicator_material, tag_ndm: '001440A1', tag_ary: [0x0014,0x40A1], tag_multiple: false, tag_note: 'DICONDE'},
|
690
704
|
{ tag_ps: '(0014,40A2)', tag_name: "Image Quality Indicator Size", tag_key: 'ImageQualityIndicatorSize', tag_vr: [:LO], tag_vm: ["1-n"], tag_str: '(0014,40A2)', tag_sym: :image_quality_indicator_size, tag_ndm: '001440A2', tag_ary: [0x0014,0x40A2], tag_multiple: false, tag_note: 'DICONDE'},
|
705
|
+
{ tag_ps: '(0014,4101)', tag_name: "Wave Dimensions Definition Sequence", tag_key: 'WaveDimensionsDefinitionSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0014,4101)', tag_sym: :wave_dimensions_definition_sequence, tag_ndm: '00144101', tag_ary: [0x0014,0x4101], tag_multiple: false, tag_note: 'DICONDE'},
|
706
|
+
{ tag_ps: '(0014,4102)', tag_name: "Wave Dimension Number", tag_key: 'WaveDimensionNumber', tag_vr: [:US], tag_vm: ["1"], tag_str: '(0014,4102)', tag_sym: :wave_dimension_number, tag_ndm: '00144102', tag_ary: [0x0014,0x4102], tag_multiple: false, tag_note: 'DICONDE'},
|
707
|
+
{ tag_ps: '(0014,4103)', tag_name: "Wave Dimension Description", tag_key: 'WaveDimensionDescription', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0014,4103)', tag_sym: :wave_dimension_description, tag_ndm: '00144103', tag_ary: [0x0014,0x4103], tag_multiple: false, tag_note: 'DICONDE'},
|
708
|
+
{ tag_ps: '(0014,4104)', tag_name: "Wave Dimension Unit", tag_key: 'WaveDimensionUnit', tag_vr: [:US], tag_vm: ["1"], tag_str: '(0014,4104)', tag_sym: :wave_dimension_unit, tag_ndm: '00144104', tag_ary: [0x0014,0x4104], tag_multiple: false, tag_note: 'DICONDE'},
|
709
|
+
{ tag_ps: '(0014,4105)', tag_name: "Wave Dimension Value Type", tag_key: 'WaveDimensionValueType', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0014,4105)', tag_sym: :wave_dimension_value_type, tag_ndm: '00144105', tag_ary: [0x0014,0x4105], tag_multiple: false, tag_note: 'DICONDE'},
|
710
|
+
{ tag_ps: '(0014,4106)', tag_name: "Wave Dimension Values Sequence", tag_key: 'WaveDimensionValuesSequence', tag_vr: [:SQ], tag_vm: ["1-n"], tag_str: '(0014,4106)', tag_sym: :wave_dimension_values_sequence, tag_ndm: '00144106', tag_ary: [0x0014,0x4106], tag_multiple: false, tag_note: 'DICONDE'},
|
711
|
+
{ tag_ps: '(0014,4107)', tag_name: "Referenced Wave Dimension", tag_key: 'ReferencedWaveDimension', tag_vr: [:US], tag_vm: ["1"], tag_str: '(0014,4107)', tag_sym: :referenced_wave_dimension, tag_ndm: '00144107', tag_ary: [0x0014,0x4107], tag_multiple: false, tag_note: 'DICONDE'},
|
712
|
+
{ tag_ps: '(0014,4108)', tag_name: "Integer Numeric Value", tag_key: 'IntegerNumericValue', tag_vr: [:SL], tag_vm: ["1"], tag_str: '(0014,4108)', tag_sym: :integer_numeric_value, tag_ndm: '00144108', tag_ary: [0x0014,0x4108], tag_multiple: false, tag_note: 'DICONDE'},
|
713
|
+
{ tag_ps: '(0014,4109)', tag_name: "Byte Numeric Value", tag_key: 'ByteNumericValue', tag_vr: [:OB], tag_vm: ["1"], tag_str: '(0014,4109)', tag_sym: :byte_numeric_value, tag_ndm: '00144109', tag_ary: [0x0014,0x4109], tag_multiple: false, tag_note: 'DICONDE'},
|
714
|
+
{ tag_ps: '(0014,410A)', tag_name: "Short Numeric Value", tag_key: 'ShortNumericValue', tag_vr: [:OW], tag_vm: ["1"], tag_str: '(0014,410A)', tag_sym: :short_numeric_value, tag_ndm: '0014410A', tag_ary: [0x0014,0x410A], tag_multiple: false, tag_note: 'DICONDE'},
|
715
|
+
{ tag_ps: '(0014,410B)', tag_name: "Single Precision Floating Point Numeric Value", tag_key: 'SinglePrecisionFloatingPointNumericValue', tag_vr: [:OF], tag_vm: ["1"], tag_str: '(0014,410B)', tag_sym: :single_precision_floating_point_numeric_value, tag_ndm: '0014410B', tag_ary: [0x0014,0x410B], tag_multiple: false, tag_note: 'DICONDE'},
|
716
|
+
{ tag_ps: '(0014,410C)', tag_name: "Double Precision Floating Point Numeric Value", tag_key: 'DoublePrecisionFloatingPointNumericValue', tag_vr: [:OD], tag_vm: ["1"], tag_str: '(0014,410C)', tag_sym: :double_precision_floating_point_numeric_value, tag_ndm: '0014410C', tag_ary: [0x0014,0x410C], tag_multiple: false, tag_note: 'DICONDE'},
|
691
717
|
{ tag_ps: '(0014,5002)', tag_name: "LINAC Energy", tag_key: 'LINACEnergy', tag_vr: [:IS], tag_vm: ["1"], tag_str: '(0014,5002)', tag_sym: :linac_energy, tag_ndm: '00145002', tag_ary: [0x0014,0x5002], tag_multiple: false, tag_note: 'DICONDE'},
|
692
718
|
{ tag_ps: '(0014,5004)', tag_name: "LINAC Output", tag_key: 'LINACOutput', tag_vr: [:IS], tag_vm: ["1"], tag_str: '(0014,5004)', tag_sym: :linac_output, tag_ndm: '00145004', tag_ary: [0x0014,0x5004], tag_multiple: false, tag_note: 'DICONDE'},
|
693
719
|
{ tag_ps: '(0014,5100)', tag_name: "Active Aperture", tag_key: 'ActiveAperture', tag_vr: [:US], tag_vm: ["1"], tag_str: '(0014,5100)', tag_sym: :active_aperture, tag_ndm: '00145100', tag_ary: [0x0014,0x5100], tag_multiple: false, tag_note: 'DICONDE'},
|
@@ -2811,6 +2837,8 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
2811
2837
|
{ tag_ps: '(0040,A030)', tag_name: "Verification DateTime", tag_key: 'VerificationDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,A030)', tag_sym: :verification_date_time, tag_ndm: '0040A030', tag_ary: [0x0040,0xA030], tag_multiple: false, tag_note: ''},
|
2812
2838
|
{ tag_ps: '(0040,A032)', tag_name: "Observation DateTime", tag_key: 'ObservationDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,A032)', tag_sym: :observation_date_time, tag_ndm: '0040A032', tag_ary: [0x0040,0xA032], tag_multiple: false, tag_note: ''},
|
2813
2839
|
{ tag_ps: '(0040,A033)', tag_name: "Observation Start DateTime", tag_key: 'ObservationStartDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,A033)', tag_sym: :observation_start_date_time, tag_ndm: '0040A033', tag_ary: [0x0040,0xA033], tag_multiple: false, tag_note: ''},
|
2840
|
+
{ tag_ps: '(0040,A034)', tag_name: "Effective Start DateTime", tag_key: 'EffectiveStartDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,A034)', tag_sym: :effective_start_date_time, tag_ndm: '0040A034', tag_ary: [0x0040,0xA034], tag_multiple: false, tag_note: ''},
|
2841
|
+
{ tag_ps: '(0040,A035)', tag_name: "Effective Stop DateTime", tag_key: 'EffectiveStopDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,A035)', tag_sym: :effective_stop_date_time, tag_ndm: '0040A035', tag_ary: [0x0040,0xA035], tag_multiple: false, tag_note: ''},
|
2814
2842
|
{ tag_ps: '(0040,A040)', tag_name: "Value Type", tag_key: 'ValueType', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0040,A040)', tag_sym: :value_type, tag_ndm: '0040A040', tag_ary: [0x0040,0xA040], tag_multiple: false, tag_note: ''},
|
2815
2843
|
{ tag_ps: '(0040,A043)', tag_name: "Concept Name Code Sequence", tag_key: 'ConceptNameCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,A043)', tag_sym: :concept_name_code_sequence, tag_ndm: '0040A043', tag_ary: [0x0040,0xA043], tag_multiple: false, tag_note: ''},
|
2816
2844
|
{ tag_ps: '(0040,A047)', tag_name: "Measurement Precision Description (Trial)", tag_key: 'MeasurementPrecisionDescriptionTrial', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0040,A047)', tag_sym: :measurement_precision_description_trial, tag_ndm: '0040A047', tag_ary: [0x0040,0xA047], tag_multiple: false, tag_note: 'RET (2009)'},
|
@@ -2987,6 +3015,7 @@ Only characters from the Default Character Repertoire may be used.'},
|
|
2987
3015
|
{ tag_ps: '(0044,0108)', tag_name: "Referenced Assertion UID", tag_key: 'ReferencedAssertionUID', tag_vr: [:UI], tag_vm: ["1"], tag_str: '(0044,0108)', tag_sym: :referenced_assertion_uid, tag_ndm: '00440108', tag_ary: [0x0044,0x0108], tag_multiple: false, tag_note: ''},
|
2988
3016
|
{ tag_ps: '(0044,0109)', tag_name: "Approval Subject Sequence", tag_key: 'ApprovalSubjectSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0044,0109)', tag_sym: :approval_subject_sequence, tag_ndm: '00440109', tag_ary: [0x0044,0x0109], tag_multiple: false, tag_note: ''},
|
2989
3017
|
{ tag_ps: '(0044,010A)', tag_name: "Organizational Role Code Sequence", tag_key: 'OrganizationalRoleCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0044,010A)', tag_sym: :organizational_role_code_sequence, tag_ndm: '0044010A', tag_ary: [0x0044,0x010A], tag_multiple: false, tag_note: ''},
|
3018
|
+
{ tag_ps: '(0044,0110)', tag_name: "RT Assertions Sequence", tag_key: 'RTAssertionsSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0044,0110)', tag_sym: :rt_assertions_sequence, tag_ndm: '00440110', tag_ary: [0x0044,0x0110], tag_multiple: false, tag_note: ''},
|
2990
3019
|
{ tag_ps: '(0046,0012)', tag_name: "Lens Description", tag_key: 'LensDescription', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0046,0012)', tag_sym: :lens_description, tag_ndm: '00460012', tag_ary: [0x0046,0x0012], tag_multiple: false, tag_note: ''},
|
2991
3020
|
{ tag_ps: '(0046,0014)', tag_name: "Right Lens Sequence", tag_key: 'RightLensSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0046,0014)', tag_sym: :right_lens_sequence, tag_ndm: '00460014', tag_ary: [0x0046,0x0014], tag_multiple: false, tag_note: ''},
|
2992
3021
|
{ tag_ps: '(0046,0015)', tag_name: "Left Lens Sequence", tag_key: 'LeftLensSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0046,0015)', tag_sym: :left_lens_sequence, tag_ndm: '00460015', tag_ary: [0x0046,0x0015], tag_multiple: false, tag_note: ''},
|
@@ -376,6 +376,7 @@ module DcmDict
|
|
376
376
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.601.2', uid_name: 'Eddy Current Multi-frame Image Storage', uid_key: 'EddyCurrentMultiFrameImageStorage', uid_sym: :eddy_current_multi_frame_image_storage, uid_type: :sop_class},
|
377
377
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.601.3', uid_name: 'Thermography Image Storage', uid_key: 'ThermographyImageStorage', uid_sym: :thermography_image_storage, uid_type: :sop_class},
|
378
378
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.601.4', uid_name: 'Thermography Multi-frame Image Storage', uid_key: 'ThermographyMultiFrameImageStorage', uid_sym: :thermography_multi_frame_image_storage, uid_type: :sop_class},
|
379
|
+
{ uid_value: '1.2.840.10008.5.1.4.1.1.601.5', uid_name: 'Ultrasound Waveform Storage', uid_key: 'UltrasoundWaveformStorage', uid_sym: :ultrasound_waveform_storage, uid_type: :sop_class},
|
379
380
|
{ uid_value: '1.2.840.10008.5.1.4.1.2.1.1', uid_name: 'Patient Root Query/Retrieve Information Model - FIND', uid_key: 'PatientRootQueryRetrieveInformationModelFind', uid_sym: :patient_root_query_retrieve_information_model_find, uid_type: :sop_class},
|
380
381
|
{ uid_value: '1.2.840.10008.5.1.4.1.2.1.2', uid_name: 'Patient Root Query/Retrieve Information Model - MOVE', uid_key: 'PatientRootQueryRetrieveInformationModelMove', uid_sym: :patient_root_query_retrieve_information_model_move, uid_type: :sop_class},
|
381
382
|
{ uid_value: '1.2.840.10008.5.1.4.1.2.1.3', uid_name: 'Patient Root Query/Retrieve Information Model - GET', uid_key: 'PatientRootQueryRetrieveInformationModelGet', uid_sym: :patient_root_query_retrieve_information_model_get, uid_type: :sop_class},
|
data/lib/dcm_dict/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dcm_dict
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.65.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enrico Rivarola
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-09-08 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: nokogiri
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
version: '1.18'
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.18.
|
21
|
+
version: 1.18.9
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
version: '1.18'
|
29
29
|
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version: 1.18.
|
31
|
+
version: 1.18.9
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: rspec
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
version: '3.13'
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 3.13.
|
41
|
+
version: 3.13.1
|
42
42
|
type: :development
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -48,7 +48,7 @@ dependencies:
|
|
48
48
|
version: '3.13'
|
49
49
|
- - ">="
|
50
50
|
- !ruby/object:Gem::Version
|
51
|
-
version: 3.13.
|
51
|
+
version: 3.13.1
|
52
52
|
- !ruby/object:Gem::Dependency
|
53
53
|
name: simplecov
|
54
54
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,20 +75,20 @@ dependencies:
|
|
75
75
|
requirements:
|
76
76
|
- - "~>"
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: '13.
|
78
|
+
version: '13.3'
|
79
79
|
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 13.
|
81
|
+
version: 13.3.0
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '13.
|
88
|
+
version: '13.3'
|
89
89
|
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 13.
|
91
|
+
version: 13.3.0
|
92
92
|
description: DcmDict is a Ruby gem (dcm_dict) to handle in a simple way the Data Dictionary
|
93
93
|
defined within the DICOM Standard
|
94
94
|
email: henrythebuilder@yahoo.it
|
@@ -164,7 +164,7 @@ licenses:
|
|
164
164
|
metadata:
|
165
165
|
bug_tracker_uri: https://github.com/henrythebuilder/dcm_dict/issues
|
166
166
|
changelog_uri: https://github.com/henrythebuilder/dcm_dict/blob/master/CHANGELOG.md
|
167
|
-
documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.
|
167
|
+
documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.65.0
|
168
168
|
homepage_uri: http://rubygems.org/gems/dcm_dict
|
169
169
|
source_code_uri: https://github.com/henrythebuilder/dcm_dict
|
170
170
|
rdoc_options: []
|
@@ -181,10 +181,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
184
|
+
rubygems_version: 3.7.1
|
185
185
|
specification_version: 4
|
186
186
|
summary: A simple way to handle DICOM Data Dictionary
|
187
187
|
test_files:
|
188
|
+
- Rakefile
|
188
189
|
- spec/data_element_sample_spec_helper.rb
|
189
190
|
- spec/data_element_shared_example_spec_helper.rb
|
190
191
|
- spec/dcm_dict/dictionary/data_element_dictionary_spec.rb
|
@@ -210,4 +211,3 @@ test_files:
|
|
210
211
|
- spec/refine_shared_example_spec_helper.rb
|
211
212
|
- spec/spec_helper.rb
|
212
213
|
- spec/xml_sample_spec_helper.rb
|
213
|
-
- Rakefile
|