1 /*[-  HEADER FILE  -------------------------------------------------------------------------*/
2 /*
3    Name:        ds_head_type.h
4 
5    Description: The header file defines the data set basic groups as unions for
6                 internal use (internal header).
7                 Unions are used to overlay a buffer and the group structure for more flexi-
8                 bility and compatibility. To expand a group the new item must only be
9                 defined at the structure end in header file "ds_head_acr_groups_types.h" or
10                 "ds_head_shadow_groups_types.h".
11 
12 
13    Author:      THUMSER, Andreas (TH); Siemens AG UBMed CMS/SCE64; phone: 09131 844797
14 */
15 /*]-----------------------------------------------------------------------------------------*/
16 
17 #ifndef DS_HEAD_TYPE
18 #define DS_HEAD_TYPE
19 
20 typedef union group_0008_tag
21 {
22   char Ide_buf[LENGTH_GROUP_0008];			   /* fill-in */
23   acr_identifying_t Ide;				   /* work area */
24 } group_0008_t;
25 
26 
27 
28 typedef union group_0009_tag
29 {
30   char Ide_buf[LENGTH_GROUP_0009];			   /* fill-in */
31   shadow_identifying_t Ide;				   /* work area */
32 } group_0009_t;
33 
34 
35 
36 typedef union group_0010_tag
37 {
38   char Pat_buf[LENGTH_GROUP_0010];			   /* fill-in */
39   acr_patient_t Pat;					   /* work area */
40 } group_0010_t;
41 
42 
43 
44 typedef union group_0011_tag
45 {
46   char Pat_buf[LENGTH_GROUP_0011];			   /* fill-in */
47   shadow_patient_t Pat;					   /* work area */
48 } group_0011_t;
49 
50 
51 
52 typedef union group_0013_tag
53 {
54   char PatMod_buf[LENGTH_GROUP_0013];			   /* fill-in */
55   shadow_patient_modify_t PatMod;			   /* work area */
56 } group_0013_t;
57 
58 
59 
60 typedef union group_0018_tag
61 {
62   char Acq_buf[LENGTH_GROUP_0018];			   /* fill-in */
63   acr_acquisition_t Acq;				   /* work area */
64 } group_0018_t;
65 
66 
67 
68 typedef union group_0019_part1_tag
69 {
70   char Acq1_buf[LENGTH_GROUP_0019_PART1];		   /* fill-in */
71   shadow_acquisition_cms_t CM;				   /* work area */
72 } group_0019_part1_t;
73 
74 typedef union group_0019_part2_tag
75 {
76   char Acq2_buf[LENGTH_GROUP_0019_PART2];		   /* fill-in */
77   shadow_acquisition_ct_t Ct;				   /* CT common work area */
78   shadow_acquisition_mr_t Mr;				   /* MR common work area */
79 } group_0019_part2_t;
80 
81 typedef union group_0019_part3_tag
82 {
83   char Acq3_buf[LENGTH_GROUP_0019_PART3];		   /* fill-in */
84   shadow_acquisition_ct_conf_t Ct;			   /* CT configuration work area */
85   shadow_acquisition_mr_conf_t Mr;			   /* MR configuration work area */
86 } group_0019_part3_t;
87 
88 typedef union group_0019_part4_tag
89 {
90   char Acq4_buf[LENGTH_GROUP_0019_PART4];		   /* fill-in */
91   shadow_acquisition_acq_t CM;				   /* work area */
92 } group_0019_part4_t;
93 
94 typedef struct group_0019_tag
95 {
96   group_0019_part1_t Acq1;				   /* CMS subgroup */
97   group_0019_part2_t Acq2;				   /* common subgroup */
98   group_0019_part3_t Acq3;				   /* config. and adjust subgroup */
99   group_0019_part4_t Acq4;				   /* acquisition subgroup */
100 } group_0019_t;
101 
102 
103 
104 typedef union group_0020_tag
105 {
106   char Rel_buf[LENGTH_GROUP_0020];			   /* fill-in */
107   acr_relationship_t Rel;				   /* work area */
108 } group_0020_t;
109 
110 
111 
112 typedef union group_0021_part1_tag
113 {
114   char Rel1_buf[LENGTH_GROUP_0021_PART1];		   /* fill-in */
115   shadow_relationship_med_cms_t CM;			   /* work area */
116 } group_0021_part1_t;
117 
118 typedef union group_0021_part2_tag
119 {
120   char Rel2_buf[LENGTH_GROUP_0021_PART2];		   /* fill-in */
121   shadow_relationship_ct_t Ct;				   /* CT common work area */
122   shadow_relationship_mr_t Mr;				   /* MR common work area */
123 } group_0021_part2_t;
124 
125 typedef union group_0021_part3_tag
126 {
127   char Rel2_buf[LENGTH_GROUP_0021_PART3];		   /* fill-in */
128   shadow_relationship_ct_spe_t Ct;			   /* CT special work area */
129   shadow_relationship_mr_spe_t Mr;			   /* MR special work area */
130 } group_0021_part3_t;
131 
132 typedef struct group_0021_tag
133 {
134   group_0021_part1_t Rel1;				   /* CMS subgroup */
135   group_0021_part2_t Rel2;				   /* common subgroup */
136   group_0021_part3_t Rel3;				   /* special subgroup */
137 } group_0021_t;
138 
139 
140 
141 typedef union group_0028_tag
142 {
143   char Pre_buf[LENGTH_GROUP_0028];			   /* fill-in */
144   acr_presentation_t Pre;				   /* work area */
145 } group_0028_t;
146 
147 
148 
149 typedef union group_0029_tag
150 {
151   char Pre_buf[LENGTH_GROUP_0029];			   /* fill-in */
152   shadow_presentation_t Pre;				   /* work area */
153 } group_0029_t;
154 
155 
156 
157 typedef union group_0051_tag
158 {
159   char Txt_buf[LENGTH_GROUP_0051];			   /* fill-in */
160   image_text_t Txt;					   /* work area */
161 } group_0051_t;
162 
163 
164 
165 typedef union fill_to_border_tag
166 {
167   char Fill_buf[LENGTH_TO_FILL_K_BORDER];		   /* fill-in */
168 } fill_to_border_t;
169 
170 
171 
172 
173 /*******************/
174 /* internal header */
175 /*******************/
176 
177 typedef struct header_tag
178 {
179   group_0008_t G08;					   /* Identifying Information */
180   group_0009_t G09;
181   group_0010_t G10;					   /* Patient Information */
182   group_0011_t G11;
183   group_0013_t G13;                                        /* Patient Modify Information */
184   group_0018_t G18;					   /* Acquisition Information */
185   group_0019_t G19;
186   group_0020_t G20;					   /* Relationship Information */
187   group_0021_t G21;
188   group_0028_t G28;					   /* Image Presentation Information */
189   group_0029_t G29;
190   group_0051_t G51;					   /* Image Text */
191 } header_t;
192 
193 #endif
194 
195 
196 /*==========================================================================================*/
197 
198 #ifdef DS_STC_TOOL
199 
200 char *_STC_HELP[] =
201 {
202 #include <ds_head_acr_groups_types.h>
203 #include <ds_head_shadow_groups_types.h>
204   0
205 };
206 
207 #endif
208