line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Business::EDI::CodeList; |
2
|
|
|
|
|
|
|
|
3
|
15
|
|
|
15
|
|
105
|
use base qw/Business::EDI/; |
|
15
|
|
|
|
|
34
|
|
|
15
|
|
|
|
|
1796
|
|
4
|
|
|
|
|
|
|
|
5
|
15
|
|
|
15
|
|
97
|
use strict; |
|
15
|
|
|
|
|
29
|
|
|
15
|
|
|
|
|
708
|
|
6
|
15
|
|
|
15
|
|
86
|
use warnings; |
|
15
|
|
|
|
|
26
|
|
|
15
|
|
|
|
|
1629
|
|
7
|
15
|
|
|
15
|
|
87
|
use Carp; |
|
15
|
|
|
|
|
24
|
|
|
15
|
|
|
|
|
1151
|
|
8
|
15
|
|
|
15
|
|
122
|
use UNIVERSAL::require; |
|
15
|
|
|
|
|
31
|
|
|
15
|
|
|
|
|
125
|
|
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
=head1 Business::EDI::CodeList |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
Abstract object class for UN/EDIFACT objects that do not have further descendant objects and |
13
|
|
|
|
|
|
|
do have a defined list of legal values. |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
=cut |
16
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
our $VERSION = 0.01; |
18
|
|
|
|
|
|
|
our $verbose = 0; |
19
|
|
|
|
|
|
|
our %codemap; |
20
|
|
|
|
|
|
|
my @fields = qw/ code value label desc /; |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
sub new_codelist { # constructor: NOT to be overridden, first argument is string name like 'ResponseTypeCode' |
23
|
2965
|
|
|
2965
|
0
|
5755
|
my $class = shift; # note: we don't return objects of this class, we return an object from the subclasses |
24
|
2965
|
50
|
|
|
|
8041
|
my $type = shift or carp "No CodeList object type specified"; |
25
|
2965
|
50
|
|
|
|
6106
|
$type or return; |
26
|
2965
|
100
|
|
|
|
11997
|
if ($type =~ /^\d{4}$/) { |
27
|
2955
|
|
|
|
|
7695
|
my $map = $class->codemap(); |
28
|
2955
|
50
|
|
|
|
7020
|
if (exists $map->{$type}) { |
29
|
2955
|
50
|
|
|
|
6819
|
$verbose and warn "Numerical CodeList $type => " . $map->{$type}; |
30
|
2955
|
|
|
|
|
7150
|
$type = $map->{$type}; # replace 4-digit code w/ name, e.g. 1049 => 'MessageSectionCode' |
31
|
|
|
|
|
|
|
} else { |
32
|
0
|
|
|
|
|
0
|
carp "Numerical CodeList '$type' is not recognized. Maybe you wanted a DataElement? Constructor failure likely."; |
33
|
|
|
|
|
|
|
} |
34
|
|
|
|
|
|
|
} |
35
|
2965
|
50
|
|
|
|
9669
|
my $realtype = ($type =~ /^Business::EDI::CodeList::./) ? $type : "Business::EDI::CodeList::$type"; |
36
|
2965
|
50
|
|
|
|
17813
|
unless ($realtype->require()) { |
37
|
0
|
|
|
|
|
0
|
carp "require failed! Unrecognized class $realtype: $@"; |
38
|
0
|
|
|
|
|
0
|
return; |
39
|
|
|
|
|
|
|
} |
40
|
2965
|
|
|
|
|
107452
|
return $realtype->new(@_); |
41
|
|
|
|
|
|
|
} |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
# this is the default constructor for subclasses, e.g. Business::EDI::CodeList::InventoryTypeCode->new() |
44
|
|
|
|
|
|
|
sub new { # override me if you want, |
45
|
2966
|
|
|
2966
|
1
|
5111
|
my $class = shift; |
46
|
2966
|
|
|
|
|
4527
|
my $code = shift; # or carp "No code argument for CodeList type '$class' specified"; |
47
|
|
|
|
|
|
|
# $code or return; |
48
|
2966
|
|
|
|
|
14129
|
my $self = bless({}, $class); |
49
|
2966
|
50
|
|
|
|
8481
|
unless ($self->init($code, @_)) { |
50
|
0
|
0
|
|
|
|
0
|
carp $class . "->init('" . (defined($code) ? $code : '') . "', " . join(", ",@_), ") FAILED\n"; |
51
|
0
|
|
|
|
|
0
|
return; |
52
|
|
|
|
|
|
|
} |
53
|
2966
|
|
|
|
|
92260
|
return $self; |
54
|
|
|
|
|
|
|
} |
55
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
sub init { |
57
|
2966
|
|
|
2966
|
0
|
4241
|
my $self = shift; |
58
|
2966
|
|
|
|
|
3828
|
my $value = shift; # or return; |
59
|
2966
|
100
|
|
|
|
6854
|
defined($value) or $value = ''; |
60
|
2966
|
|
|
|
|
16518
|
my $codes = $self->get_codes(); # from subobject |
61
|
2966
|
50
|
|
|
|
6720
|
$verbose and warn ref($self) . "->get_codes got " . scalar(keys %$codes) . ", setting value '$value'"; |
62
|
2966
|
|
|
|
|
13862
|
$self->{value} = $value; |
63
|
2966
|
50
|
|
|
|
15556
|
$self->{code } = @_ ? shift : $self->list_number; |
64
|
2966
|
|
|
|
|
5515
|
$self->{_permitted} = {(map {$_ => 1} @fields)}; |
|
11864
|
|
|
|
|
33604
|
|
65
|
2966
|
100
|
100
|
|
|
21643
|
unless (length($value) and $codes->{$value}) { |
66
|
284
|
50
|
|
|
|
776
|
$verbose and carp "Value '$value' is not an authorized value"; |
67
|
284
|
|
|
|
|
595
|
$self->{label} = ''; |
68
|
284
|
|
|
|
|
821
|
$self->{desc} = ''; |
69
|
284
|
|
|
|
|
832
|
return $self; |
70
|
|
|
|
|
|
|
} |
71
|
2682
|
|
|
|
|
8077
|
$self->{label} = $codes->{$value}->[0]; |
72
|
2682
|
|
|
|
|
5903
|
$self->{desc} = $codes->{$value}->[1]; |
73
|
2682
|
|
|
|
|
8420
|
return $self; |
74
|
|
|
|
|
|
|
} |
75
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
# sub get_codes { |
77
|
|
|
|
|
|
|
# my $self = shift; |
78
|
|
|
|
|
|
|
# my $class = ref($self) || $self; |
79
|
|
|
|
|
|
|
# warn "trying to get_codes for class $class"; |
80
|
|
|
|
|
|
|
# no strict 'refs'; |
81
|
|
|
|
|
|
|
# return \%{$class . "::code_hash"}; |
82
|
|
|
|
|
|
|
# } |
83
|
|
|
|
|
|
|
|
84
|
4
|
|
|
4
|
1
|
10
|
sub code { my $self = shift; return $self->listnumber(@_); } |
|
4
|
|
|
|
|
22
|
|
85
|
4
|
50
|
|
4
|
0
|
7
|
sub listnumber { my $self = shift; @_ and $self->{code } = shift; return $self->{code }; } |
|
4
|
|
|
|
|
14
|
|
|
4
|
|
|
|
|
21
|
|
86
|
136
|
100
|
|
136
|
0
|
2059
|
sub label { my $self = shift; @_ and $self->{label} = shift; return $self->{label}; } |
|
136
|
|
|
|
|
301
|
|
|
136
|
|
|
|
|
781
|
|
87
|
24
|
100
|
|
24
|
1
|
46
|
sub desc { my $self = shift; @_ and $self->{desc } = shift; return $self->{desc }; } |
|
24
|
|
|
|
|
125
|
|
|
24
|
|
|
|
|
137
|
|
88
|
313
|
50
|
|
313
|
1
|
23404
|
sub value { my $self = shift; @_ and $self->{value} = shift; return $self->{value}; } |
|
313
|
|
|
|
|
6128
|
|
|
313
|
|
|
|
|
2487
|
|
89
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
sub name2number { |
91
|
0
|
|
|
0
|
0
|
0
|
my $self = shift; |
92
|
0
|
0
|
|
|
|
0
|
my $name = shift or return; |
93
|
0
|
|
|
|
|
0
|
my $map = $self->codemap; |
94
|
0
|
|
|
|
|
0
|
foreach (keys %$map) { |
95
|
0
|
0
|
|
|
|
0
|
$map->{$_} eq $name and return $_; |
96
|
|
|
|
|
|
|
} |
97
|
0
|
|
|
|
|
0
|
return; # undef, no match |
98
|
|
|
|
|
|
|
} |
99
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
sub codemap { |
101
|
2968
|
|
|
2968
|
0
|
3923
|
my $self = shift; |
102
|
2968
|
100
|
|
|
|
18086
|
%codemap or %codemap = ( |
103
|
|
|
|
|
|
|
# These (0xxx) are from SYNTAX spec |
104
|
|
|
|
|
|
|
'0001' => q(SyntaxIdentifier), |
105
|
|
|
|
|
|
|
'0002' => q(SyntaxVersionNumber), |
106
|
|
|
|
|
|
|
'0004' => q(InterchangeSenderIdentification), |
107
|
|
|
|
|
|
|
'0007' => q(IdentificationCodeQualifier), |
108
|
|
|
|
|
|
|
'0008' => q(InterchangeSenderInternalIdentification), |
109
|
|
|
|
|
|
|
'0010' => q(InterchangeRecipientIdentification), |
110
|
|
|
|
|
|
|
'0014' => q(InterchangeRecipientInternalIdentification), |
111
|
|
|
|
|
|
|
'0017' => q(Date), |
112
|
|
|
|
|
|
|
'0019' => q(Time), |
113
|
|
|
|
|
|
|
'0020' => q(InterchangeControlReference), |
114
|
|
|
|
|
|
|
'0022' => q(RecipientReferencePassword), |
115
|
|
|
|
|
|
|
'0025' => q(RecipientReferencePasswordQualifier), |
116
|
|
|
|
|
|
|
'0026' => q(ApplicationReference), |
117
|
|
|
|
|
|
|
'0029' => q(ProcessingPriorityCode), |
118
|
|
|
|
|
|
|
'0031' => q(AcknowledgementRequest), |
119
|
|
|
|
|
|
|
'0032' => q(InterchangeAgreementIdentifier), |
120
|
|
|
|
|
|
|
'0035' => q(TestIndicator), |
121
|
|
|
|
|
|
|
'0036' => q(InterchangeControlCount), |
122
|
|
|
|
|
|
|
'0038' => q(MessageGroupIdentification), |
123
|
|
|
|
|
|
|
'0040' => q(ApplicationSenderIdentification), |
124
|
|
|
|
|
|
|
'0042' => q(InterchangeSenderInternalSubidentification), |
125
|
|
|
|
|
|
|
'0044' => q(ApplicationRecipientIdentification), |
126
|
|
|
|
|
|
|
'0046' => q(InterchangeRecipientInternalSubidentification), |
127
|
|
|
|
|
|
|
'0048' => q(GroupReferenceNumber), |
128
|
|
|
|
|
|
|
'0051' => q(ControllingAgencyCoded), |
129
|
|
|
|
|
|
|
'0052' => q(MessageVersionNumber), |
130
|
|
|
|
|
|
|
'0054' => q(MessageReleaseNumber), |
131
|
|
|
|
|
|
|
'0057' => q(AssociationAssignedCode), |
132
|
|
|
|
|
|
|
'0058' => q(ApplicationPassword), |
133
|
|
|
|
|
|
|
'0060' => q(GroupControlCount), |
134
|
|
|
|
|
|
|
'0062' => q(MessageReferenceNumber), |
135
|
|
|
|
|
|
|
'0065' => q(MessageType), |
136
|
|
|
|
|
|
|
'0068' => q(CommonAccessReference), |
137
|
|
|
|
|
|
|
'0070' => q(SequenceOfTransfers), |
138
|
|
|
|
|
|
|
'0073' => q(FirstAndLastTransfer), |
139
|
|
|
|
|
|
|
'0074' => q(NumberOfSegmentsInAMessage), |
140
|
|
|
|
|
|
|
'0076' => q(SyntaxReleaseNumber), |
141
|
|
|
|
|
|
|
'0080' => q(ServiceCodeListDirectoryVersionNumber), |
142
|
|
|
|
|
|
|
'0081' => q(SectionIdentification), |
143
|
|
|
|
|
|
|
'0083' => q(ActionCoded), |
144
|
|
|
|
|
|
|
'0085' => q(SyntaxErrorCoded), |
145
|
|
|
|
|
|
|
'0087' => q(AnticollisionSegmentGroupIdentification), |
146
|
|
|
|
|
|
|
'0096' => q(SegmentPositionInMessageBody), |
147
|
|
|
|
|
|
|
'0098' => q(ErroneousDataElementPositionInSegment), |
148
|
|
|
|
|
|
|
'0104' => q(ErroneousComponentDataElementPosition), |
149
|
|
|
|
|
|
|
'0110' => q(CodeListDirectoryVersionNumber), |
150
|
|
|
|
|
|
|
'0113' => q(MessageTypeSubfunctionIdentification), |
151
|
|
|
|
|
|
|
'0115' => q(MessageSubsetIdentification), |
152
|
|
|
|
|
|
|
'0116' => q(MessageSubsetVersionNumber), |
153
|
|
|
|
|
|
|
'0118' => q(MessageSubsetReleaseNumber), |
154
|
|
|
|
|
|
|
'0121' => q(MessageImplementationGuidelineIdentification), |
155
|
|
|
|
|
|
|
'0122' => q(MessageImplementationGuidelineVersionNumber), |
156
|
|
|
|
|
|
|
'0124' => q(MessageImplementationGuidelineReleaseNumber), |
157
|
|
|
|
|
|
|
'0127' => q(ScenarioIdentification), |
158
|
|
|
|
|
|
|
'0128' => q(ScenarioVersionNumber), |
159
|
|
|
|
|
|
|
'0130' => q(ScenarioReleaseNumber), |
160
|
|
|
|
|
|
|
'0133' => q(CharacterEncodingCoded), |
161
|
|
|
|
|
|
|
'0135' => q(ServiceSegmentTagCoded), |
162
|
|
|
|
|
|
|
'0136' => q(ErroneousDataElementOccurrence), |
163
|
|
|
|
|
|
|
'0138' => q(SecuritySegmentPosition), |
164
|
|
|
|
|
|
|
'0300' => q(InitiatorControlReference), |
165
|
|
|
|
|
|
|
'0303' => q(InitiatorReferenceIdentification), |
166
|
|
|
|
|
|
|
'0304' => q(ResponderControlReference), |
167
|
|
|
|
|
|
|
'0306' => q(TransactionControlReference), |
168
|
|
|
|
|
|
|
'0311' => q(DialogueIdentification), |
169
|
|
|
|
|
|
|
'0314' => q(EventTime), |
170
|
|
|
|
|
|
|
'0320' => q(SenderSequenceNumber), |
171
|
|
|
|
|
|
|
'0323' => q(TransferPositionCoded), |
172
|
|
|
|
|
|
|
'0325' => q(DuplicateIndicator), |
173
|
|
|
|
|
|
|
'0331' => q(ReportFunctionCoded), |
174
|
|
|
|
|
|
|
'0332' => q(Status), |
175
|
|
|
|
|
|
|
'0333' => q(StatusCoded), |
176
|
|
|
|
|
|
|
'0335' => q(LanguageCoded), |
177
|
|
|
|
|
|
|
'0336' => q(TimeOffset), |
178
|
|
|
|
|
|
|
'0338' => q(EventDate), |
179
|
|
|
|
|
|
|
'0340' => q(InteractiveMessageReferenceNumber), |
180
|
|
|
|
|
|
|
'0342' => q(DialogueVersionNumber), |
181
|
|
|
|
|
|
|
'0344' => q(DialogueReleaseNumber), |
182
|
|
|
|
|
|
|
'0501' => q(SecurityServiceCoded), |
183
|
|
|
|
|
|
|
'0503' => q(ResponseTypeCoded), |
184
|
|
|
|
|
|
|
'0505' => q(FilterFunctionCoded), |
185
|
|
|
|
|
|
|
'0507' => q(OriginalCharacterSetEncodingCoded), |
186
|
|
|
|
|
|
|
'0509' => q(RoleOfSecurityProviderCoded), |
187
|
|
|
|
|
|
|
'0511' => q(SecurityPartyIdentification), |
188
|
|
|
|
|
|
|
'0513' => q(SecurityPartyCodeListQualifier), |
189
|
|
|
|
|
|
|
'0515' => q(SecurityPartyCodeListResponsibleAgencyCoded), |
190
|
|
|
|
|
|
|
'0517' => q(DateAndTimeQualifier), |
191
|
|
|
|
|
|
|
'0518' => q(EncryptionReferenceNumber), |
192
|
|
|
|
|
|
|
'0520' => q(SecuritySequenceNumber), |
193
|
|
|
|
|
|
|
'0523' => q(UseOfAlgorithmCoded), |
194
|
|
|
|
|
|
|
'0525' => q(CryptographicModeOfOperationCoded), |
195
|
|
|
|
|
|
|
'0527' => q(AlgorithmCoded), |
196
|
|
|
|
|
|
|
'0529' => q(AlgorithmCodeListIdentifier), |
197
|
|
|
|
|
|
|
'0531' => q(AlgorithmParameterQualifier), |
198
|
|
|
|
|
|
|
'0533' => q(ModeOfOperationCodeListIdentifier), |
199
|
|
|
|
|
|
|
'0534' => q(SecurityReferenceNumber), |
200
|
|
|
|
|
|
|
'0536' => q(CertificateReference), |
201
|
|
|
|
|
|
|
'0538' => q(KeyName), |
202
|
|
|
|
|
|
|
'0541' => q(ScopeOfSecurityApplicationCoded), |
203
|
|
|
|
|
|
|
'0543' => q(CertificateOriginalCharacterSetRepertoireCoded), |
204
|
|
|
|
|
|
|
'0545' => q(CertificateSyntaxAndVersionCoded), |
205
|
|
|
|
|
|
|
'0546' => q(UserAuthorisationLevel), |
206
|
|
|
|
|
|
|
'0548' => q(ServiceCharacterForSignature), |
207
|
|
|
|
|
|
|
'0551' => q(ServiceCharacterForSignatureQualifier), |
208
|
|
|
|
|
|
|
'0554' => q(AlgorithmParameterValue), |
209
|
|
|
|
|
|
|
'0556' => q(LengthOfDataInOctetsOfBits), |
210
|
|
|
|
|
|
|
'0558' => q(ListParameter), |
211
|
|
|
|
|
|
|
'0560' => q(ValidationValue), |
212
|
|
|
|
|
|
|
'0563' => q(ValidationValueQualifier), |
213
|
|
|
|
|
|
|
'0565' => q(MessageRelationCoded), |
214
|
|
|
|
|
|
|
'0567' => q(SecurityStatusCoded), |
215
|
|
|
|
|
|
|
'0569' => q(RevocationReasonCoded), |
216
|
|
|
|
|
|
|
'0571' => q(SecurityErrorCoded), |
217
|
|
|
|
|
|
|
'0572' => q(CertificateSequenceNumber), |
218
|
|
|
|
|
|
|
'0575' => q(ListParameterQualifier), |
219
|
|
|
|
|
|
|
'0577' => q(SecurityPartyQualifier), |
220
|
|
|
|
|
|
|
'0579' => q(KeyManagementFunctionQualifier), |
221
|
|
|
|
|
|
|
'0582' => q(NumberOfPaddingBytes), |
222
|
|
|
|
|
|
|
'0586' => q(SecurityPartyName), |
223
|
|
|
|
|
|
|
'0588' => q(NumberOfSecuritySegments), |
224
|
|
|
|
|
|
|
'0591' => q(PaddingMechanismCoded), |
225
|
|
|
|
|
|
|
'0601' => q(PaddingMechanismCodeListIdentifier), |
226
|
|
|
|
|
|
|
'0800' => q(PackageReferenceNumber), |
227
|
|
|
|
|
|
|
'0802' => q(ReferenceIdentificationNumber), |
228
|
|
|
|
|
|
|
'0805' => q(ObjectTypeQualifier), |
229
|
|
|
|
|
|
|
'0808' => q(ObjectTypeAttribute), |
230
|
|
|
|
|
|
|
'0809' => q(ObjectTypeAttributeIdentification), |
231
|
|
|
|
|
|
|
'0810' => q(LengthOfObjectInOctetsOfBits), |
232
|
|
|
|
|
|
|
'0813' => q(ReferenceQualifier), |
233
|
|
|
|
|
|
|
'0814' => q(NumberOfSegmentsBeforeObject), |
234
|
|
|
|
|
|
|
|
235
|
|
|
|
|
|
|
# The rest are from regular EDI spec |
236
|
|
|
|
|
|
|
1001 => "DocumentNameCode", |
237
|
|
|
|
|
|
|
1049 => "MessageSectionCode", |
238
|
|
|
|
|
|
|
1073 => "DocumentLineActionCode", |
239
|
|
|
|
|
|
|
1153 => "ReferenceCodeQualifier", |
240
|
|
|
|
|
|
|
1159 => "SequenceIdentifierSourceCode", |
241
|
|
|
|
|
|
|
1225 => "MessageFunctionCode", |
242
|
|
|
|
|
|
|
1227 => "CalculationSequenceCode", |
243
|
|
|
|
|
|
|
1229 => "ActionCode", |
244
|
|
|
|
|
|
|
1373 => "DocumentStatusCode", |
245
|
|
|
|
|
|
|
1501 => "ComputerEnvironmentDetailsCodeQualifier", |
246
|
|
|
|
|
|
|
1503 => "DataFormatDescriptionCode", |
247
|
|
|
|
|
|
|
1505 => "ValueListTypeCode", |
248
|
|
|
|
|
|
|
1507 => "DesignatedClassCode", |
249
|
|
|
|
|
|
|
2005 => "DateOrTimeOrPeriodFunctionCodeQualifier", |
250
|
|
|
|
|
|
|
2009 => "TermsTimeRelationCode", |
251
|
|
|
|
|
|
|
2013 => "FrequencyCode", |
252
|
|
|
|
|
|
|
2015 => "DespatchPatternCode", |
253
|
|
|
|
|
|
|
2017 => "DespatchPatternTimingCode", |
254
|
|
|
|
|
|
|
2023 => "PeriodTypeCodeQualifier", |
255
|
|
|
|
|
|
|
2151 => "PeriodTypeCode", |
256
|
|
|
|
|
|
|
2155 => "ChargePeriodTypeCode", |
257
|
|
|
|
|
|
|
2379 => "DateOrTimeOrPeriodFormatCode", |
258
|
|
|
|
|
|
|
2475 => "TimeReferenceCode", |
259
|
|
|
|
|
|
|
3035 => "PartyFunctionCodeQualifier", |
260
|
|
|
|
|
|
|
3045 => "PartyNameFormatCode", |
261
|
|
|
|
|
|
|
3055 => "CodeListResponsibleAgencyCode", |
262
|
|
|
|
|
|
|
3077 => "TestMediumCode", |
263
|
|
|
|
|
|
|
3079 => "OrganisationClassificationCode", |
264
|
|
|
|
|
|
|
3083 => "OrganisationalClassNameCode", |
265
|
|
|
|
|
|
|
3131 => "AddressTypeCode", |
266
|
|
|
|
|
|
|
3139 => "ContactFunctionCode", |
267
|
|
|
|
|
|
|
3153 => "CommunicationMediumTypeCode", |
268
|
|
|
|
|
|
|
3155 => "CommunicationAddressCodeQualifier", |
269
|
|
|
|
|
|
|
3227 => "LocationFunctionCodeQualifier", |
270
|
|
|
|
|
|
|
3237 => "SampleLocationDescriptionCode", |
271
|
|
|
|
|
|
|
3279 => "GeographicAreaCode", |
272
|
|
|
|
|
|
|
3285 => "InstructionReceivingPartyIdentifier", |
273
|
|
|
|
|
|
|
3289 => "PersonCharacteristicCodeQualifier", |
274
|
|
|
|
|
|
|
3295 => "NameOriginalAlphabetCode", |
275
|
|
|
|
|
|
|
3299 => "AddressPurposeCode", |
276
|
|
|
|
|
|
|
3301 => "EnactingPartyIdentifier", |
277
|
|
|
|
|
|
|
3397 => "NameStatusCode", |
278
|
|
|
|
|
|
|
3401 => "NameComponentUsageCode", |
279
|
|
|
|
|
|
|
3403 => "NameTypeCode", |
280
|
|
|
|
|
|
|
3405 => "NameComponentTypeCodeQualifier", |
281
|
|
|
|
|
|
|
3455 => "LanguageCodeQualifier", |
282
|
|
|
|
|
|
|
3457 => "OriginatorTypeCode", |
283
|
|
|
|
|
|
|
3475 => "AddressStatusCode", |
284
|
|
|
|
|
|
|
3477 => "AddressFormatCode", |
285
|
|
|
|
|
|
|
3479 => "MaritalStatusDescriptionCode", |
286
|
|
|
|
|
|
|
3493 => "NationalityCodeQualifier", |
287
|
|
|
|
|
|
|
4017 => "DeliveryPlanCommitmentLevelCode", |
288
|
|
|
|
|
|
|
4025 => "BusinessFunctionCode", |
289
|
|
|
|
|
|
|
4027 => "BusinessFunctionTypeCodeQualifier", |
290
|
|
|
|
|
|
|
4035 => "PriorityTypeCodeQualifier", |
291
|
|
|
|
|
|
|
4037 => "PriorityDescriptionCode", |
292
|
|
|
|
|
|
|
4043 => "TradeClassCode", |
293
|
|
|
|
|
|
|
4049 => "CertaintyDescriptionCode", |
294
|
|
|
|
|
|
|
4051 => "CharacteristicRelevanceCode", |
295
|
|
|
|
|
|
|
4053 => "DeliveryOrTransportTermsDescriptionCode", |
296
|
|
|
|
|
|
|
4055 => "DeliveryOrTransportTermsFunctionCode", |
297
|
|
|
|
|
|
|
4059 => "ClauseCodeQualifier", |
298
|
|
|
|
|
|
|
4065 => "ContractAndCarriageConditionCode", |
299
|
|
|
|
|
|
|
4071 => "ProvisoCodeQualifier", |
300
|
|
|
|
|
|
|
4079 => "HandlingInstructionDescriptionCode", |
301
|
|
|
|
|
|
|
4183 => "SpecialConditionCode", |
302
|
|
|
|
|
|
|
4215 => "TransportChargesPaymentMethodCode", |
303
|
|
|
|
|
|
|
4219 => "TransportServicePriorityCode", |
304
|
|
|
|
|
|
|
4221 => "DiscrepancyNatureIdentificationCode", |
305
|
|
|
|
|
|
|
4233 => "MarkingInstructionsCode", |
306
|
|
|
|
|
|
|
4237 => "PaymentArrangementCode", |
307
|
|
|
|
|
|
|
4277 => "PaymentTermsDescriptionIdentifier", |
308
|
|
|
|
|
|
|
4279 => "PaymentTermsTypeCodeQualifier", |
309
|
|
|
|
|
|
|
4295 => "ChangeReasonDescriptionCode", |
310
|
|
|
|
|
|
|
4343 => "ResponseTypeCode", |
311
|
|
|
|
|
|
|
4347 => "ProductIdentifierCodeQualifier", |
312
|
|
|
|
|
|
|
4383 => "BankOperationCode", |
313
|
|
|
|
|
|
|
4401 => "InstructionDescriptionCode", |
314
|
|
|
|
|
|
|
4403 => "InstructionTypeCodeQualifier", |
315
|
|
|
|
|
|
|
4405 => "StatusDescriptionCode", |
316
|
|
|
|
|
|
|
4407 => "SampleProcessStepCode", |
317
|
|
|
|
|
|
|
4419 => "TestAdministrationMethodCode", |
318
|
|
|
|
|
|
|
4431 => "PaymentGuaranteeMeansCode", |
319
|
|
|
|
|
|
|
4435 => "PaymentChannelCode", |
320
|
|
|
|
|
|
|
4437 => "AccountTypeCodeQualifier", |
321
|
|
|
|
|
|
|
4439 => "PaymentConditionsCode", |
322
|
|
|
|
|
|
|
4447 => "FreeTextFormatCode", |
323
|
|
|
|
|
|
|
4451 => "TextSubjectCodeQualifier", |
324
|
|
|
|
|
|
|
4453 => "FreeTextFunctionCode", |
325
|
|
|
|
|
|
|
4455 => "BackOrderArrangementTypeCode", |
326
|
|
|
|
|
|
|
4457 => "SubstitutionConditionCode", |
327
|
|
|
|
|
|
|
4461 => "PaymentMeansCode", |
328
|
|
|
|
|
|
|
4463 => "IntracompanyPaymentIndicatorCode", |
329
|
|
|
|
|
|
|
4465 => "AdjustmentReasonDescriptionCode", |
330
|
|
|
|
|
|
|
4471 => "SettlementMeansCode", |
331
|
|
|
|
|
|
|
4475 => "AccountingEntryTypeNameCode", |
332
|
|
|
|
|
|
|
4487 => "FinancialTransactionTypeCode", |
333
|
|
|
|
|
|
|
4493 => "DeliveryInstructionCode", |
334
|
|
|
|
|
|
|
4499 => "InventoryMovementReasonCode", |
335
|
|
|
|
|
|
|
4501 => "InventoryMovementDirectionCode", |
336
|
|
|
|
|
|
|
4503 => "InventoryBalanceMethodCode", |
337
|
|
|
|
|
|
|
4505 => "CreditCoverRequestTypeCode", |
338
|
|
|
|
|
|
|
4507 => "CreditCoverResponseTypeCode", |
339
|
|
|
|
|
|
|
4509 => "CreditCoverResponseReasonCode", |
340
|
|
|
|
|
|
|
4511 => "RequestedInformationDescriptionCode", |
341
|
|
|
|
|
|
|
4513 => "MaintenanceOperationCode", |
342
|
|
|
|
|
|
|
4517 => "SealConditionCode", |
343
|
|
|
|
|
|
|
5007 => "MonetaryAmountFunctionDescriptionCode", |
344
|
|
|
|
|
|
|
5013 => "IndexCodeQualifier", |
345
|
|
|
|
|
|
|
5025 => "MonetaryAmountTypeCodeQualifier", |
346
|
|
|
|
|
|
|
5027 => "IndexTypeIdentifier", |
347
|
|
|
|
|
|
|
5039 => "IndexRepresentationCode", |
348
|
|
|
|
|
|
|
5047 => "ContributionCodeQualifier", |
349
|
|
|
|
|
|
|
5049 => "ContributionTypeDescriptionCode", |
350
|
|
|
|
|
|
|
5125 => "PriceCodeQualifier", |
351
|
|
|
|
|
|
|
5153 => "DutyOrTaxOrFeeTypeNameCode", |
352
|
|
|
|
|
|
|
5189 => "AllowanceOrChargeIdentificationCode", |
353
|
|
|
|
|
|
|
5213 => "SublineItemPriceChangeOperationCode", |
354
|
|
|
|
|
|
|
5237 => "ChargeCategoryCode", |
355
|
|
|
|
|
|
|
5243 => "RateOrTariffClassDescriptionCode", |
356
|
|
|
|
|
|
|
5245 => "PercentageTypeCodeQualifier", |
357
|
|
|
|
|
|
|
5249 => "PercentageBasisIdentificationCode", |
358
|
|
|
|
|
|
|
5261 => "ChargeUnitCode", |
359
|
|
|
|
|
|
|
5267 => "ServiceTypeCode", |
360
|
|
|
|
|
|
|
5273 => "DutyOrTaxOrFeeRateBasisCode", |
361
|
|
|
|
|
|
|
5283 => "DutyOrTaxOrFeeFunctionCodeQualifier", |
362
|
|
|
|
|
|
|
5305 => "DutyOrTaxOrFeeCategoryCode", |
363
|
|
|
|
|
|
|
5315 => "RemunerationTypeNameCode", |
364
|
|
|
|
|
|
|
5375 => "PriceTypeCode", |
365
|
|
|
|
|
|
|
5379 => "ProductGroupTypeCode", |
366
|
|
|
|
|
|
|
5387 => "PriceSpecificationCode", |
367
|
|
|
|
|
|
|
5393 => "PriceMultiplierTypeCodeQualifier", |
368
|
|
|
|
|
|
|
5419 => "RateTypeCodeQualifier", |
369
|
|
|
|
|
|
|
5463 => "AllowanceOrChargeCodeQualifier", |
370
|
|
|
|
|
|
|
5495 => "SublineIndicatorCode", |
371
|
|
|
|
|
|
|
5501 => "RatePlanCode", |
372
|
|
|
|
|
|
|
6029 => "GeographicalPositionCodeQualifier", |
373
|
|
|
|
|
|
|
6063 => "QuantityTypeCodeQualifier", |
374
|
|
|
|
|
|
|
6069 => "ControlTotalTypeCodeQualifier", |
375
|
|
|
|
|
|
|
6071 => "FrequencyCodeQualifier", |
376
|
|
|
|
|
|
|
6077 => "ResultRepresentationCode", |
377
|
|
|
|
|
|
|
6079 => "ResultNormalcyCode", |
378
|
|
|
|
|
|
|
6085 => "DosageAdministrationCodeQualifier", |
379
|
|
|
|
|
|
|
6087 => "ResultValueTypeCodeQualifier", |
380
|
|
|
|
|
|
|
6145 => "DimensionTypeCodeQualifier", |
381
|
|
|
|
|
|
|
6155 => "NondiscreteMeasurementNameCode", |
382
|
|
|
|
|
|
|
6167 => "RangeTypeCodeQualifier", |
383
|
|
|
|
|
|
|
6173 => "SizeTypeCodeQualifier", |
384
|
|
|
|
|
|
|
6245 => "TemperatureTypeCodeQualifier", |
385
|
|
|
|
|
|
|
6311 => "MeasurementPurposeCodeQualifier", |
386
|
|
|
|
|
|
|
6313 => "MeasuredAttributeCode", |
387
|
|
|
|
|
|
|
6321 => "MeasurementSignificanceCode", |
388
|
|
|
|
|
|
|
6331 => "StatisticTypeCodeQualifier", |
389
|
|
|
|
|
|
|
6341 => "ExchangeRateCurrencyMarketIdentifier", |
390
|
|
|
|
|
|
|
6343 => "CurrencyTypeCodeQualifier", |
391
|
|
|
|
|
|
|
6347 => "CurrencyUsageCodeQualifier", |
392
|
|
|
|
|
|
|
6353 => "UnitTypeCodeQualifier", |
393
|
|
|
|
|
|
|
6415 => "ClinicalInformationTypeCodeQualifier", |
394
|
|
|
|
|
|
|
7001 => "PhysicalOrLogicalStateTypeCodeQualifier", |
395
|
|
|
|
|
|
|
7007 => "PhysicalOrLogicalStateDescriptionCode", |
396
|
|
|
|
|
|
|
7009 => "ItemDescriptionCode", |
397
|
|
|
|
|
|
|
7011 => "ItemAvailabilityCode", |
398
|
|
|
|
|
|
|
7039 => "SampleSelectionMethodCode", |
399
|
|
|
|
|
|
|
7045 => "SampleStateCode", |
400
|
|
|
|
|
|
|
7047 => "SampleDirectionCode", |
401
|
|
|
|
|
|
|
7059 => "ClassTypeCode", |
402
|
|
|
|
|
|
|
7073 => "PackagingTermsAndConditionsCode", |
403
|
|
|
|
|
|
|
7075 => "PackagingLevelCode", |
404
|
|
|
|
|
|
|
7077 => "DescriptionFormatCode", |
405
|
|
|
|
|
|
|
7081 => "ItemCharacteristicCode", |
406
|
|
|
|
|
|
|
7083 => "ConfigurationOperationCode", |
407
|
|
|
|
|
|
|
7085 => "CargoTypeClassificationCode", |
408
|
|
|
|
|
|
|
7133 => "ProductDetailsTypeCodeQualifier", |
409
|
|
|
|
|
|
|
7143 => "ItemTypeIdentificationCode", |
410
|
|
|
|
|
|
|
7161 => "SpecialServiceDescriptionCode", |
411
|
|
|
|
|
|
|
7171 => "HierarchicalStructureRelationshipCode", |
412
|
|
|
|
|
|
|
7173 => "HierarchyObjectCodeQualifier", |
413
|
|
|
|
|
|
|
7187 => "ProcessTypeDescriptionCode", |
414
|
|
|
|
|
|
|
7233 => "PackagingRelatedDescriptionCode", |
415
|
|
|
|
|
|
|
7273 => "ServiceRequirementCode", |
416
|
|
|
|
|
|
|
7293 => "SectorAreaIdentificationCodeQualifier", |
417
|
|
|
|
|
|
|
7295 => "RequirementOrConditionDescriptionIdentifier", |
418
|
|
|
|
|
|
|
7297 => "SetTypeCodeQualifier", |
419
|
|
|
|
|
|
|
7299 => "RequirementDesignatorCode", |
420
|
|
|
|
|
|
|
7365 => "ProcessingIndicatorDescriptionCode", |
421
|
|
|
|
|
|
|
7383 => "SurfaceOrLayerCode", |
422
|
|
|
|
|
|
|
7405 => "ObjectIdentificationCodeQualifier", |
423
|
|
|
|
|
|
|
7429 => "IndexingStructureCodeQualifier", |
424
|
|
|
|
|
|
|
7431 => "AgreementTypeCodeQualifier", |
425
|
|
|
|
|
|
|
7433 => "AgreementTypeDescriptionCode", |
426
|
|
|
|
|
|
|
7449 => "MembershipTypeCodeQualifier", |
427
|
|
|
|
|
|
|
7451 => "MembershipCategoryDescriptionCode", |
428
|
|
|
|
|
|
|
7455 => "MembershipLevelCodeQualifier", |
429
|
|
|
|
|
|
|
7459 => "AttendeeCategoryDescriptionCode", |
430
|
|
|
|
|
|
|
7491 => "InventoryTypeCode", |
431
|
|
|
|
|
|
|
7493 => "DamageDetailsCodeQualifier", |
432
|
|
|
|
|
|
|
7495 => "ObjectTypeCodeQualifier", |
433
|
|
|
|
|
|
|
7497 => "StructureComponentFunctionCodeQualifier", |
434
|
|
|
|
|
|
|
7511 => "MarkingTypeCode", |
435
|
|
|
|
|
|
|
7515 => "StructureTypeCode", |
436
|
|
|
|
|
|
|
8015 => "TrafficRestrictionCode", |
437
|
|
|
|
|
|
|
8025 => "ConveyanceCallPurposeDescriptionCode", |
438
|
|
|
|
|
|
|
8035 => "TrafficRestrictionTypeCodeQualifier", |
439
|
|
|
|
|
|
|
8051 => "TransportStageCodeQualifier", |
440
|
|
|
|
|
|
|
8053 => "EquipmentTypeCodeQualifier", |
441
|
|
|
|
|
|
|
8077 => "EquipmentSupplierCode", |
442
|
|
|
|
|
|
|
8101 => "TransitDirectionIndicatorCode", |
443
|
|
|
|
|
|
|
8155 => "EquipmentSizeAndTypeDescriptionCode", |
444
|
|
|
|
|
|
|
8169 => "FullOrEmptyIndicatorCode", |
445
|
|
|
|
|
|
|
8179 => "TransportMeansDescriptionCode", |
446
|
|
|
|
|
|
|
8249 => "EquipmentStatusCode", |
447
|
|
|
|
|
|
|
8273 => "DangerousGoodsRegulationsCode", |
448
|
|
|
|
|
|
|
8275 => "ContainerOrPackageContentsIndicatorCode", |
449
|
|
|
|
|
|
|
8281 => "TransportMeansOwnershipIndicatorCode", |
450
|
|
|
|
|
|
|
8323 => "TransportMovementCode", |
451
|
|
|
|
|
|
|
8335 => "MovementTypeDescriptionCode", |
452
|
|
|
|
|
|
|
8339 => "PackagingDangerLevelCode", |
453
|
|
|
|
|
|
|
8341 => "HaulageArrangementsCode", |
454
|
|
|
|
|
|
|
8393 => "ReturnablePackageLoadContentsCode", |
455
|
|
|
|
|
|
|
8395 => "ReturnablePackageFreightPaymentResponsibilityCode", |
456
|
|
|
|
|
|
|
8457 => "ExcessTransportationReasonCode", |
457
|
|
|
|
|
|
|
8459 => "ExcessTransportationResponsibilityCode", |
458
|
|
|
|
|
|
|
9003 => "EmploymentDetailsCodeQualifier", |
459
|
|
|
|
|
|
|
9013 => "StatusReasonDescriptionCode", |
460
|
|
|
|
|
|
|
9015 => "StatusCategoryCode", |
461
|
|
|
|
|
|
|
9017 => "AttributeFunctionCodeQualifier", |
462
|
|
|
|
|
|
|
9023 => "DefinitionFunctionCode", |
463
|
|
|
|
|
|
|
9025 => "DefinitionExtentCode", |
464
|
|
|
|
|
|
|
9029 => "ValueDefinitionCodeQualifier", |
465
|
|
|
|
|
|
|
9031 => "EditMaskRepresentationCode", |
466
|
|
|
|
|
|
|
9035 => "QualificationApplicationAreaCode", |
467
|
|
|
|
|
|
|
9037 => "QualificationTypeCodeQualifier", |
468
|
|
|
|
|
|
|
9039 => "FacilityTypeDescriptionCode", |
469
|
|
|
|
|
|
|
9043 => "ReservationIdentifierCodeQualifier", |
470
|
|
|
|
|
|
|
9045 => "BasisCodeQualifier", |
471
|
|
|
|
|
|
|
9051 => "ApplicabilityCodeQualifier", |
472
|
|
|
|
|
|
|
9141 => "RelationshipTypeCodeQualifier", |
473
|
|
|
|
|
|
|
9143 => "RelationshipDescriptionCode", |
474
|
|
|
|
|
|
|
9153 => "SimpleDataElementCharacterRepresentationCode", |
475
|
|
|
|
|
|
|
9155 => "LengthTypeCode", |
476
|
|
|
|
|
|
|
9161 => "CodeSetIndicatorCode", |
477
|
|
|
|
|
|
|
9169 => "DataRepresentationTypeCode", |
478
|
|
|
|
|
|
|
9175 => "DataElementUsageTypeCode", |
479
|
|
|
|
|
|
|
9213 => "DutyRegimeTypeCode", |
480
|
|
|
|
|
|
|
9285 => "ValidationCriteriaCode", |
481
|
|
|
|
|
|
|
9303 => "SealingPartyNameCode", |
482
|
|
|
|
|
|
|
9353 => "GovernmentProcedureCode", |
483
|
|
|
|
|
|
|
9411 => "GovernmentInvolvementCode", |
484
|
|
|
|
|
|
|
9415 => "GovernmentAgencyIdentificationCode", |
485
|
|
|
|
|
|
|
9417 => "GovernmentActionCode", |
486
|
|
|
|
|
|
|
9421 => "ProcessStageCodeQualifier", |
487
|
|
|
|
|
|
|
9437 => "ClinicalInterventionDescriptionCode", |
488
|
|
|
|
|
|
|
9441 => "ClinicalInterventionTypeCodeQualifier", |
489
|
|
|
|
|
|
|
9443 => "AttendanceTypeCodeQualifier", |
490
|
|
|
|
|
|
|
9447 => "DischargeTypeDescriptionCode", |
491
|
|
|
|
|
|
|
9453 => "CodeValueSourceCode", |
492
|
|
|
|
|
|
|
9501 => "FormulaTypeCodeQualifier", |
493
|
|
|
|
|
|
|
9507 => "FormulaSequenceCodeQualifier", |
494
|
|
|
|
|
|
|
9509 => "FormulaSequenceOperandCode", |
495
|
|
|
|
|
|
|
9601 => "InformationCategoryCode", |
496
|
|
|
|
|
|
|
9623 => "DiagnosisTypeCode", |
497
|
|
|
|
|
|
|
9625 => "RelatedCauseCode", |
498
|
|
|
|
|
|
|
9633 => "InformationDetailsCodeQualifier", |
499
|
|
|
|
|
|
|
9635 => "EventDetailsCodeQualifier", |
500
|
|
|
|
|
|
|
9641 => "ServiceBasisCodeQualifier", |
501
|
|
|
|
|
|
|
9643 => "SupportingEvidenceTypeCodeQualifier", |
502
|
|
|
|
|
|
|
9645 => "PayerResponsibilityLevelCode", |
503
|
|
|
|
|
|
|
9649 => "ProcessingInformationCodeQualifier", |
504
|
|
|
|
|
|
|
); |
505
|
2968
|
|
|
|
|
6158
|
return \%codemap; |
506
|
|
|
|
|
|
|
} |
507
|
|
|
|
|
|
|
|
508
|
|
|
|
|
|
|
1; |
509
|
|
|
|
|
|
|
__END__ |