Skip to content

Commit 3ed8f9a

Browse files
committed
Read the noe from the RxFill message and add to the MedicationDispense.
1 parent 04338ae commit 3ed8f9a

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/main/java/org/hl7/codex/rems/script/FillStatus.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,18 @@ public DispensedStatusEnum getStatus() {
6161
return DispensedStatusEnum.UNKNOWN;
6262
}
6363
}
64-
64+
65+
public DispensedStatus getDispensedStatus() {
66+
if (getDispensed() != null) {
67+
return getDispensed();
68+
} else if (getPartiallyDispensed() != null) {
69+
return getPartiallyDispensed();
70+
} else if (getNotDispensed() != null) {
71+
return getNotDispensed();
72+
} else if (getTransferred() != null) {
73+
return getTransferred();
74+
} else {
75+
return null;
76+
}
77+
}
6578
}

src/main/java/org/hl7/codex/rems/script/NcpdpScriptController.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.springframework.web.bind.annotation.ResponseBody;
99
import org.springframework.web.bind.annotation.RestController;
1010
import org.hl7.fhir.r4.model.MedicationRequest;
11+
import org.hl7.fhir.r4.model.Annotation;
1112
import org.hl7.fhir.r4.model.MedicationDispense;
1213
import org.hl7.fhir.r4.model.Reference;
1314

@@ -80,6 +81,9 @@ private void handleRxFillMessage(RxFill rxFill, Header header) {
8081
logger.info(" PrescriberOrderNumber: " + header.getPrescriberOrderNumber());
8182
logger.info(" Dispensed Status: " + dispensedStatus);
8283

84+
String note = rxFill.getFillStatus().getDispensedStatus().Note;
85+
logger.info(" Dispensed Note: " + note);
86+
8387
IFhirResourceDao<MedicationRequest> medicationRequestDao =
8488
jpaRestfulServer.getDao(MedicationRequest.class);
8589
IFhirResourceDao<MedicationDispense> medicationDispenseDao =
@@ -114,6 +118,7 @@ private void handleRxFillMessage(RxFill rxFill, Header header) {
114118
medicationDispense.setMedication(medicationRequest.getMedication());
115119
medicationDispense.setSubject(medicationRequest.getSubject());
116120
medicationDispense.addAuthorizingPrescription(new Reference(requestId));
121+
medicationDispense.addNote(new Annotation().setText(note));
117122

118123
// store the MedicationDispense
119124
RequestDetails dispenseDetails = new SystemRequestDetails();
@@ -130,7 +135,7 @@ private MedicationDispense.MedicationDispenseStatus convertRxFillDispensedStatus
130135
case PARTIALLY_DISPENSED:
131136
return MedicationDispense.MedicationDispenseStatus.INPROGRESS;
132137
case NOT_DISPENSED:
133-
return MedicationDispense.MedicationDispenseStatus.PREPARATION;
138+
return MedicationDispense.MedicationDispenseStatus.ONHOLD;
134139
case TRANSFERRED:
135140
case UNKNOWN:
136141
default:

0 commit comments

Comments
 (0)