gov_codes 0.1.1 → 0.1.2

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +13 -1
  3. data/.tool-versions +1 -1
  4. data/CHANGELOG.md +31 -26
  5. data/README.md +180 -25
  6. data/Rakefile +7 -2
  7. data/checksums/gov_codes-0.1.1.gem.sha512 +1 -0
  8. data/lib/gov_codes/afsc/enlisted.rb +111 -80
  9. data/lib/gov_codes/afsc/officer.rb +121 -65
  10. data/lib/gov_codes/afsc/releases/dafecd/2025-10-31/enlisted.yml +2726 -0
  11. data/lib/gov_codes/afsc/releases/dafecd/2025-10-31/ri.yml +369 -0
  12. data/lib/gov_codes/afsc/releases/dafocd/2025-10-31/officer.yml +2393 -0
  13. data/lib/gov_codes/afsc/releases/dafocd/2025-10-31/ri.yml +193 -0
  14. data/lib/gov_codes/afsc/releases.rb +219 -0
  15. data/lib/gov_codes/afsc/releases.yml +11 -0
  16. data/lib/gov_codes/afsc/ri.rb +161 -126
  17. data/lib/gov_codes/afsc.rb +29 -8
  18. data/lib/gov_codes/dafecd/index_builder.rb +416 -0
  19. data/lib/gov_codes/dafecd/patterns.rb +50 -0
  20. data/lib/gov_codes/dafecd/publication.rb +252 -0
  21. data/lib/gov_codes/dafecd/record_splitter.rb +77 -0
  22. data/lib/gov_codes/dafecd/ri_sdi/change_date.rb +63 -0
  23. data/lib/gov_codes/dafecd/ri_sdi/config.rb +137 -0
  24. data/lib/gov_codes/dafecd/ri_sdi/index_builder.rb +265 -0
  25. data/lib/gov_codes/dafecd/ri_sdi/ri_list_parser.rb +125 -0
  26. data/lib/gov_codes/dafecd/ri_sdi/sdi_card_parser.rb +151 -0
  27. data/lib/gov_codes/dafecd/ri_sdi/sdi_section_splitter.rb +77 -0
  28. data/lib/gov_codes/dafecd/ri_sdi/section_slicer.rb +45 -0
  29. data/lib/gov_codes/dafecd/ri_sdi/title.rb +76 -0
  30. data/lib/gov_codes/dafecd/ri_sdi/title_overrides/dafecd.yml +124 -0
  31. data/lib/gov_codes/dafecd/ri_sdi/title_overrides/dafocd.yml +78 -0
  32. data/lib/gov_codes/dafecd/shredout_acronyms.rb +47 -0
  33. data/lib/gov_codes/dafecd/shredout_degluer.rb +73 -0
  34. data/lib/gov_codes/dafecd/shredout_overrides/dafecd.yml +27 -0
  35. data/lib/gov_codes/dafecd/shredout_overrides/dafocd.yml +27 -0
  36. data/lib/gov_codes/dafecd/shredout_parser.rb +75 -0
  37. data/lib/gov_codes/dafecd/specialty_parser.rb +200 -0
  38. data/lib/gov_codes/dafecd/text.rb +48 -0
  39. data/lib/gov_codes/dafecd/title_degluer.rb +67 -0
  40. data/lib/gov_codes/dafecd/title_overrides/dafocd.yml +141 -0
  41. data/lib/gov_codes/dafecd/title_overrides.yml +142 -0
  42. data/lib/gov_codes/data_loader.rb +19 -0
  43. data/lib/gov_codes/version.rb +1 -1
  44. metadata +34 -6
  45. data/lib/gov_codes/afsc/enlisted.yml +0 -532
  46. data/lib/gov_codes/afsc/officer.yml +0 -1072
  47. data/lib/gov_codes/afsc/ri.yml +0 -237
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gov_codes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Gay
@@ -23,14 +23,42 @@ files:
23
23
  - README.md
24
24
  - Rakefile
25
25
  - checksums/gov_codes-0.1.0.gem.sha512
26
+ - checksums/gov_codes-0.1.1.gem.sha512
26
27
  - lib/gov_codes.rb
27
28
  - lib/gov_codes/afsc.rb
28
29
  - lib/gov_codes/afsc/enlisted.rb
29
- - lib/gov_codes/afsc/enlisted.yml
30
30
  - lib/gov_codes/afsc/officer.rb
