@@ -531,9 +531,9 @@ def _has_valid_extensions(self, extensions, i):
531531 content_retrieval_count = 0
532532
533533 for extension in extensions :
534- if "ContentStability " in str (extension ):
534+ if "contentstability " in str (extension ). lower ( ):
535535 content_stability_count += 1
536- elif "RetrievalMechanism " in str (extension ):
536+ elif "retrievalmechanism " in str (extension ). lower ( ):
537537 content_retrieval_count += 1
538538
539539 if content_stability_count != 1 :
@@ -555,10 +555,10 @@ def _has_valid_extensions(self, extensions, i):
555555 return False
556556
557557 for j , extension in enumerate (extensions ):
558- if "ContentStability " in str (extension ):
558+ if "contentstability " in str (extension ). lower ( ):
559559 if not self ._validate_content_stability_extension (extension , i , j ):
560560 return False
561- elif "RetrievalMechanism " in str (extension ):
561+ elif "retrievalmechanism " in str (extension ). lower ( ):
562562 if not self ._validate_retrieval_mechanism_extension (extension , i , j ):
563563 return False
564564
@@ -590,13 +590,12 @@ def _validate_retrieval_mechanism_extension(self, extension, i, j):
590590 try :
591591 RetrievalMechanismExtension .model_validate (extension .model_dump ())
592592 except ValidationError as exc :
593- for error in exc .errors ():
594- error ["loc" ] = ("content" , i , "extension" , j ) + error ["loc" ]
595593 raise ParseError .from_validation_error (
596594 exc ,
597595 details = SpineErrorConcept .from_code ("BAD_REQUEST" ),
598596 msg = "Invalid content retrieval extension" ,
599597 value_set = "https://fhir.nhs.uk/England/ValueSet/England-RetrievalMechanism" ,
598+ root_location = ("content" , i , "extension" , j ),
600599 ) from None
601600 coding = extension .valueCodeableConcept .coding [0 ]
602601 expected_retrieval_display = CONTENT_RETRIEVAL_CODE_MAP .get (coding .code )
0 commit comments