1#[derive(Debug, Clone, Copy)]
9pub enum VaccineProphylaxis {
10 Antigen,
11 MRNA,
12 Vaccine,
13}
14
15impl VaccineProphylaxis {
16 pub fn values(&self) -> (&str, &str, &str, &str, &str, &str) {
17 match *self {
18 VaccineProphylaxis::Antigen => (
19 "1119305005", "SARS-CoV-2 antigen vaccine", "SNOMED CT", "http://snomed.info/sct", "2.16.840.1.113883.6.96", "2021-01-31", ),
26 VaccineProphylaxis::MRNA => (
27 "1119349007", "SARS-CoV-2 mRNA vaccine", "SNOMED CT", "http://snomed.info/sct", "2.16.840.1.113883.6.96", "2021-01-31", ),
34 VaccineProphylaxis::Vaccine => (
35 "J07BX03", "covid-19 vaccines", "Anatomical Therapeutic Chemical Classification System", "http://www.whocc.no/atc", "2.16.840.1.113883.6.73", "2021-01", ),
42 }
43 }
44}
45
46#[derive(Debug, Clone, Copy)]
48pub enum VaccineMedicinalProduct {
49 Comirnaty,
50 Spikevax,
51 Vaxzevria,
52 COVID19VaccineJanssen,
53 CVnCoV,
54 NVXCoV2373,
55 SputnikV,
56 Convidecia,
57 EpiVacCorona,
58 BBIBPCorV,
59 InactivatedSARSCoV2,
60 VeroCell,
61 CoronaVac,
62 Covaxin,
63 BBV152ABC,
64 Covishield,
65 ChAdOx1nCoV19,
66 Covid19Recombinant,
67 RCOVI,
68 CoviVac,
69 SputnikLight,
70 HayatVax,
71 Abdala,
72 WIBPCorV,
73 MVCCOVID19Vaccine,
74 Nuvaxovid,
75}
76
77#[derive(Debug, Clone, Copy)]
78pub enum VaccineAuthorizationStatus {
79 CentrallyAuthorized,
81 InRollingReview,
83 NotAuthorized,
85}
86
87#[derive(Debug, Clone, Copy)]
88pub enum CodeSystemVersion {
89 V1_0,
90 V1_1,
91 V1_2,
92 V1_3,
93 V1_4,
94 V1_5,
95 V1_6,
96}
97
98impl VaccineMedicinalProduct {
99 pub fn values(
100 &self,
101 ) -> (
102 &str,
103 &str,
104 VaccineAuthorizationStatus,
105 Option<CodeSystemVersion>,
106 ) {
107 match *self {
108 VaccineMedicinalProduct::Comirnaty => (
109 "EU/1/20/1528",
110 "Comirnaty",
111 VaccineAuthorizationStatus::CentrallyAuthorized,
112 None,
113 ),
114 VaccineMedicinalProduct::Spikevax => (
115 "EU/1/20/1507",
116 "Spikevax",
117 VaccineAuthorizationStatus::CentrallyAuthorized,
118 None,
119 ),
120 VaccineMedicinalProduct::Vaxzevria => (
121 "EU/1/21/1529",
122 "Vaxzevria",
123 VaccineAuthorizationStatus::CentrallyAuthorized,
124 None,
125 ),
126 VaccineMedicinalProduct::COVID19VaccineJanssen => (
127 "EU/1/20/1525",
128 "COVID-19 Vaccine Janssen",
129 VaccineAuthorizationStatus::CentrallyAuthorized,
130 None,
131 ),
132 VaccineMedicinalProduct::CVnCoV => (
133 "CVnCoV",
134 "CVnCoV",
135 VaccineAuthorizationStatus::InRollingReview,
136 Some(CodeSystemVersion::V1_0),
137 ),
138 VaccineMedicinalProduct::NVXCoV2373 => (
139 "NVX-CoV2373 (deprecated,see Annex A for more instructions",
140 "NVX-CoV2373",
141 VaccineAuthorizationStatus::InRollingReview,
142 Some(CodeSystemVersion::V1_0),
143 ),
144 VaccineMedicinalProduct::SputnikV => (
145 "
146 Sputnik-V",
147 "Sputnik V",
148 VaccineAuthorizationStatus::InRollingReview,
149 Some(CodeSystemVersion::V1_0),
150 ),
151 VaccineMedicinalProduct::Convidecia => (
152 "Convidecia",
153 "Convidecia",
154 VaccineAuthorizationStatus::NotAuthorized,
155 Some(CodeSystemVersion::V1_0),
156 ),
157 VaccineMedicinalProduct::EpiVacCorona => (
158 "EpiVacCorona",
159 "EpiVacCorona",
160 VaccineAuthorizationStatus::NotAuthorized,
161 Some(CodeSystemVersion::V1_0),
162 ),
163 VaccineMedicinalProduct::BBIBPCorV => (
164 "BBIBP-CorV",
165 "BBIBP-CorV",
166 VaccineAuthorizationStatus::NotAuthorized,
167 Some(CodeSystemVersion::V1_0),
168 ),
169 VaccineMedicinalProduct::InactivatedSARSCoV2 | VaccineMedicinalProduct::VeroCell => (
170 "Inactivated-SARS-CoV-2-Vero-Cell (deprecated, see Annex A for more instructions)",
171 "Inactivated SARS-CoV-2 (Vero Cell)",
172 VaccineAuthorizationStatus::NotAuthorized,
173 Some(CodeSystemVersion::V1_0),
174 ),
175 VaccineMedicinalProduct::CoronaVac => (
176 "CoronaVac",
177 "CoronaVac",
178 VaccineAuthorizationStatus::NotAuthorized,
179 Some(CodeSystemVersion::V1_0),
180 ),
181 VaccineMedicinalProduct::Covaxin | VaccineMedicinalProduct::BBV152ABC => (
182 "Covaxin",
183 "Covaxin (also known as BBV152 A, B, C)",
184 VaccineAuthorizationStatus::NotAuthorized,
185 Some(CodeSystemVersion::V1_0),
186 ),
187 VaccineMedicinalProduct::Covishield | VaccineMedicinalProduct::ChAdOx1nCoV19 => (
188 "Covishield",
189 "Covishield (ChAdOx1_n CoV-19)",
190 VaccineAuthorizationStatus::NotAuthorized,
191 Some(CodeSystemVersion::V1_2),
192 ),
193 VaccineMedicinalProduct::Covid19Recombinant => (
194 "Covid-19-recombinant",
195 "Covid-19 (recombinant)",
196 VaccineAuthorizationStatus::NotAuthorized,
197 Some(CodeSystemVersion::V1_3),
198 ),
199 VaccineMedicinalProduct::RCOVI => (
200 "R-COVI",
201 "R-COVI",
202 VaccineAuthorizationStatus::NotAuthorized,
203 Some(CodeSystemVersion::V1_3),
204 ),
205 VaccineMedicinalProduct::CoviVac => (
206 "CoviVac",
207 "CoviVac",
208 VaccineAuthorizationStatus::NotAuthorized,
209 Some(CodeSystemVersion::V1_4),
210 ),
211 VaccineMedicinalProduct::SputnikLight => (
212 "Sputnik-Light",
213 "Sputnik Light",
214 VaccineAuthorizationStatus::NotAuthorized,
215 Some(CodeSystemVersion::V1_4),
216 ),
217 VaccineMedicinalProduct::HayatVax => (
218 "Hayat-Vax",
219 "Hayat-Vax",
220 VaccineAuthorizationStatus::NotAuthorized,
221 Some(CodeSystemVersion::V1_4),
222 ),
223 VaccineMedicinalProduct::Abdala => (
224 "Abdala",
225 "Abdala",
226 VaccineAuthorizationStatus::NotAuthorized,
227 Some(CodeSystemVersion::V1_5),
228 ),
229 VaccineMedicinalProduct::WIBPCorV => (
230 "WIBP-CorV",
231 "WIBP-CorV",
232 VaccineAuthorizationStatus::NotAuthorized,
233 Some(CodeSystemVersion::V1_5),
234 ),
235 VaccineMedicinalProduct::MVCCOVID19Vaccine => (
236 "MVC-COV1901",
237 "MVC COVID-19 vaccine",
238 VaccineAuthorizationStatus::NotAuthorized,
239 Some(CodeSystemVersion::V1_6),
240 ),
241 VaccineMedicinalProduct::Nuvaxovid => (
242 "EU/1/21/1618",
243 "Nuvaxovid",
244 VaccineAuthorizationStatus::CentrallyAuthorized,
245 None,
246 ),
247 }
248 }
249}
250
251#[derive(Debug, Clone, Copy)]
253pub enum ManufacturerInOMS {
254 Yes,
255 No,
256}
257
258#[derive(Debug, Clone, Copy)]
259pub enum Manufacturer {
260 AstraZeneca,
261 BiontechManufacturing,
262 JanssenCilagInternational,
263 ModernaBiotechSpain,
264 Curevac,
265 CanSinoBiologics,
266 ChinaSinopharm,
267 SinopharmWeiqidaPrague,
268 SinopharmZhijun,
269 Novavax,
270 GamaleyaResearchInstitute,
271 VectorInstitute,
272 SinovacBiotech,
273 BharatBiotech,
274 SerumInstituteOfIndia,
275 Fiocruz,
276 RPharmCJSC,
277 Chumakov,
278 GulfPharmaceutical,
279 CIGB,
280 SinopharmWuhan,
281 Medigen,
282}
283
284impl Manufacturer {
285 pub fn values(&self) -> (&str, &str, ManufacturerInOMS, Option<CodeSystemVersion>) {
286 match *self {
287 Manufacturer::AstraZeneca => (
288 "ORG-100001699",
289 "AstraZeneca AB",
290 ManufacturerInOMS::Yes,
291 None,
292 ),
293 Manufacturer::BiontechManufacturing => (
294 "ORG-100030215",
295 "Biontech Manufacturing GmbH",
296 ManufacturerInOMS::Yes,
297 None,
298 ),
299 Manufacturer::JanssenCilagInternational => (
300 "ORG-100001417",
301 "Janssen-Cilag International",
302 ManufacturerInOMS::Yes,
303 None,
304 ),
305 Manufacturer::ModernaBiotechSpain => (
306 "ORG-100031184",
307 "Moderna Biotech Spain S.L.",
308 ManufacturerInOMS::Yes,
309 None,
310 ),
311 Manufacturer::Curevac => (
312 "ORG-100006270",
313 "Curevac AG",
314 ManufacturerInOMS::Yes,
315 None,
316 ),
317 Manufacturer::CanSinoBiologics => (
318 "ORG-100013793",
319 "CanSino Biologics",
320 ManufacturerInOMS::Yes,
321 None,
322 ),
323 Manufacturer::ChinaSinopharm => (
324 "ORG-100020693",
325 "China Sinopharm International Corp. - Beijing location",
326 ManufacturerInOMS::Yes,
327 None,
328 ),
329 Manufacturer::SinopharmWeiqidaPrague => (
330 "ORG-100010771",
331 "Sinopharm Weiqida Europe Pharmaceutical s.r.o. - Prague location",
332 ManufacturerInOMS::Yes,
333 None,
334 ),
335 Manufacturer::SinopharmZhijun => (
336 "ORG-100024420",
337 "Sinopharm Zhijun (Shenzhen) Pharmaceutical Co. Ltd. - Shenzhen location",
338 ManufacturerInOMS::Yes,
339 None,
340 ),
341 Manufacturer::Novavax => (
342 "ORG-100032020",
343 "Novavax CZ a.s.",
344 ManufacturerInOMS::Yes,
345 None,
346 ),
347 Manufacturer::GamaleyaResearchInstitute => (
348 "Gamaleya-Research-Institute",
349 "Gamaleya Research Institute",
350 ManufacturerInOMS::No,
351 Some(CodeSystemVersion::V1_0),
352 ),
353 Manufacturer::VectorInstitute => (
354 "Vector-Institute",
355 "Vector Institute",
356 ManufacturerInOMS::No,
357 Some(CodeSystemVersion::V1_0),
358 ),
359 Manufacturer::SinovacBiotech => (
360 "Sinovac-Biotech",
361 "Sinovac Biotech",
362 ManufacturerInOMS::No,
363 Some(CodeSystemVersion::V1_0),
364 ),
365 Manufacturer::BharatBiotech => (
366 "Bharat-Biotech",
367 "Bharat Biotech",
368 ManufacturerInOMS::No,
369 Some(CodeSystemVersion::V1_0),
370 ),
371 Manufacturer::SerumInstituteOfIndia => (
372 "ORG-100001981",
373 "Serum Institute Of India Private Limited",
374 ManufacturerInOMS::Yes,
375 None,
376 ),
377 Manufacturer::Fiocruz => (
378 "Fiocruz",
379 "Fiocruz",
380 ManufacturerInOMS::No,
381 Some(CodeSystemVersion::V1_3),
382 ),
383 Manufacturer::RPharmCJSC => (
384 "ORG-100007893",
385 "R-Pharm CJSC",
386 ManufacturerInOMS::Yes,
387 None,
388 ),
389 Manufacturer::Chumakov => (
390 "Chumakov-Federal-Scientific-Center",
391 "Chumakov Federal Scientific Center for Research and Development of Immune-and-Biological Products",
392 ManufacturerInOMS::No,
393 Some(CodeSystemVersion::V1_4),
394 ),
395 Manufacturer::GulfPharmaceutical => (
396 "ORG-100023050",
397 "Gulf Pharmaceutical Industries",
398 ManufacturerInOMS::Yes,
399 None,
400 ),
401 Manufacturer::CIGB => (
402 "CIGB",
403 "Center for Genetic Engineering and Biotechnology (CIGB)",
404 ManufacturerInOMS::No,
405 Some(CodeSystemVersion::V1_5),
406 ),
407 Manufacturer::SinopharmWuhan => (
408 "Sinopharm-WIBP",
409 "Sinopharm - Wuhan Institute of Biological Products",
410 ManufacturerInOMS::No,
411 Some(CodeSystemVersion::V1_5),
412 ),
413 Manufacturer::Medigen => (
414 "ORG-100033914",
415 "Medigen Vaccine Biologics Corporation",
416 ManufacturerInOMS::Yes,
417 None,
418 ),
419 }
420 }
421}
422
423#[derive(Debug, PartialEq)]
425pub enum TestName {
426 NAAT { name: String }, RAT { device_id: String }, }