Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Orthopaedic Technology (Prosthetics and Orthotics) Register #2065

Closed
wants to merge 2 commits into from

Conversation

gabriel090
Copy link

Create Orthopaedic Technology (Prosthetics and Orthotics) Register MOH 420
The user should be able to generate and see the data recorded using Orthopaedic clinic form. The register should display the patient line list and provide the following information:

  • S/ No
  • Date (DD/MM/YY)
  • OP / IP No
  • Orthopaedic Technology
  • Patient No
  • Type of Visit - (N-New or R-Revisit
  • Referred From (1=CU, 2=From other facility, 3= Within ,4=Any Other)
  • Full Names (Three Names, Where Applicable).
  • Age in years
  • Sex (male, female or intersex )
  • County
  • Sub -County
  • Village/ Estate/ Landmark
  • Client/ Guardian Contacts
  • Occupation
  • Orthopaedic Diagnosis
  • Underlying Condition
  • Treatment / Intervention i.e Assessing, Counselling, Measurement taking, Fabrication, Fitting, AT training, Casting, PWD assessment & Categorization, Delivery,Referral and any other (specify).
  • Type of Assistive Technology (AT) Product.
  • CBR, Outreach /Mobile Clinic and Special Clinic
  • Payment Mode - Cash, Exemptions, Waiver, Insurance Cover
  • Amount Paid
  • Receipt Number
  • Referred to (1=CU, 2= To other facility, 3= Within, 4=Any Other)
  • Next Appointment Date

MOH 420 Orthopaedic Technology (Prosthetics and Orthotics) Register_Nov-2024.xls

@gabriel090 gabriel090 requested a review from patryllus November 27, 2024 05:41
Copy link

@njorocs njorocs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the issues. Attached a full populated report view and template in the PR.

@@ -94,7 +93,7 @@ protected DataSetDefinition datasetColumns() {



OPDDiagnosisDataDefinition opdDiagnosisDataDefinition = new OPDDiagnosisDataDefinition();
OrthoDiagnosisDataDefinition opdDiagnosisDataDefinition = new OrthoDiagnosisDataDefinition();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get an intuitive name for opdDiagnosisDataDefinition. opd is for outpatient

}

protected DataSetDefinition datasetColumns() {
EncounterDataSetDefinition dsd = new EncounterDataSetDefinition();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From your PR description, "The register should display the patient line list and provide the following information:..."
It looks like this is a Patient linelist and not encounter linelist. Confrim this

dsd.addColumn("Parent/Caregiver Telephone No", new PersonAttributeDataDefinition(phoneNumber), "");
dsd.addColumn("Visit Date", new EncounterDatetimeDataDefinition(),"", new DateConverter(ENC_DATE_FORMAT));
dsd.addColumn("OPD Number (New)", patientClinicNo, "");
dsd.addColumn("Occupation", new ObsForPersonDataDefinition("Occupation", TimeQualifier.LAST, Dictionary.getConcept(Dictionary.OCCUPATION), null, null), "", new ObsValueConverter());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get this from etl_patient_demographics

dsd.addColumn("Amount Paid", orthoAmountPaidDataDefinition, paramMapping);
dsd.addColumn("Payment Mode", orthoPaymentModeDataDefinition, paramMapping);
dsd.addColumn("Diagnosis",opdDiagnosisDataDefinition, paramMapping); //TODO: Add all diagnosis
dsd.addColumn("Next Appointment Date", new ObsForPersonDataDefinition("Next Appointment Date", TimeQualifier.LAST, Dictionary.getConcept(Dictionary.RETURN_VISIT_DATE), null, null), "", new ObsValueDatetimeConverter());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get this from etl table. Create the column in ddls, then get the date from kenyaemr_etl.etl_patient_appointment using the appropriate appointment_service_id to update the column in kenyaemr_etl.etl_orthopaedic_clinic_visit.

public EvaluatedEncounterData evaluate(EncounterDataDefinition definition, EvaluationContext context) throws EvaluationException {
EvaluatedEncounterData c = new EvaluatedEncounterData(definition, context);

String qry = "SELECT v.encounter_id, tp.amount AS amount\n" +
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this supposed to be the entire bill (assuming there were other services offered) or just the bill for ortho service?

public EvaluatedEncounterData evaluate(EncounterDataDefinition definition, EvaluationContext context) throws EvaluationException {
EvaluatedEncounterData c = new EvaluatedEncounterData(definition, context);

String qry = "select v.encounter_id,\n" +
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't return any values. Youi cave already transformed and concatenated the values in the etl.

EvaluatedEncounterData c = new EvaluatedEncounterData(definition, context);

String qry = "select v.encounter_id,\n" +
"(case v.intervention_given when 167004 then 'Assessing' when 2001239 then 'Counselling Delivery'\n" +
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't return any values. Youi cave already transformed and concatenated the values in the etl.

*
*/
@Handler(supports= OrthoUnderlyingConditionDataDefinition.class, order=50)
public class OrthoReceiptNumberDataEvaluator implements EncounterDataEvaluator {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class name and handler/query do not match

*
*/
@Handler(supports= OrthoReceiptNumberDataDefinition.class, order=50)
public class OrthoUnderlyingConditionDataEvaluator implements EncounterDataEvaluator {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class name, handler and query do not match.

@gabriel090 gabriel090 closed this Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants