Code fragments of main.py

Graph

undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedmain.py import os None import os.path as osp import padme_conductor as pc from fhirpy import SyncFHIRClient from padme_conductor import Query from padme_conductor.Plugins.FHIR import FHIRClient def analysis(resources): # Search for Resource output = "" for items in resources: count = 0 for _ in items: count = count + 1 output += "Number of '{}': {} \n".format(resource, count) pc.log("Number of '{}': {}".format(resource, count)) logging pc.log("Done") return output ## Define (input) variables from Docker Container environment variables env = pc.get_environment_vars(["FHIR_SERVER", "FHIR_PORT"]) stationParameters fhir_server = env["FHIR_SERVER"] fhir_port = env["FHIR_PORT"] # Create an instance fhir_plugin = FHIRClient(f"http://{fhir_server}:{fhir_port}/fhir") resources = ["Patient", "Condition", "Observation", "Specimen"] q_results = [] for resource in resources: result = pc.query(Query(lambda client: client.resources(resource), fhir_plugin)) queryDatabase q_results.append(result) # Execute the analysis result = pc.execute_analysis(analysis, q_results) executeAnalysis # Save the Result to the train pc.save(result, "report.txt", append=True) saveResult