31
- - lib/gov_codes/afsc/officer.yml
31
+ - lib/gov_codes/afsc/releases.rb
32
+ - lib/gov_codes/afsc/releases.yml
33
+ - lib/gov_codes/afsc/releases/dafecd/2025-10-31/enlisted.yml
34
+ - lib/gov_codes/afsc/releases/dafecd/2025-10-31/ri.yml
35
+ - lib/gov_codes/afsc/releases/dafocd/2025-10-31/officer.yml
36
+ - lib/gov_codes/afsc/releases/dafocd/2025-10-31/ri.yml
32
37
  - lib/gov_codes/afsc/ri.rb
33
- - lib/gov_codes/afsc/ri.yml
38
+ - lib/gov_codes/dafecd/index_builder.rb
39
+ - lib/gov_codes/dafecd/patterns.rb
40
+ - lib/gov_codes/dafecd/publication.rb
41
+ - lib/gov_codes/dafecd/record_splitter.rb
42
+ - lib/gov_codes/dafecd/ri_sdi/change_date.rb
43
+ - lib/gov_codes/dafecd/ri_sdi/config.rb
44
+ - lib/gov_codes/dafecd/ri_sdi/index_builder.rb
45
+ - lib/gov_codes/dafecd/ri_sdi/ri_list_parser.rb
46
+ - lib/gov_codes/dafecd/ri_sdi/sdi_card_parser.rb
47
+ - lib/gov_codes/dafecd/ri_sdi/sdi_section_splitter.rb
48
+ - lib/gov_codes/dafecd/ri_sdi/section_slicer.rb
49
+ - lib/gov_codes/dafecd/ri_sdi/title.rb
50
+ - lib/gov_codes/dafecd/ri_sdi/title_overrides/dafecd.yml
51
+ - lib/gov_codes/dafecd/ri_sdi/title_overrides/dafocd.yml
52
+ - lib/gov_codes/dafecd/shredout_acronyms.rb
53
+ - lib/gov_codes/dafecd/shredout_degluer.rb
54
+ - lib/gov_codes/dafecd/shredout_overrides/dafecd.yml
55
+ - lib/gov_codes/dafecd/shredout_overrides/dafocd.yml
56
+ - lib/gov_codes/dafecd/shredout_parser.rb
57
+ - lib/gov_codes/dafecd/specialty_parser.rb
58
+ - lib/gov_codes/dafecd/text.rb
59
+ - lib/gov_codes/dafecd/title_degluer.rb
60
+ - lib/gov_codes/dafecd/title_overrides.yml
61
+ - lib/gov_codes/dafecd/title_overrides/dafocd.yml
34
62
  - lib/gov_codes/data_loader.rb
35
63
  - lib/gov_codes/version.rb
36
64
  - sig/gov_codes.rbs
@@ -47,14 +75,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
47
75
  requirements:
48
76
  - - ">="
49
77
  - !ruby/object:Gem::Version
50
- version: 3.1.0
78
+ version: 3.2.0
51
79
  required_rubygems_version: !ruby/object:Gem::Requirement
52
80
  requirements:
53
81
  - - ">="
54
82
  - !ruby/object:Gem::Version
55
83
  version: '0'
56
84
  requirements: []
57
- rubygems_version: 3.7.2
85
+ rubygems_version: 4.0.10
58
86
  specification_version: 4
59
87
  summary: Handle codes used by the US government.
60
88
  test_files: []
