-
-
Showcase of a table of randomly-generated prescriptions with unique attributes.
-
Showcase of the editing screen, which lets you change the visual and syntactical attributes of a chosen prescription.
-
Error message that pops up in the case of a NumberFormatException from an invalid input such as "Hello!" into the copay TextField.
-
Showcase of what happens when closing the window. This was added as a warning incase the user had not yet saved.
Inspiration
We were inspired by electronic prescribing programs like Micromerchant's PrimeRX software and PKSoftware. We thought the foundations looked like a good challenge to take on building together!
What it does
Our software was made for all ages. For children, they could use it to learn about various drug names, prices, and usages. Along with this, they can understand the relationship between ingredient cost, copay, and amount due. For adults or pharmacists, they could use our software as a rough simulation for what to expect before purchasing a multi-hundred dollar professionally-made electronic prescribing software. Our software is only a simulation for now, but we can definitely see it becoming a real thing in the future, as we have a very strong foundation!
How we built it
We built this software using the Java programming language, and the 2D JavaFX libraries. We had never utilized the 2D JavaFX libraries, so it was definitely difficult learning all the methods and capabilities of it. Surprisingly, JavaFX had a lot of components we were looking for which made our work time a lot more fluid, such as scrollboxes, gridpanes, buttons, and much more!
Challenges we ran into
One of the biggest problems that took us a while to solve was the instance that the user might type in a non-parsable String into a Textfield. For example, if the Copay were changed from "20.32" to "Hello!", then a NumberFormatException would be thrown when trying to save the changes to the prescription. To solve this, we used a try/catch block to catch the NumberFormatException, and researched to find out about the initModality method, which allowed us to create an error box that told the user that there were one or more boxes filled out incorrectly. Additionally, that error box didn't allow the user to interact with other screens until it was closed, which was an extremely useful functionality for us!
Accomplishments that we're proud of
We are extremely proud of how the overall software turned out. We didn't expect to get further than a list of prescription details, but we were able to take JavaFX 2D to the limit and create an entire prescription editing screen. We are also proud of our usage of Math.random and arrays to generate random patients, prescribers, and phone numbers! It was a lot of fun coming up with generic names and even phone number area codes that could make our program more realistic! To add on, we even researched many prescription and OTC medicine so we could accurately instantiate drug prices, SIG (instructions), and NDC (national drug code) numbers to make our code relevant to the actual world we live in, and to be understood by actual pharmacists!
What we learned
Overall, we gained proficiency in JavaFX 2D libraries, we further improved our organization using object-oriented programming, and got a much better understanding of once-foreign topics to us, such as NumberFormat, try/catch, ActionEvents, and even real-world knowledge such as drug names, ndc numbers, drug prices, drug usages, prescription drugs, otc drugs, and so much more!
What's next for Steel City RX Software
Our project is a prototype that runs through an IDE, so it is currently at best a simulation. However, I am confident that if we put in the time, we can definitely get this software up and running on a server that would allow prescribers to send pharmacists their electronic prescriptions through the click of a button! The amount of time electronic prescription softwares can help pharmacies save, along with our straight-to-the-point software makes me feel that if we were to make our software truly take off, we could certainly go places. (With a lot of program additions, of course!)

Log in or sign up for Devpost to join the conversation.