def create_narr(): # don't worry about which patient we chose, just be consistent cmd = "select pk_episode, pk_encounter from v_pat_narrative limit 1" data = gmPG.run_ro_query('historica', cmd) narr = gmClinNarrative.create_narrative_item(narrative=magic_string, soap_cat='s', episode_id=data[0][0], encounter_id=data[0][1]) return narr
def find_narr(): cmd = "select pk from clin_narrative where narrative = %s limit 1" data = gmPG.run_ro_query ( 'clinical', cmd, None, magic_string ) if len(data) == 0: return create_narr() return gmClinNarrative.cNarrative(aPK_obj=data[0][0])
def create_narr(): # don't worry about which patient we chose, just be consistent cmd = "select pk_episode, pk_encounter from v_pat_narrative limit 1" data = gmPG.run_ro_query('historica', cmd) narr = gmClinNarrative.create_narrative_item ( narrative = magic_string, soap_cat = 's', episode_id = data[0][0], encounter_id = data[0][1] ) return narr
def find_narr(): cmd = "select pk from clin_narrative where narrative = %s limit 1" data = gmPG.run_ro_query('clinical', cmd, None, magic_string) if len(data) == 0: return create_narr() return gmClinNarrative.cNarrative(aPK_obj=data[0][0])
emr = pat.emr epi = emr.get_episodes()[0] print "creating new narrative row" note = emr.add_clin_narrative ( note = 'testing concurrency detection: %s' % time.time(), episode = epi ) print "primary key:", note['pk_narrative'] print "xmin before change:", note['xmin_clin_narrative'] print "waiting for narrative row (xmin) to change" print "manually update the clin_narrative row with pk=<%s> in the database now" % note['pk_narrative'] cmd = "select xmin from clin_narrative where pk=%s" while 1: data = gmPG.run_ro_query('historica', cmd, None, note['pk_narrative']) if data[0][0] != note['xmin_clin_narrative']: break print "narrative row (xmin) changed" print "xmin after change:", data[0][0] print "provoking concurrency triggered integrity violation" note['narrative'] = 'cannot change note to this line' successful, data = note.save_payload() if successful: sys.exit() err, msg = data if err == 2:
schedule_template = """ Schedule "%s" (%s) indication : %s (%s) start @ age: %s days # of shots : %s comment : %s """ #=========================== # export vaccine information #=========================== # retrieve vaccines cmd = "select * from clin.v_vaccine" vaccine_rows, idx = gmPG.run_ro_query(link_obj='clinical', aQuery=cmd, get_col_idx=True) # error if vaccine_rows is None: print("error retrieving vaccine data") # display vaccine data else: f.write('Vaccines in the GNUmed database\n') f.write('-------------------------------\n') for vacc in vaccine_rows: f.write( vaccine_template % (vacc[idx['trade_name']], vacc[idx['short_name']], vacc[idx['comment']], vacc[idx['l10n_route_description']], vacc[idx['route_abbreviation']], vacc[idx['route_description']], vacc[idx['min_age']].day, vacc[idx['max_age']].day))
emr = pat.get_emr() epi = emr.get_episodes()[0] print "creating new narrative row" note = emr.add_clin_narrative ( note = 'testing concurrency detection: %s' % time.time(), episode = epi ) print "primary key:", note['pk_narrative'] print "xmin before change:", note['xmin_clin_narrative'] print "waiting for narrative row (xmin) to change" print "manually update the clin_narrative row with pk=<%s> in the database now" % note['pk_narrative'] cmd = "select xmin from clin_narrative where pk=%s" while 1: data = gmPG.run_ro_query('historica', cmd, None, note['pk_narrative']) if data[0][0] != note['xmin_clin_narrative']: break print "narrative row (xmin) changed" print "xmin after change:", data[0][0] print "provoking concurrency triggered integrity violation" note['narrative'] = 'cannot change note to this line' successful, data = note.save_payload() if successful: sys.exit() err, msg = data if err == 2:
Schedule "%s" (%s) indication : %s (%s) start @ age: %s days # of shots : %s comment : %s """ #=========================== # export vaccine information #=========================== # retrieve vaccines cmd = "select * from clin.v_vaccine" vaccine_rows, idx = gmPG.run_ro_query ( link_obj = 'clinical', aQuery = cmd, get_col_idx = True ) # error if vaccine_rows is None: print "error retrieving vaccine data" # display vaccine data else: f.write('Vaccines in the GNUmed database\n') f.write('-------------------------------\n') for vacc in vaccine_rows: f.write(vaccine_template % ( vacc[idx['trade_name']], vacc[idx['short_name']], vacc[idx['comment']], vacc[idx['l10n_route_description']],