Skip to content

Commit e6f1934

Browse files
committed
schema file setup
1 parent e82909b commit e6f1934

File tree

4 files changed

+216
-32
lines changed

4 files changed

+216
-32
lines changed

lambdas/shared/src/common/validator/constants/enums.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,18 @@ class ExceptionLevels(IntEnum):
4141

4242
MESSAGES = {
4343
ExceptionLevels.UNEXPECTED_EXCEPTION: "Unexpected exception [%s]: %s",
44-
ExceptionLevels.VALUE_CHECK_FAILED: "Value Check Failed [%s]: %s",
45-
ExceptionLevels.HEADER_CHECK_FAILED: "Header Check Failed [%s]: %s",
46-
ExceptionLevels.RECORD_LENGTH_CHECK_FAILED: "Record Length Check Failed [%s]: %s",
47-
ExceptionLevels.RECORD_CHECK_FAILED: "Record Check Failed [%s]: %s",
48-
ExceptionLevels.VALUE_PREDICATE_FALSE: "Value Predicate False [%s]: %s",
49-
ExceptionLevels.RECORD_PREDICATE_FALSE: "Record Predicate False [%s]: %s",
50-
ExceptionLevels.UNIQUE_CHECK_FAILED: "Unique Check Failed [%s]: %s",
51-
ExceptionLevels.ASSERT_CHECK_FAILED: "Assert Check Failed [%s]: %s",
52-
ExceptionLevels.FINALLY_ASSERT_CHECK_FAILED: "Finally Assert Check Failed [%s]: %s",
53-
ExceptionLevels.PARSING_ERROR: "Parsing Error [%s]: %s",
54-
ExceptionLevels.PARENT_FAILED: "Parent Failed [%s]: %s",
55-
ExceptionLevels.KEY_CHECK_FAILED: "Key Check Failed [%s]: %s",
44+
ExceptionLevels.VALUE_CHECK_FAILED: "Value Check Failed",
45+
ExceptionLevels.HEADER_CHECK_FAILED: "Header Check Failed",
46+
ExceptionLevels.RECORD_LENGTH_CHECK_FAILED: "Record Length Check Failed",
47+
ExceptionLevels.RECORD_CHECK_FAILED: "Record Check Failed",
48+
ExceptionLevels.VALUE_PREDICATE_FALSE: "Value Predicate False",
49+
ExceptionLevels.RECORD_PREDICATE_FALSE: "Record Predicate False",
50+
ExceptionLevels.UNIQUE_CHECK_FAILED: "Unique Check Failed",
51+
ExceptionLevels.ASSERT_CHECK_FAILED: "Assert Check Failed",
52+
ExceptionLevels.FINALLY_ASSERT_CHECK_FAILED: "Finally Assert Check Failed",
53+
ExceptionLevels.PARSING_ERROR: "Parsing Error",
54+
ExceptionLevels.PARENT_FAILED: "Parent Failed",
55+
ExceptionLevels.KEY_CHECK_FAILED: "Key Check Failed",
5656
}
5757

5858

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# all error Levels
2+
from enum import IntEnum
3+
4+
5+
class ErrorLevels(IntEnum):
6+
CRITICAL_ERROR = 0
7+
WARNING = 1
8+
NOTIFICATION = 2
9+
10+
11+
MESSAGES = {
12+
ErrorLevels.CRITICAL_ERROR: "Critical Validation Error [%s]: %s",
13+
ErrorLevels.WARNING: "Non-Critical Validation Error [%s]: %s",
14+
ErrorLevels.NOTIFICATION: "Quality Issue Found [%s]: %s",
15+
}

lambdas/shared/tests/test_common/validator/test_schemas/test_schema.json

