|
8 | 8 | import ca.uhn.fhir.model.dstu2.composite.PeriodDt; |
9 | 9 | import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; |
10 | 10 | import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; |
| 11 | +import ca.uhn.fhir.model.dstu2.resource.Encounter; |
11 | 12 | import ca.uhn.fhir.model.dstu2.resource.Observation; |
12 | 13 | import ca.uhn.fhir.model.dstu2.resource.Procedure; |
13 | 14 | import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; |
@@ -71,13 +72,23 @@ private List<FHIRResource> mapProcedure(Obs obs, FHIREncounter fhirEncounter, Sy |
71 | 72 | procedure.setStatus(getProcedureStatus(compoundObservationProcedure)); |
72 | 73 | procedure.setNotes(getProcedureNotes(compoundObservationProcedure)); |
73 | 74 | procedure.setPerformed(getProcedurePeriod(compoundObservationProcedure)); |
| 75 | + setPerformers(fhirEncounter, procedure); |
74 | 76 | addReportToProcedure(compoundObservationProcedure, fhirEncounter, systemProperties, procedure, resources); |
75 | 77 | FHIRResource procedureResource = new FHIRResource("Procedure", procedure.getIdentifier(), procedure); |
76 | 78 | resources.add(procedureResource); |
77 | 79 | } |
78 | 80 | return resources; |
79 | 81 | } |
80 | 82 |
|
| 83 | + private void setPerformers(FHIREncounter fhirEncounter, Procedure procedure) { |
| 84 | + List<Encounter.Participant> participants = fhirEncounter.getEncounter().getParticipant(); |
| 85 | + for (Encounter.Participant participant : participants) { |
| 86 | + Procedure.Performer performer = new Procedure.Performer(); |
| 87 | + performer.setActor(participant.getIndividual()); |
| 88 | + procedure.addPerformer(performer); |
| 89 | + } |
| 90 | + } |
| 91 | + |
81 | 92 | private BoundCodeDt<ProcedureStatusEnum> getProcedureStatus(CompoundObservation procedure) { |
82 | 93 | Obs procdureStatusObs = procedure.getMemberObsForConcept(omrsConceptLookup.findTRConceptOfType(TrValueSetType.PROCEDURE_STATUS)); |
83 | 94 | if (procdureStatusObs != null) { |
|
0 commit comments