def _test_to_json(fp): """Verify CCDA document can be converted to a JSON.""" ccda_doc = ccda.CcdaDocument(fp) json_message = ccda_doc.to_json() #self.assertTrue(json_message, "JSON is not successfully created") # TODO: Implement stronger test. Verify generated message against testdata. JSON_file = json.loads(json_message) # string complete_JSON to JSON file for elements in JSON_file: # Each elements under json file, such as 'medication', 'vitals', 'labs' e.t.c if elements in ['vitals']: msg = "\n---Testing for " + elements + " from file " + str( fp.name) + "---" logging.info(msg) for entry in range( len(JSON_file[elements]) ): # An entry is a dictionary from a list of entries (dictionaries) for elements for key in JSON_file[elements][ entry]: # Key value is a name for each <name:value> in an entry global vital_code vital_code = None if type(JSON_file[elements][entry][key]) == dict: verify_dict_entry(key, JSON_file[elements][entry], JSON_file[elements][entry][key]) elif type(JSON_file[elements][entry][key]) == list: verify_list_entry(key, JSON_file[elements][entry], JSON_file[elements][entry][key]) else: if JSON_file[elements][entry][key] in ['', ' ', None]: logging.error( "Value for field: [%s] under <%s> ~ for value type %s", key, JSON_file[elements][entry], type(JSON_file[elements][entry][key]))
def _test_to_json(fp): """Verify CCDA document can be converted to a JSON.""" ccda_doc = ccda.CcdaDocument(fp) json_message = ccda_doc.to_json() #self.assertTrue(json_message, "JSON is not successfully created") # TODO: Implement stronger test. Verify generated message against testdata. JSON_file = json.loads(json_message) # string complete_JSON to JSON file for elements in JSON_file: # Each elements under json file, such as 'medication', 'vitals', 'labs' e.t.c if elements in ['allergies']: msg = "\n---Testing for " + elements + " from file " + str( fp.name) + "---" logging.info(msg) for entry in range( len(JSON_file[elements]) ): # An entry is a dictionary from a list of entries (dictionaries) for elements ''' { JSON_file['allergies'][0] = "reaction": {"code_system_name": "SNOMED CT", "code": "422587007", "name": "Nausea (finding)","code_system": "2.16.840.1.113883.6.96"}, "code": {"code_system_name": "RxNorm", "code": "2670", "name": "Codeine","code_system": "2.16.840.1.113883.6.88"}, "severity": {"code_system_name": "SNOMED CT", "code": "6736007", "name": "", "code_system": "2.16.840.1.113883.6.96"} } ''' for key in JSON_file[elements][ entry]: # Key value is a name for each <name:value> in an entry ''' key is "reaction" or "code" or "severity" JSON_file['allergies'][0]["reaction"] ={"code_system_name": "SNOMED CT", "code": "422587007", "name": "Nausea (finding)","code_system": "2.16.840.1.113883.6.96"} ''' if type(JSON_file[elements][entry][key]) == dict: verify_dict_entry(key, JSON_file[elements][entry], JSON_file[elements][entry][key]) '''elif type(JSON_file[elements][entry][key]) == list:
def _test_to_message(self, fp): """Verify CCDA document can be converted to a ProtoRPC message.""" ccda_doc = ccda.CcdaDocument(fp) ccda_message = ccda_doc.to_message() self.assertTrue(ccda_message)
def _test_to_csv(self, fp): """Verify CCDA document can be converted to a CSV file.""" ccda_doc = ccda.CcdaDocument(fp) ccda_csv = ccda_doc.to_csv() self.assertTrue(ccda_csv)
def _test_to_json(fp): """Verify CCDA document can be converted to a JSON.""" ccda_doc = ccda.CcdaDocument(fp) json_message = ccda_doc.to_json() #self.assertTrue(json_message, "JSON is not successfully created") # TODO: Implement stronger test. Verify generated message against testdata. JSON_file = json.loads(json_message) # string complete_JSON to JSON file for elements in JSON_file: # Each elements under json file, such as 'medication', 'vitals', 'labs' e.t.c if elements in [ 'medications', 'immunizations', 'problems', 'labs', 'procedures' ]: msg = "\n---Testing for " + elements + " from file " + str( fp.name) + "---" logging.info(msg) for entry in range( len(JSON_file[elements]) ): # An entry is a dictionary from a list of entries (dictionaries) for elements ''' JSON_file['medications'][0] = { "date_range": {}, "product": { "code": {"code": "311041", "name": "Insulin Glargine 100 UNT/ML Injectable Solution", "code_system": "2.16.840.1.113883.6.88"} }, "dose_quantity": {"unit": "1", "value": "30.0"} } JSON_file['labs'][0] = { {"code": {"code": ""}, "results": [{"date": "2013-01-24T13:12:12","code": {"code": "718-7", "name": "Hgb Bld-mCnc", "code_system": "2.16.840.1.113883.6.1"}, "unit": "g/dL", "value": "15.0"}] } ''' for key in JSON_file[elements][ entry]: # Key value is a name for each <name:value> in an entry ''' key is "product" or "date_range" or "severity" JSON_file['medications'][0]["product"] = {"code": {"code": "311041", "name": "Insulin Glargine 100 UNT/ML Injectable Solution", "code_system": "2.16.840.1.113883.6.88"}} OR key is "code" or "results" JSON_file['labs'][0]["results"] = [{"date": "2013-01-24T13:12:12", "code": {"code": "718-7", "name": "Hgb Bld-mCnc", "code_system": "2.16.840.1.113883.6.1"}, "unit": "g/dL", "value": "15.0"}] JSON_file['labs'][0]["code"] = {"code": ""} ''' if type(JSON_file[elements][entry][key]) == dict: ''' elements like : 'medications' or 'immunizations' or 'problems' or 'procedures']''' verify_dict_entry(elements, key, JSON_file[elements][entry], JSON_file[elements][entry][key]) elif type(JSON_file[elements][entry][key]) == list: ''' elements like : 'labs' ''' verify_list_entry(elements, key, JSON_file[elements][entry], JSON_file[elements][entry][key]) ''' key is "code" or "results" '''