def extract_member_name()

in functions/source/publish-call-metadata/lambda_function.py [0:0]


def extract_member_name(transcript):
    context = [i.lower() for i in ['patient\'s name', 'patient name', 'member\'s name', 'member name', 'your name', 'last name', 'date of birth']]
    punc = '''!-[]{};:\,<>./@#$%^&*_~'''
    for ele in punc:
        if ele in punc:
            transcript = transcript.replace(ele, '')
    lower = transcript.lower()
    
    b = list(filter(lambda k: lower.find(k) != -1, context))
    print(b)
    if b!= []:
        for j in range(len(b)):
            a = lower.find(b[j])
            seg = transcript[a:np.clip(a + 100, 0, len(transcript))]
            print('seg',seg)
            response = client.detect_entities(Text=seg,LanguageCode='en')
            names = list(filter(lambda x: x['Type'] == 'PERSON', response['Entities']))
            if names != []:
                return names[0]['Text']
                break
            else: return ''
    else:
        return ''