Lines changed: 173 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,10 @@
8484
"errorGroup": "completeness"
8585
},
8686
{
87-
"expressionId": "EXP007",
87+
"expressionId": "01K8S0WRNSPQ42RBD8420Q9G7Y",
8888
"fieldNameFHIR": "occurrenceDateTime",
8989
"fieldNameFlat": "DATE_AND_TIME",
90-
"fieldNumber": 6,
90+
"fieldNumber": 7,
9191
"errorLevel": 0,
9292
"expression": {
9393
"expressionName": "Date Convert",
@@ -100,7 +100,7 @@
100100
"expressionId": "01K5EGR0C8M1MVNKTQCE6MSG68",
101101
"fieldNameFHIR": "performer|#:Organization|actor|identifier|value",
102102
"fieldNameFlat": "SITE_CODE",
103-
"fieldNumber": 7,
103+
"fieldNumber": 8,
104104
"errorLevel": 0,
105105
"expression": {
106106
"expressionName": "Organisation Look Up Check",
@@ -110,10 +110,10 @@
110110
"errorGroup": "consistency"
111111
},
112112
{
113-
"expressionId": "EXP009",
113+
"expressionId": "01K8S0X5AJ9048PAFEN3XVZ7YC",
114114
"fieldNameFHIR": "performer|#:Organization|actor|identifier|system",
115115
"fieldNameFlat": "SITE_CODE_TYPE_URI",
116-
"fieldNumber": 8,
116+
"fieldNumber": 9,
117117
"errorLevel": 1,
118118
"expression": {
119119
"expressionName": "Defaults to",
@@ -123,10 +123,10 @@
123123
"errorGroup": "consistency"
124124
},
125125
{
126-
"expressionId": "EXP010",
126+
"expressionId": "01K8S0XF2Y2WP22017N9KE6VJA",
127127
"fieldNameFHIR": "identifier|0|value",
128128
"fieldNameFlat": "UNIQUE_ID",
129-
"fieldNumber": 9,
129+
"fieldNumber": 10,
130130
"errorLevel": 0,
131131
"expression": {
132132
"expressionName": "Unique ID Not Empty Check",
@@ -136,10 +136,10 @@
136136
"errorGroup": "validity"
137137
},
138138
{
139-
"expressionId": "EXP011",
139+
"expressionId": "01K8S0XQYHDKMCA1P1GK4W5JHP",
140140
"fieldNameFHIR": "identifier|0|system",
141141
"fieldNameFlat": "UNIQUE_ID_URI",
142-
"fieldNumber": 10,
142+
"fieldNumber": 11,
143143
"errorLevel": 0,
144144
"expression": {
145145
"expressionName": "Unique ID URI Not Empty Check",
@@ -149,22 +149,23 @@
149149
"errorGroup": "validity"
150150
},
151151
{
152-
"expressionId": "EXP012",
152+
"expressionId": "01K8S0Y0TN3NZA6VBB3HM1PDR1",
153153
"fieldNameFHIR": "id",
154154
"fieldNameFlat": "ACTION_FLAG",
155-
"fieldNumber": 11,
155+
"fieldNumber": 12,
156156
"errorLevel": 1,
157157
"expression": {
158-
"expressionName": "Change To",
159-
"expressionType": "",
160-
"expressionRule": "NOTEMPTY"
158+
"expressionName": "Action Flag Not Empty Check",
159+
"expressionType": "NOTEMPTY",
160+
"expressionRule": ""
161161
},
162162
"errorGroup": "validity"
163163
},
164164
{
165165
"expressionId": "01K5EGR0C8SDQBTNCEP8TJNCCW",
166166
"fieldNameFHIR": "contained|#:Practitioner|name|0|given|0",
167167
"fieldNameFlat": "PERFORMING_PROFESSIONAL_FORENAME",
168+
"fieldNumber": 13,
168169
"errorLevel": 1,
169170
"expression": {
170171
"expressionName": "Practitioner Forename Not Empty Check",
@@ -174,9 +175,10 @@
174175
"errorGroup": "completeness"
175176
},
176177
{
177-
"expressionId": "01K5EGR0C822RC96QJRR2YX18S",
178+
"expressionId": "01K5EGR0C8T3Z6X6h3W7D1F4VY",
178179
"fieldNameFHIR": "contained|#:Practitioner|name|0|family",
179180
"fieldNameFlat": "PERFORMING_PROFESSIONAL_SURNAME",
181+
"fieldNumber": 14,
180182
"errorLevel": 1,
181183
"expression": {
182184
"expressionName": "Practitioner Surname Not Empty Check",
@@ -185,11 +187,25 @@
185187
},
186188
"errorGroup": "completeness"
187189
},
190+
{
191+
"expressionId": "01K8S0Y8TX8HTX6YGW61RDCATK",
192+
"fieldNameFHIR": "recorded",
193+
"fieldNameFlat": "RECORDED_DATE",
194+
"fieldNumber": 15,
195+
"errorLevel": 1,
196+
"expression": {
197+
"expressionName": "Recorded Date Convert",
198+
"expressionType": "DATECONVERT",
199+
"expressionRule": ""
200+
},
201+
"errorGroup": "consistency"
202+
},
188203
{
189204
"expressionId": "01K5EGR0C84CCDRR0VFSWQNFZP",
190205
"fieldNameFHIR": "primarySource",
191206
"fieldNameFlat": "PRIMARY_SOURCE",
192-
"errorLevel": 1,
207+
"fieldNumber": 16,
208+
"errorLevel": 0,
193209
"expression": {
194210
"expressionName": "Primary Source Not Empty Check",
195211
"expressionType": "NOTEMPTY",
@@ -198,9 +214,10 @@
198214
"errorGroup": "completeness"
199215
},
200216
{
201-
"expressionId": "01K5EGR0C8VCX8FX8A7ZV7MQ5J",
217+
"expressionId": "01K8S0YYGDFWJXN2W3THYG24EZ",
202218
"fieldNameFHIR": "extension|0|valueCodeableConcept|coding|0|code",
203219
"fieldNameFlat": "VACCINATION_PROCEDURE_CODE",
220+
"fieldNumber": 17,
204221
"errorLevel": 0,
205222
"expression": {
206223
"expressionName": "Procedure Code Not Empty Check",
@@ -213,6 +230,7 @@
213230
"expressionId": "01K5EGR0C85HY6MDNN6TTR1K48",
214231
"fieldNameFHIR": "extension|0|valueCodeableConcept|coding|0|display",
215232
"fieldNameFlat": "VACCINATION_PROCEDURE_TERM",
233+
"fieldNumber": 18,
216234
"errorLevel": 1,
217235
"expression": {
218236
"expressionName": "Procedure Term Not Empty Check",
@@ -225,6 +243,7 @@
225243
"expressionId": "01K5EGR0C84DDGW567G14AYBC6",
226244
"fieldNameFHIR": "protocolApplied|0|doseNumberPositiveInt",
227245
"fieldNameFlat": "DOSE_SEQUENCE",
246+
"fieldNumber": 19,
228247
"errorLevel": 1,
229248
"expression": {
230249
"expressionName": "Dose Sequence Not Empty Check",
@@ -237,6 +256,7 @@
237256
"expressionId": "01K5EGR0C8W3HXFYR80ENW73SS",
238257
"fieldNameFHIR": "vaccineCode|coding|#:http://snomed.info/sct|code",
239258
"fieldNameFlat": "VACCINE_PRODUCT_CODE",
259+
"fieldNumber": 20,
240260
"errorLevel": 0,
241261
"expression": {
242262
"expressionName": "Produce Code Not Empty Check",
@@ -249,6 +269,7 @@
249269
"expressionId": "01K5EGR0C885N7MMW2J5JKHTT2",
250270
"fieldNameFHIR": "vaccineCode|coding|#:http://snomed.info/sct|display",
251271
"fieldNameFlat": "VACCINE_PRODUCT_TERM",
272+
"fieldNumber": 21,
252273
"errorLevel": 1,
253274
"expression": {
254275
"expressionName": "Produce Term Not Empty Check",
@@ -261,6 +282,7 @@
261282
"expressionId": "01K5EGR0C86XN0AF0M9DJYFGCD",
262283
"fieldNameFHIR": "manufacturer|display",
263284
"fieldNameFlat": "VACCINE_MANUFACTURER",
285+
"fieldNumber": 22,
264286
"errorLevel": 0,
265287
"expression": {
266288
"expressionName": "Manufacturer Display Not Empty Check",
@@ -273,13 +295,147 @@
273295
"expressionId": "01K5EGR0C89M4CV68B7XAKDCHG",
274296
"fieldNameFHIR": "lotNumber",
275297
"fieldNameFlat": "BATCH_NUMBER",
298+
"fieldNumber": 23,
276299
"errorLevel": 0,
277300
"expression": {
278301
"expressionName": "Batch Number Not Empty Check",
279302
"expressionType": "NOTEMPTY",
280303
"expressionRule": ""
281304
},
282305
"errorGroup": "completeness"
306+
},
307+
{
308+
"expressionId": "01K8S2AG0CR7S28QB29XY14J71",
309+
"fieldNameFHIR": "expirationDate",
310+
"fieldNameFlat": "EXPIRY_DATE",
311+
"fieldNumber": 24,
312+
"errorLevel": 1,
313+
"expression": {
314+
"expressionName": "Date Convert",
315+
"expressionType": "NOTEMPTY",
316+
"expressionRule": ""
317+
},
318+
"errorGroup": "consistency"
319+
},
320+
{
321+
"expressionId": "01K8S2AS6TD0146EZN8ZDM9AGD",
322+
"fieldNameFHIR": "site|coding|#:http://snomed.info/sct|code",
323+
"fieldNameFlat": "SITE_OF_VACCINATION_CODE",
324+
"errorLevel": 0,
325+
"expression": {
326+
"expressionName": "Site of Vaccination Code Not Empty Check",
327+
"expressionType": "NOTEMPTY",
328+
"expressionRule": ""
329+
},
330+
"errorGroup": "completeness"
331+
},
332+
{
333+
"expressionId": "01K8S2AZQ7XXTTF2AF7ZMM609C",
334+
"fieldNameFHIR": "site|coding|#:http://snomed.info/sct|display",
335+
"fieldNameFlat": "SITE_OF_VACCINATION_TERM",
336+
"errorLevel": 1,
337+
"expression": {
338+
"expressionName": "Site of Vaccination Term Lookup Check",
339+
"expressionType": "NOTEMPTY",
340+
"expressionRule": ""
341+
},
342+
"errorGroup": "consistency"
343+
},
344+
{
345+
"expressionId": "01K8S2B78X58EB9XAZYX3M4VPP",
346+
"fieldNameFHIR": "route|coding|#:http://snomed.info/sct|code",
347+
"fieldNameFlat": "ROUTE_OF_VACCINATION_CODE",
348+
"errorLevel": 0,
349+
"expression": {
350+
"expressionName": "Route of Vaccination Code Not Empty Check",
351+
"expressionType": "NOTEMPTY",
352+
"expressionRule": ""
353+
},
354+
"errorGroup": "completeness"
355+
},
356+
{
357+
"expressionId": "01K8S2BEP9C9KHNJTKPP6SH1G0",
358+
"fieldNameFHIR": "route|coding|#:http://snomed.info/sct|display",
359+
"fieldNameFlat": "ROUTE_OF_VACCINATION_TERM",
360+
"errorLevel": 1,
361+
"expression": {
362+
"expressionName": "Route of Vaccination Term Lookup Check",
363+
"expressionType": "NOTEMPTY",
364+
"expressionRule": ""
365+
},
366+
"errorGroup": "consistency"
367+
},
368+
{
369+
"expressionId": "01K8S2BNT5MET8E29GBT83AP0P",
370+
"fieldNameFHIR": "doseQuantity|value",
371+
"fieldNameFlat": "DOSE_AMOUNT",
372+
"errorLevel": 1,
373+
"expression": {
374+
"expressionName": "Dose Amount Default Check",
375+
"expressionType": "NOTEMPTY",
376+
"expressionRule": ""
377+
},
378+
"errorGroup": "completeness"
379+
},
380+
{
381+
"expressionId": "01K8S2BY1S0TXETJY78H418XQG",
382+
"fieldNameFHIR": "doseQuantity|code",
383+
"fieldNameFlat": "DOSE_UNIT_CODE",
384+
"errorLevel": 1,
385+
"expression": {
386+
"expressionName": "Dose Unit Only If System Check",
387+
"expressionType": "NOTEMPTY",
388+
"expressionRule": ""
389+
},
390+
"errorGroup": "consistency"
391+
},
392+
{
393+
"expressionId": "01K8S2C3XTDW9RK9Y2FQ9YM5WJ",
394+
"fieldNameFHIR": "doseQuantity|unit",
395+
"fieldNameFlat": "DOSE_UNIT_TERM",
396+
"errorLevel": 0,
397+
"expression": {
398+
"expressionName": "Dose Unit Term Not Empty Check",
399+
"expressionType": "NOTEMPTY",
400+
"expressionRule": ""
401+
},
402+
"errorGroup": "completeness"
403+
},
404+
{
405+
"expressionId": "01K8S2CANK2PFNDANX3D04W2NR",
406+
"fieldNameFHIR": "reasonCode|#:http://snomed.info/sct|coding|#:http://snomed.info/sct|code",
407+
"fieldNameFlat": "INDICATION_CODE",
408+
"errorLevel": 0,
409+
"expression": {
410+
"expressionName": "Indication Code Not Empty Check",
411+
"expressionType": "NOTEMPTY",
412+
"expressionRule": ""
413+
},
414+
"errorGroup": "completeness"
415+
},
416+
{
417+
"expressionId": "01K8S2CKK8FCVJ6049EW5G563P",
418+
"fieldNameFHIR": "location|identifier|value",
419+
"fieldNameFlat": "LOCATION_CODE",
420+
"errorLevel": 1,
421+
"expression": {
422+
"expressionName": "Location Code Default Check",
423+
"expressionType": "NOTEMPTY",
424+
"expressionRule": ""
425+
},
426+
"errorGroup": "consistency"
427+
},
428+
{
429+
"expressionId": "01K8S2CSWYXJ5WDS7K59A045JR",
430+
"fieldNameFHIR": "location|identifier|system",
431+
"fieldNameFlat": "LOCATION_CODE_TYPE_URI",
432+
"errorLevel": 1,
433+
"expression": {
434+
"expressionName": "Location Code Type URI Default Check",
435+
"expressionType": "DEFAULT",
436+
"expressionRule": ""
437+
},
438+
"errorGroup": "consistency"
283439
}
284440
]
285441
}

0 commit comments

Comments
 (0)