Skip to content

Commit

Permalink
Richa | Add Document Reference to wellness record (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
RichaAklNha authored Apr 28, 2021
1 parent 93fc781 commit 29882bc
Showing 1 changed file with 26 additions and 14 deletions.
40 changes: 26 additions & 14 deletions src/main/java/in/projecteka/utils/data/WellnessRecordGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.hl7.fhir.r4.model.Bundle;
import org.hl7.fhir.r4.model.CodeableConcept;
import org.hl7.fhir.r4.model.Composition;
import org.hl7.fhir.r4.model.DocumentReference;
import org.hl7.fhir.r4.model.Encounter;
import org.hl7.fhir.r4.model.Observation;
import org.hl7.fhir.r4.model.Patient;
Expand All @@ -25,7 +26,7 @@
import java.util.UUID;
import java.util.stream.Collectors;

public class WellnessRecordGenerator implements DocumentGenerator{
public class WellnessRecordGenerator implements DocumentGenerator {
private Properties doctors;
private Properties patients;

Expand Down Expand Up @@ -90,22 +91,33 @@ private Bundle createWellnessRecordBundle(Date date, String patientName, String
wellnessRecordDoc.setEncounter(FHIRUtils.getReferenceToResource(encounter));

generateSections(jsonParser, bundle, wellnessRecordDoc);

Composition.SectionComponent section = wellnessRecordDoc.addSection();
section.setTitle("Document Reference");
DocumentReference docReference = FHIRUtils.getReportAsDocReference(author, "Surgical Pathology Report");
FHIRUtils.addToBundleEntry(bundle, docReference, false);
section.getEntry().add(FHIRUtils.getReferenceToResource(docReference));
return bundle;
}

protected void generateSections(IParser jsonParser, Bundle bundle, Composition wellnessRecDoc) {
private void generateSections(IParser jsonParser, Bundle bundle, Composition wellnessRecDoc) {
createObservationVitalSignsSection(bundle, wellnessRecDoc, jsonParser);
createObservationBodyMeasurementSection(bundle, wellnessRecDoc, jsonParser);
createObservationGeneralAssessmentSection(bundle, wellnessRecDoc, jsonParser);
createObservationPhysicalActivitySection(bundle, wellnessRecDoc, jsonParser);
createObservationWomenHealthSection(bundle, wellnessRecDoc, jsonParser);
createObservationLifestyleSection(bundle, wellnessRecDoc, jsonParser);
createDocumentReferenceSection(bundle, wellnessRecDoc, jsonParser);
}

private void createDocumentReferenceSection(Bundle bundle, Composition wellnessRecDoc, IParser jsonParser) {

}

protected void createObservationVitalSignsSection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationVitalSignsSection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("Vital Signs");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getVitalSignsObsResString());
observation.setId(UUID.randomUUID().toString());
Expand All @@ -114,10 +126,10 @@ protected void createObservationVitalSignsSection(Bundle bundle, Composition com
}
}

protected void createObservationBodyMeasurementSection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationBodyMeasurementSection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("Body Measurement");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getBodyMeasurementObsResString());
observation.setId(UUID.randomUUID().toString());
Expand All @@ -126,10 +138,10 @@ protected void createObservationBodyMeasurementSection(Bundle bundle, Compositio
}
}

protected void createObservationPhysicalActivitySection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationPhysicalActivitySection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("Physical Activity");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getPhysicalActivityObsResString());
observation.setId(UUID.randomUUID().toString());
Expand All @@ -138,10 +150,10 @@ protected void createObservationPhysicalActivitySection(Bundle bundle, Compositi
}
}

protected void createObservationGeneralAssessmentSection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationGeneralAssessmentSection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("General Assessment");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getGeneralAssessmentResString());
observation.setId(UUID.randomUUID().toString());
Expand All @@ -150,10 +162,10 @@ protected void createObservationGeneralAssessmentSection(Bundle bundle, Composit
}
}

protected void createObservationWomenHealthSection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationWomenHealthSection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("Women Health");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getWomenHealthObsResString());
observation.setId(UUID.randomUUID().toString());
Expand All @@ -162,10 +174,10 @@ protected void createObservationWomenHealthSection(Bundle bundle, Composition co
}
}

protected void createObservationLifestyleSection(Bundle bundle, Composition composition, IParser parser) {
private void createObservationLifestyleSection(Bundle bundle, Composition composition, IParser parser) {
Composition.SectionComponent section = composition.addSection();
section.setTitle("Lifestyle");
int numOfObs = Utils.randomInt(1,3);
int numOfObs = Utils.randomInt(1, 3);
for (int i = 0; i < numOfObs; i++) {
Observation observation = parser.parseResource(Observation.class, Obs.getLifestyleObsResString());
observation.setId(UUID.randomUUID().toString());
Expand Down

0 comments on commit 29882bc

Please sign in to comment.