mucadele-cs319 / BilHealth

CS 319 Project - Health Center Management
GNU General Public License v3.0
4 stars 0 forks source link

Insurance service integration #40

Open vedxyz opened 2 years ago

vedxyz commented 2 years ago

The insurance integration for health center management software is not as fancy as it sounds, see the two sources below:

After a patient receives medical services, this system processes the patient's treatment record and submits it to the patient's insurance company to facilitate the payment process. Source

Insurance service integration allows patients to submit their insurance online before visiting a doctor. With the help of an integrated module, the software would be able to record and store the patients’ insurance information: policy number insurance company *any additional information about policies Source

I am guessing the university health center follows a similar flow. In which case, this integration can be implemented into BilHealth through these two functional requirements:

The former is already a requirement of BilHealth, albeit being unimplemented so far: #28. The latter requires that we create an InsuranceDetails table/model, which will be embedded into the existing Patient model. Similar to our DomainUser class, we might want to split the InsuranceDetails class into multiple classes like StudentInsuranceDetails, ExternalInsuranceDetails, etc.

Pursuing an insurance integration further than this would venture into the domain of accounting software, which is not essential for this project in my opinion. We should explicitly assume in our analysis report that the health center will use dedicated accounting software.

vedxyz commented 2 years ago

If anyone wants to implement this, it'll be pretty much identical to the DomainUser situation as far as the models go: Abstract main class, inherited by the various insurance types. There should be a new service method within ProfileService that deals with updating the insurance details of a patient user. This service should be exposed through the ProfileController. Later on, the frontend will need an update to allow a staff member to change insurance details.