Skip to content

Commit

Permalink
chore: refactor service request to include extended facility details
Browse files Browse the repository at this point in the history
  • Loading branch information
Salaton committed Mar 25, 2024
1 parent 8b4f9b9 commit e58111c
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 5 deletions.
30 changes: 27 additions & 3 deletions pkg/clinical/usecases/clinical/servicerequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ func (c *UseCasesClinicalImpl) ReferPatient(
return nil, fmt.Errorf("cannot record a referral in a finished encounter")
}

patientID := encounter.Resource.Subject.ID
patientReference := fmt.Sprintf("Patient/%s", *patientID)

patientReference := fmt.Sprintf("Patient/%s", *encounter.Resource.Subject.ID)
encounterReference := fmt.Sprintf("Encounter/%s", *encounter.Resource.ID)
startTime := scalarutils.DateTime(time.Now().Format("2006-01-02T15:04:05+03:00"))

Expand All @@ -60,6 +58,32 @@ func (c *UseCasesClinicalImpl) ReferPatient(
},
}

if input.Facility != "" {
facilityExtension := &domain.FHIRExtension{
URL: "http://savannahghi.org/fhir/StructureDefinition/referred-facility",
Extension: []domain.Extension{
{
URL: "facilityName",
ValueString: input.Facility,
},
},
}
serviceRequest.Extension = append(serviceRequest.Extension, facilityExtension)
}

if input.Specialist != "" {
specialistExtension := &domain.FHIRExtension{
URL: "http://savannahghi.org/fhir/StructureDefinition/referred-specialist",
Extension: []domain.Extension{
{
URL: "specialistName",
ValueString: input.Specialist,
},
},
}
serviceRequest.Extension = append(serviceRequest.Extension, specialistExtension)
}

tags, err := c.GetTenantMetaTags(ctx)
if err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions pkg/clinical/usecases/clinical/servicerequest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ func TestUseCasesClinicalImpl_ReferPatient(t *testing.T) {
EncounterID: gofakeit.UUID(),
ReferralType: "DIAGNOSTICS",
Tests: []string{"VIA"},
Specialist: "",
Facility: "",
Specialist: "Oncologist",
Facility: "KNH",
ReferralNote: "",
},
},
Expand Down

0 comments on commit e58111c

Please sign in to comment.