From 863a332652c2007c02e197a0cffe2c1756f2f0ec Mon Sep 17 00:00:00 2001 From: Adam Page Date: Fri, 17 Nov 2023 10:55:34 +0000 Subject: [PATCH] tweak url proefix detection / ignores --- .../QualityControlChecker.py | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/QualityControlChecker/QualityControlChecker.py b/QualityControlChecker/QualityControlChecker.py index be21d22..2ca0bb4 100644 --- a/QualityControlChecker/QualityControlChecker.py +++ b/QualityControlChecker/QualityControlChecker.py @@ -18,8 +18,8 @@ parentDir = os.path.basename(parent) '''Creates main variables for use with UKCore and NHSE assets''' -ukcoreVar = {'project':'UKCore','urlPrefix': 'https://fhir.hl7.org.uk/','codesystemPrefix':[],'org':'HL7 UK', 'email':'ukcore@hl7.org.uk'} -nhseVar = {'project':'England','urlPrefix': 'https://fhir.nhs.uk/England/', 'codesystemPrefix':['https://ord.nhs.uk/'],'org':'NHS England', 'email':'interoperabilityteam@nhs.net'} +ukcoreVar = {'project':'UKCore','urlPrefix': 'https://fhir.hl7.org.uk/','ignoreURLPrefix':['http://hl7.org/fhir/5.0/'],'org':'HL7 UK', 'email':'ukcore@hl7.org.uk'} +nhseVar = {'project':'England','urlPrefix': 'https://fhir.nhs.uk/England/', 'ignoreURLPrefix':['http://hl7.org/fhir/5.0/','https://ord.nhs.uk/'],'org':'NHS England', 'email':'interoperabilityteam@nhs.net'} mainVar = {} if 'ukcore' in parentDir.lower(): mainVar = ukcoreVar @@ -99,20 +99,17 @@ fileName = '-'.join(fileName.split('-')[1:]) if not fileName == elements['id']: warnings.append("\t\t"+elements['id']+" - the 'id' is incorrect") - if not elements['url'].startswith('http://hl7.org/fhir/5.0/'): #passes any R5 extensions + '''Check all url's unless they starts with one in the ignore list''' + uriCheck=True + for elem in mainVar['ignoreURLPrefix']: + if elements['url'].startswith(elem): + uriCheck=False + break + if uriCheck == True: if not fileName == elements['url'].split('/')[-1]: warnings.append("\t\t"+elements['url']+" - The 'url' element is incorrect") if not elements['url'].startswith(mainVar['urlPrefix']+assets[path]): - if path == 'codesystems': - uriCheck = False - for elem in mainVar['codesystemPrefix']: - if elements['url'].startswith(elem+assets[path]): - uriCheck = True - break - if uriCheck == False: - warnings.append("\t\t"+elements['url']+" - The 'url' element prefix is not one of :"+str(mainVar['urlPrefix'])+", "+", ".join(mainVar['codesystemPrefix'])) - else: - warnings.append("\t\t"+elements['url']+" - The 'url' element prefix is incorrect") + warnings.append("\t\t"+elements['url']+" - The 'url' element prefix is incorrect") if not ''.join(fileName.split('-')) == elements['name'].split('/')[-1]: warnings.append("\t\t"+elements['name']+" - The 'name' element is incorrect") if not fileName.replace('-','') == elements['title'].replace(' ',''):