1210 IF LEFT$(I$(M2),3) = "END" THEN M1 = 0:M2 = 0: POP : GOTO 290
1220 RETURN
1230 CALL 857: VTAB 8: FOR I = 1 TO 40: PRINT "*";: NEXT : PRINT : PRINT "NO INFORMATION HAS BEEN ENTERED FOR": PRINT "THIS PERSON YET. YOU MUST CHOOSE THE"
1240 HTAB 12: INVERSE : PRINT "<ENTER NEW DATA>": NORMAL : PRINT "OPTION FROM THE MAIN MENU": PRINT : FOR I = 1 TO 40: PRINT "*";: NEXT : POKE -16368,0: VTAB 20: PRINT "PRESS ANY KEY...";: GET X$: GOTO 290
1250 REM
1260 REM ** HEADER **
1270 REM
1280 INVERSE : HTAB 1: FOR I = 1 TO 37: PRINT "*";: NEXT
2170 IF ER = 1 THEN ER = 0: POP : GOSUB 1200: GOTO 2040
2180 RETURN
2190 N1% = N1% +1
2200 FL$ = I$(1) +"." +YR$
2210 FOR I = 1 TO 8
2220 M$(N1%,I) = I$(I): NEXT
2230 PRINT
2240 GOSUB 6020
2250 IF NF% = 1 THEN NF% = 0:N% = N% +1:FL$(N%) = FL$:FL$ = "HEADER" +"." +YR$: GOSUB 5860
2260 GOTO 1530: REM ENTER DATA MENU
2270 IF M2 = 1 THEN V = 5: GOTO 2290
2280 RETURN
2290 IF N% = 0 THEN C = 5: POP : GOTO 300: REM NO FILES--CREATE ONE
2300 FOR I = 1 TO N%: IF I$(1) = LEFT$(FL$(I), LEN(FL$(I)) -3) THEN PD = I:I = N%: NEXT :I = PD: GOTO 2400
2310 NEXT : IF M2 = 6 THEN 2350
2320 IF N% = 9 THEN 2620: REM TOO MANY FILES
2330 N1% = 0: REM RESET VALUE IF NEW FILE NAME
2340 IF M1 = 1 THEN NF% = 1: RETURN : REM SET NEW FILE FLAG
2350 VTAB V: HTAB H%(1): CALL -868: PRINT "** NAME NOT IN FILE **": CALL 65338: CALL 65338: FOR J = 1 TO 1500: NEXT J: VTAB V: HTAB H%(1)
2360 IF M2 = 7 THEN ER = 1: RETURN
2370 IF M1 = 5 THEN ER = 1: RETURN
2380 IF M2 = 6 THEN ER = 1: RETURN
2390 GOSUB 780: POP :I$(1) = "": GOTO 1720
2400 IF M2 < >1 THEN RETURN
2410 FL$ = I$(1) +"." +YR$: GOSUB 5930: RETURN : REM READ FILE AND CONTINUE INPUT
2420 RETURN
2430 REM
2440 REM ***************
2450 REM * *
2460 REM * VIEW FILES *
2470 REM * *
2480 REM ***************
2490 REM
2500 TEXT : CALL 857:M2 = 2: GOSUB 690: GOSUB 720
2510 IF N% = 0 THEN CALL 65338: CALL 65338: GOTO 2580
2520 FOR I = 1 TO N% STEP 2
2530 VTAB (22 -N%)/2 +I/2
2540 PRINT TAB( 5)I;") "; LEFT$(FL$(I), LEN(FL$(I)) -3); TAB( 26);: IF I <N% THEN PRINT I +1;") "; LEFT$(FL$(I +1), LEN(FL$(I +1)) -3)
2550 NEXT I
2560 IF CS < >2 THEN RETURN : REM OTHER ROUTINES
2570 GOSUB 1060: GOTO 290
2580 VTAB 8: FOR I = 1 TO 40: PRINT "*";: NEXT : PRINT : PRINT "NO PATIENT FILES HAVE BEEN CREATED.": PRINT "USE THE <";: INVERSE : PRINT "ENTER NEW DATA";: NORMAL : PRINT "> CHOICE FROM"
2590 PRINT "THE MAIN MENU": PRINT : FOR I = 1 TO 40: PRINT "*";: NEXT : POKE -16384,0: VTAB 23: PRINT "PRESS ANY KEY...";: GET X$: GOTO 290
2600 REM ** >9 PATIENTS **
2610 REM
2620 TEXT : HOME : VTAB 3: PRINT "* ";: FLASH : PRINT "WARNING";: NORMAL : PRINT "--MAXIMUM # OF PATIENT FILES *"
2630 VTAB 10: HTAB 1: PRINT "YOU MAY NOT HAVE MORE THAN 9 PATIENTS.": PRINT "YOU MUST USE ANOTHER DISK OR DELETE": PRINT "AN EXISTING PATIENT FILE IF YOU WISH TO": PRINT "CREATE A NEW FILE."
2640 CALL 65338: CALL 65338
2650 VTAB 23: HTAB 1: PRINT "PRESS ANY KEY TO RETURN TO MENU...";: GET X$: POKE -16368,0
6180 DATA " MAIN MENU-NIBBLE MEDIC ","ENTER NEW DATA","VIEW CURRENT PATIENT NAMES","SEARCH/SORT/EDIT RECORDS","EXPENDITURE TOTALS","CREATE NEW PATIENT FILE","DELETE EXISTING PATIENT FILE","CHANGE YEARS","EXIT PROGRAM"
6190 DATA "NAME OF PATIENT-","DATE OF TREATMENT (MM/DD)-","DR./CLINIC-","DIAGNOSIS-","COST OF TREATMENT-","PRESCRIPTION-","# OF REFILLS ALLOWED-","COST OF PRESCRIPTION-"
6200 DATA "EXAMINE/EDIT INDIVIDUAL RECORDS","SEARCH BY DATA FIELD","LIST PATIENT PRESCRIPTIONS","RETURN TO MAIN MENU"
6210 DATA "COST OF PRESCRIPTIONS","OUT-PATIENT COSTS","TOTALS FOR BOTH OF THE ABOVE","RETURN TO MAIN MENU"
6220 DATA "FOR A SINGLE PATIENT","FOR EVERY PATIENT"
6230 DATA 17,28,13,11,19,14,22,22
6240 DATA 11,5,25,27,7,24,1,6
6250 DATA "MAIN MENU--MEDICAL RECORDS"," ADD A RECORD "," EDIT A RECORD"
6260 CALL -3288: IF PEEK(222) = 5 AND LEFT$(FL$,6) = "HEADER" THEN 6280
6270 GOTO 6310
6280 PRINT D$;"WRITE";FL$: PRINT 0: REM N%
6290 PRINT D$;"CLOSE";FL$
6300 GOTO 160: REM RE-READ FILE
6310 CALL -3288: TEXT : HOME : CALL 65338: CALL 65338: VTAB 8: FOR I = 1 TO 40: PRINT "*";: NEXT : PRINT
6320 ER$ = ""
6330 IF PEEK(222) = 9 THEN ER$ = " DISK FULL ERROR ": GOTO 6410
6340 IF PEEK(222) = 8 THEN ER$ = " INPUT/OUTPUT ERROR-CHECK DRIVE DOOR ": GOTO 6410
6350 IF PEEK(222) = 6 THEN ER$ = " BINARY FILE NOT ON DISK ": GOTO 6420
6360 IF PEEK(222) = 4 THEN ER$ = " DISK WRITE-PROTECTED ": GOTO 6410
6370 IF PEEK(222) = 11 THEN ER$ = " SYNTAX ERROR ": GOTO 6390
6380 ER$ = "CHECK YOUR MANUAL FOR ERROR CODE": GOTO 6410
6390 HTAB (40 - LEN(ER$))/2: PRINT ER$: PRINT : PRINT "IN LINE "; PEEK(218) + PEEK(219) *256
6430 PRINT "PLEASE CORRECT THE CONDITION DESCRIBED": GOTO 6450
6440 PRINT "ERROR # "; PEEK(222);" IN LINE "; PEEK(218) + PEEK(219) *256
6450 PRINT : FOR I = 1 TO 40: PRINT "*";: NEXT
6460 PRINT : PRINT "PRESS ANY KEY TO CONTINUE";: GET X$: POKE -16368,0: TEXT : HOME
6470 IF M1 = 0 THEN TEXT : HOME : GOTO 290
6480 CS = PEEK(972): GOTO 510: REM BACK TO LAST CHOICE FROM MENU
6490 REM SCREEN DUMP
6500 GOTO 6520
6510 FOR F = P TO P +39:A = PEEK(F):A = A +(A <32) *192:A = A +(A <64) *128:A = A +(A <96) *64:A = A +(A <128) *64:A = A +(A <160) *64: PRINT CHR$(A);: NEXT F: PRINT : RETURN