@@ -1,532 +0,0 @@
1
- # Enlisted AFSCs extracted from Wikipedia
2
- # Source: https://en.wikipedia.org/wiki/Air_Force_Specialty_Code
3
- # Wikipedia Revision: 1318430021
4
- # Extracted: 2025-11-15
5
- #
6
- # IMPORTANT: This file contains ONLY codes explicitly listed on Wikipedia.
7
- # No predictions, no assumptions, no hallucinations.
8
- # See .agent-os/product/decisions.md (DEC-003) for anti-hallucination policy.
9
- #
10
- # Extraction script: bin/extract_afsc_from_wikipedia.rb
11
- # Verification: bundle exec ruby test/verification/wikipedia_match_test.rb
12
-
13
- :1A:
14
- :name: Aircrew operations
15
- :subcategories:
16
- :1X2:
17
- :name: Mobility force aviator
18
- :subcategories:
19
- :A: C-5 flight engineer
20
- :B: C-5 loadmaster
21
- :C: C-17 loadmaster
22
- :D: C-130J loadmaster
23
- :E: WC-130J loadmaster
24
- :F: E-3 flight engineer
25
- :G: KC-46 boom operator
26
- :H: KC-135 boom operator
27
- :I: KC-10 boom operator
28
- :J: KC-10 flight engineer
29
- :K: E-8 flight engineer
30
- :L: C-130H flight engineer
31
- :N: C-130H loadmaster
32
- :O: EC-130H flight engineer
33
- :Z: Data mask mobility force aviator
34
- :1X3:
35
- :name: Special mission aviator
36
- :subcategories:
37
- :A: AC-130J gunner
38
- :B: CV-22 flight engineer
39
- :C: UH-1N flight engineer
40
- :D: HC-130J loadmaster
41
- :E: MC-130J loadmaster
42
- :F: HH-60 flight engineer
43
- :G: MH-139 flight engineer
44
- :H: C-146 loadmaster
45
- :Z: SMA data masked
46
- :1X4: Multi-Domain Operations Aviator
47
- :1X8:
48
- :name: Executive mission aviator
49
- :subcategories:
50
- :A: C-32/C-40 flight attendant
51
- :B: C-32/C-40 communications systems operator
52
- :C: C-37 flight attendant
53
- :D: C-37 flight engineer
54
- :E: CEM executive mission aviator
55
- :F: C-37 communications systems operator
56
- :G: E-4 flight engineer
57
- :H: E-4 flight attendant
58
- :I: E-4 communications systems operator/technician/controller
59
- :J: Presidential Airlift Group, flight engineer
60
- :K: Presidential Airlift Group, flight attendant
61
- :L: Presidential Airlift Group, communication system operator
62
- :Z: EMA data mask
63
- :3X1:
64
- :name: Airborne mission systems specialist
65
- :subcategories:
66
- :A: C-32/C-40
67
- :D: C-37
68
- :G: HC-130P/N
69
- :H: EC-130J
70
- :I: E-3
71
- :J: E-4
72
- :K: E-8
73
- :L: EC-130H
74
- :N: RC-135
75
- :O: RQ-4
76
- :T: MC-130P
77
- :890: SEL airborne intelligence, surveillance and reconnaissance (ISR)
78
- :8X1:
79
- :name: Airborne cryptologic language analyst
80
- :subcategories:
81
- :F: Arabic
82
- :G: Chinese
83
- :H: Korean
84
- :I: Russian
85
- :J: Spanish
86
- :K: Persian
87
- :M: Pashto
88
- :Z: Divested languages
89
- :8X2: Airborne intelligence, surveillance, and reconnaissance operator
90
- :1B:
91
- :name: Cyber warfare
92
- :subcategories:
93
- :4X1: Cyber warfare operations
94
- :1C:
95
- :name: Command and control systems operations
96
- :subcategories:
97
- :0X2: Aviation resource management
98
- :1X1: Air traffic control
99
- :3X1: All-domain command and control operations (C2 OPS)
100
- :5X1:
101
- :name: Battle management ops
102
- :subcategories:
103
- :D: Weapons director
104
- :6X1: Space systems operations
105
- :7X1: Airfield management
106
- :8X3: Radar, airfield & weather systems (RAWS)
107
- :1D:
108
- :name: Warfighter Communication
109
- :subcategories:
110
- :7X1:
111
- :name: Information Technology Systems
112
- :subcategories:
113
- :A: Network Operations
114
- :B: Systems Administration
115
- :D: Security operations (to be phased out)
116
- :E: Client systems operations (to be phased out)
117
- :K: Knowledge operations (to be phased out)
118
- :M: Mission Defense Activities
119
- :P: Data Operations
120
- :Q: Enterprise Operations
121
- :W: Expeditionary communications (XCOMM)
122
- :Z: Software development operations (to be phased out)
123
- :7X2:
124
- :name: Radio Frequency Transmissions and Electromagnetic Activities
125
- :subcategories:
126
- :F: Spectrum Operations
127
- :R: RF Transmissions
128
- :7X3: Cable and Antenna
129
- :7X4: Data Engineering
130
- :7X5: Cybersecurity
131
- :1N:
132
- :name: Intelligence
133
- :subcategories:
134
- :0X1: All source intelligence analyst
135
- :092: Intelligence superintendent
136
- :1X1:
137
- :name: Geospatial intelligence
138
- :subcategories:
139
- :A: Imagery analyst
140
- :292: Cryptologic intelligence superintendent
141
- :2X1:
142
- :name: Signals intelligence
143
- :subcategories:
144
- :A: Electronic non-communications analyst
145
- :C: Communications analyst
146
- :3X1:
147
- :name: Cryptologic language analyst
148
- :subcategories:
149
- :F: Arabic
150
- :G: Chinese
151
- :H: Korean
152
- :I: Russian
153
- :J: Spanish
154
- :K: Persian
155
- :M: Pashto
156
- :N: Urdu
157
- :Z: Divested languages
158
- :4X1:
159
- :name: Cyber intelligence
160
- :subcategories:
161
- :A: Analyst
162
- :4X2: Cryptologic analyst & reporter
163
- :7X1: Human intelligence specialist
164
- :8X1: Targeting analyst
165
- :1P:
166
- :name: Aircrew flight equipment
167
- :subcategories:
168
- :0X1:
169
- :name: Aircrew flight equipment
170
- :subcategories:
171
- :A: Ejection seat aircraft
172
- :B: Non-ejection seat aircraft
173
- :1S:
174
- :name: Safety
175
- :subcategories:
176
- :0X1: Safety
177
- :1T:
178
- :name: Special warfare enabler
179
- :subcategories:
180
- :0X1: Survival, evasion, resistance, escape (SERE) specialist
181
- :1U:
182
- :name: Aircrew operations (RPA)
183
- :subcategories:
184
- :1X1:
185
- :name: Remotely piloted aircraft (RPA) pilot
186
- :subcategories:
187
- :O: RQ-4
188
- :R: MQ-9
189
- :1W:
190
- :name: Weather
191
- :subcategories:
192
- :0X1:
193
- :name: Weather
194
- :subcategories:
195
- :A: Weather Forecaster
196
- :1Z:
197
- :name: Special warfare
198
- :subcategories:
199
- :1X1: Pararescue
200
- :2X1: Combat control
201
- :3X1: Tactical air control party (TACP)
202
- :4X1: Special reconnaissance
203
- :1H:
204
- :name: Aerospace physiology
205
- :subcategories:
206
- :0X1: Aerospace physiology
207
- :2A:
208
- :name: Aerospace maintenance
209
- :subcategories:
210
- :090: Avionics
211
- :0X1:
212
- :name: Avionics test station, components, and electronic warfare systems
213
- :subcategories:
214
- :K: A-10/B-2/C-17/CV-22/F-16/AFSOC avionics systems
215
- :M: B-1/E-8/F-15 avionics systems
216
- :P: Avionics sensor systems and electronic warfare systems
217
- :2X1: MHU-139 electrical, environmental and avionics technician
218
- :390: Fighter/remotely piloted aircraft maintenance
219
- :3X3:
220
- :name: Tactical aircraft maintenance
221
- :subcategories:
222
- :E: A-10/U-2
223
- :L: F-15
224
- :M: F-16
225
- :3X4:
226
- :name: Fighter aircraft integrated avionics
227
- :subcategories:
228
- :A: A-10/U-2
229
- :B: F-15
230
- :C: F-16
231
- :3X5:
232
- :name: Advanced fighter aircraft integrated avionics
233
- :subcategories:
234
- :A: F-22
235
- :B: F-35
236
- :C: MQ-1/MQ-9/RQ-4
237
- :3X7:
238
- :name: Tactical aircraft maintenance (5th generation)
239
- :subcategories:
240
- :A: F-22
241
- :B: F-35
242
- :3X8:
243
- :name: Remotely piloted aircraft maintenance
244
- :subcategories:
245
- :A: MQ-1/MQ-9
246
- :B: RQ-4
247
- :5X1:
248
- :name: Airlift/special mission aircraft maintenance
249
- :subcategories:
250
- :A: C-20/C-21/C-22/C-37/C-40/E-4/VC-25
251
- :B: C-130/C-27J
252
- :C: C-5
253
- :D: C-17
254
- :5X2:
255
- :name: Helicopter/tiltrotor aircraft maintenance
256
- :subcategories:
257
- :B: HH-60
258
- :D: CV-22
259
- :E: MHU-139
260
- :5X4:
261
- :name: Refuel/bomber aircraft maintenance
262
- :subcategories:
263
- :A: Any C-135/E-3/E-8
264
- :B: KC-10
265
- :C: KC-46
266
- :D: B-52
267
- :E: B-1
268
- :F: B-2
269
- :H: B-21
270
- :690: Aircraft accessories
271
- :6X1:
272
- :name: Aerospace propulsion
273
- :subcategories:
274
- :C: TF33, CF6, F103, F108, F117, TFE-731, TF39, PW 2040, F138 jet engines
275
- (airlift, special mission, and B-52 aircraft)
276
- :D: F100, F119, F135 jet engines (F-15, F16, F-22 aircraft)
277
- :E: F101, F110, F118, TF34 jet engines (A-10, B-1, B-2, F-16, U-2 aircraft)
278
- :F: F100, F101, F110, F118, F119, F135, TF34 jet engines (A-10, B-1, B-2,
279
- F-15, F-16, F-22, F-35, U-2 aircraft)
280
- :H: Turboprop and turboshaft propulsion (helicopter, propeller, tiltrotor
281
- aircraft)
282
- :6X2: Aerospace ground equipment (AGE)
283
- :6X3: Aircrew egress systems
284
- :6X4: Aircraft fuel systems
285
- :6X5: Aircraft hydraulic systems
286
- :6X6: Aircraft electrical and environmental systems
287
- :790: Aircraft fabrication
288
- :7X1: Aircraft metals technology
289
- :7X2: Nondestructive inspection
290
- :7X3: Aircraft structural maintenance
291
- :7X5: Low observable aircraft structural maintenance
292
- :9X4:
293
- :name: Heavy aircraft integrated avionics
294
- :subcategories:
295
- :A: C4ISR mission systems (E-3, E-4, E-7, E-8, EC-130H, RC-135, VC-25)
296
- :2F:
297
- :name: Fuels
298
- :subcategories:
299
- :0X1: Fuels
300
- :2G:
301
- :name: Logistics plans
302
- :subcategories:
303
- :0X1: Logistics plans
304
- :2M:
305
- :name: Missile and space systems maintenance
306
- :subcategories:
307
- :090: Missile and space systems maintenance superintendent
308
- :0X1:
309
- :name: Missile and space systems electronic maintenance
310
- :subcategories:
311
- :A: ICBM
312
- :B: ALCM
313
- :0X2: Missile and space systems maintenance
314
- :0X3: Missile and space facilities
315
- :2P:
316
- :name: Precision measurement equipment laboratory
317
- :subcategories:
318
- :0X1: Precision measurement equipment laboratory
319
- :2R:
320
- :name: Maintenance management
321
- :subcategories:
322
- :2X1: Maintenance management
323
- :2S:
324
- :name: Material management
325
- :subcategories:
326
- :0X1: Material management
327
- :2T:
328
- :name: Transportation & vehicle management
329
- :subcategories:
330
- :0X1: Traffic management
331
- :1X1: Ground transportation
332
- :2X1: Air transportation
333
- :390: Vehicle management
334
- :3X1:
335
- :name: Mission generation vehicular equipment maintenance
336
- :subcategories:
337
- :A: Firefighting and refueling vehicle & equipment maintenance
338
- :C: Material handling equipment (MHE)/463L maintenance
339
- :3X7: Fleet management and analysis
340
- :2W:
341
- :name: Munitions & weapons
342
- :subcategories:
343
- :0X1: Munitions systems
344
- :1X1:
345
- :name: Aircraft armament systems
346
- :subcategories:
347
- :C: A-10
348
- :E: F-15
349
- :F: F-16
350
- :J: F-35
351
- :K: B-52/B-2
352
- :L: B-1
353
- :N: F-22
354
- :Q: MQ-1/MQ-9
355
- :Z: All other
356
- :2X1: Nuclear weapons
357
- :3E:
358
- :name: Civil engineering
359
- :subcategories:
360
- :090: Facility systems
361
- :0X1: Electrical systems
362
- :0X2: Electrical power production
363
- :1X1: Heating, ventilation, AC, and refrigeration
364
- :290: Heavy repair
365
- :2X1: Pavements and construction equipment
366
- :3X1: Structural
367
- :490: Infrastructure systems
368
- :4X1:
369
- :name: Water and fuel systems maintenance
370
- :subcategories:
371
- :A: Fuel systems maintenance
372
- :4X3: Pest management
373
- :5X1: Engineering
374
- :6X1: Operations management
375
- :7X1: Fire protection
376
- :8X1: Explosive ordnance disposal
377
- :9X1: Emergency management
378
- :3F:
379
- :name: Force support
380
- :subcategories:
381
- :0X1: Personnel
382
- :1X1: Services
383
- :2X1: Education and training
384
- :3X1: Manpower
385
- :4X1: Equal opportunity
386
- :5X1: Administration
387
- :3G:
388
- :name: Talent acquisition
389
- :subcategories:
390
- :0X1: Talent acquisition
391
- :3H:
392
- :name: Historian
393
- :subcategories:
394
- :0X1: Historian
395
- :3N:
396
- :name: Public affairs
397
- :subcategories:
398
- :090: Public affairs superintendent
399
- :0X6: Public affairs
400
- :1X1:
401
- :name: Regional band
402
- :subcategories:
403
- :A: Clarinet
404
- :B: Saxophone
405
- :C: Bassoon
406
- :D: Oboe
407
- :E: Flute
408
- :F: Horn
409
- :G: Trumpet
410
- :H: Euphonium
411
- :J: Trombone
412
- :K: Tuba
413
- :L: Percussion
414
- :M: Piano
415
- :N: Guitar
416
- :P: Arranger
417
- :Q: Jazz trumpet
418
- :R: Vocalist
419
- :S: String/electric bass
420
- :U: Drum set
421
- :V: Audio engineer
422
- :Z: Instrumentalist, general (Air National Guard bands)
423
- :2X1: Premier band – The United States Air Force Band
424
- :3X1: Premier band – The United States Air Force Academy Band
425
- :3P:
426
- :name: Security forces
427
- :subcategories:
428
- :0X1:
429
- :name: Security forces
430
- :subcategories:
431
- :A: Military working dog handler
432
- :B: Combat arms
433
- :4A:
434
- :name: Health services
435
- :subcategories:
436
- :0X1:
437
- :name: Health services management
438
- :subcategories:
439
- :S: Health information technology
440
- :1X1: Medical material
441
- :2X1: Biomedical equipment
442
- :4B:
443
- :name: Bioenvironmental engineering
444
- :subcategories:
445
- :0X1: Bioenvironmental engineering
446
- :4C:
447
- :name: Mental health
448
- :subcategories:
449
- :0X1: Mental health service
450
- :4D:
451
- :name: Diet therapy
452
- :subcategories:
453
- :0X1: Diet therapy
454
- :4E:
455
- :name: Public health
456
- :subcategories:
457
- :0X1: Public health
458
- :4H:
459
- :name: Respiratory care
460
- :subcategories:
461
- :0X1: Respiratory care practitioner
462
- :4J:
463
- :name: Physical medicine
464
- :subcategories:
465
- :0X2:
466
- :name: Physical medicine
467
- :subcategories:
468
- :A: Orthotics
469
- :4N:
470
- :name: Aerospace medical service
471
- :subcategories:
472
- :0X1:
473
- :name: Aerospace medical service
474
- :subcategories:
475
- :B: Neurodiagnostic medical technician
476
- :C: Independent duty medical technician
477
- :D: Allergy/immunization technician
478
- :F: Flight and operational medical technician
479
- :G: Aeromedical evacuation technician
480
- :H: National registry paramedic
481
- :1X1:
482
- :name: Surgical technologist
483
- :subcategories:
484
- :B: Urology
485
- :C: Orthopedics
486
- :D: Otolaryngology
487
- :4P:
488
- :name: Pharmacy
489
- :subcategories:
490
- :0X1: Pharmacy
491
- :4R:
492
- :name: Diagnostic imaging
493
- :subcategories:
494
- :0X1:
495
- :name: Diagnostic imaging
496
- :subcategories:
497
- :A: Nuclear medicine
498
- :B: Diagnostic medical sonography
499
- :C: Magnetic resonance imaging
500
- :4T:
501
- :name: Medical laboratory
502
- :subcategories:
503
- :090: Medical laboratory
504
- :0X1: Medical laboratory
505
- :0X2: Histopathology
506
- :4V:
507
- :name: Ophthalmic
508
- :subcategories:
509
- :0X1:
510
- :name: Ophthalmic
511
- :subcategories:
512
- :S: Ophthalmology
513
- :4Y:
514
- :name: Dental
515
- :subcategories:
516
- :090: Dental
517
- :0X1:
518
- :name: Dental assistant
519
- :subcategories:
520
- :H: Dental hygienist
521
- :0X2: Dental laboratory
522
- :5J:
523
- :name: Paralegal
524
- :subcategories:
525
- :0X1: Paralegal
526
- :5R:
527
- :name: Religious affairs
528
- :subcategories:
529
- :0X1: Religious affairs
530
- # Note: 8X (Special Duty Identifiers) and 9X (Reporting Identifiers) series
531
- # are in ri.yml as they follow a different code structure (digit + letter + 3 digits)
532
- # Use GovCodes::AFSC::RI.find() for codes like 8A400, 9Z200, etc.