@@ -598,6 +598,45 @@ def test_validate_category_coding_invalid_system():
598598 "expression" : ["category[0].coding[0].system" ],
599599 }
600600
601+ def test_validate_content_extension_too_many_extensions ():
602+ validator = DocumentReferenceValidator ()
603+ document_ref_data = load_document_reference_json ("Y05868-736253002-Valid" )
604+
605+ document_ref_data ["content" ][0 ]["extension" ].append (
606+ {
607+ "url" : "https://fhir.nhs.uk/England/StructureDefinition/Extension-England-ContentStability" ,
608+ "valueCodeableConcept" : {
609+ "coding" : [
610+ {
611+ "system" : "https://fhir.nhs.uk/England/CodeSystem/England-NRLContentStability" ,
612+ "code" : "static" ,
613+ "display" : "static" ,
614+ }
615+ ]
616+ },
617+ }
618+ )
619+
620+ result = validator .validate (document_ref_data )
621+
622+ assert result .is_valid is False
623+ assert result .resource .id == "Y05868-99999-99999-999999"
624+ assert len (result .issues ) == 1
625+ assert result .issues [0 ].model_dump (exclude_none = True ) == {
626+ "severity" : "error" ,
627+ "code" : "invalid" ,
628+ "details" : {
629+ "coding" : [
630+ {
631+ "system" : "https://fhir.nhs.uk/ValueSet/Spine-ErrorOrWarningCode-1" ,
632+ "code" : "INVALID_RESOURCE" ,
633+ "display" : "Invalid validation of resource" ,
634+ }
635+ ]
636+ },
637+ "diagnostics" : "Invalid content extension length: 2 Extension must only contain a single value" ,
638+ "expression" : ["content[0].extension" ],
639+ }
601640
602641def test_validate_author_too_many_authors ():
603642 validator = DocumentReferenceValidator ()
0 commit comments