Size of one index record:
\[
12 + 7 = 19 \text{ bytes}
\]
Number of index records:
\[
150{,}000
\]
Total size of index file:
\[
150{,}000 \times 19 = 2{,}850{,}000 \text{ bytes}
\]
Block size:
\[
4096 \text{ bytes}
\]
Number of blocks required:
\[
\frac{2{,}850{,}000}{4096} \approx 695.8
\]
Rounding up (since records cannot be split across blocks):
\[
698
\]
Final Answer:
\[
\boxed{698}
\]