From 6d2a7818dbfc2008df5c2d57e737e2f2625a7d70 Mon Sep 17 00:00:00 2001 From: inportb Date: Wed, 10 Apr 2024 21:29:18 -0400 Subject: [PATCH] Fix error handling empty progress note ranges --- ext_note.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ext_note.py b/ext_note.py index a2a4bc1..963edb4 100644 --- a/ext_note.py +++ b/ext_note.py @@ -31,15 +31,24 @@ async def cmd_reports(proc, mrn, alpha, omega): proc.sendline(util.vista_strftime(omega)) assert await expect.endswith('\r\n Thru: ') proc.sendline(util.vista_strftime(alpha)) - assert await expect.endswith('\r\nDo you want WORK copies or CHART copies? CHART// ') - proc.sendline() # default CHART - if await expect.endswith('\r\nDo you want to start each note on a new page? NO// '): - proc.sendline() # default NO - assert await expect.endswith('\r\nDEVICE: HOME// ') - proc.sendline('HOME;;1023') - assert await expect.earliest(' HOME(CRT)\r\n') + found = True + match await expect.endswith('\r\nDo you want WORK copies or CHART copies? CHART// ', '\r\nPrint Notes Beginning: '): + case autoproc.ExpectMatch(index=0): + proc.sendline() # default CHART + if await expect.endswith('\r\nDo you want to start each note on a new page? NO// '): + proc.sendline() # default NO + assert await expect.endswith('\r\nDEVICE: HOME// ') + proc.sendline('HOME;;1023') + assert await expect.earliest(' HOME(CRT)\r\n') + case autoproc.ExpectMatch(index=1): + proc.sendline('^') + assert await expect.endswith('\r\nSelect PATIENT NAME: ') + proc.sendline('^') + assert await expect.endswith('\r\nSelect Progress Notes Print Options Option: ') + found = False + case _: assert False pages = [] - while True: + while found: match m_delimiter := await expect.endswith('\r\nType to continue or \'^\' to exit: ', '\r\nSelect PATIENT NAME: '): case autoproc.ExpectMatch(index=0, before=before): if isnew(before) and len(pages) > 0: