Search in sources :

Example 1 with R50Converter

use of ca.bc.gov.hlth.hnweb.converter.hl7v2.R50Converter in project moh-hnweb by bcgov.

the class EnrollmentController method enrollSubscriber.

@PostMapping("/enroll-subscriber")
public ResponseEntity<EnrollSubscriberResponse> enrollSubscriber(@Valid @RequestBody EnrollSubscriberRequest enrollSubscriberRequest, HttpServletRequest request) {
    logger.info("Subscriber enroll request: {} ", enrollSubscriberRequest.getPhn());
    Transaction transaction = auditEnrollSubscriberStart(enrollSubscriberRequest, request);
    try {
        R50Converter converter = new R50Converter(mshDefaults);
        R50 r50 = converter.convertRequest(enrollSubscriberRequest);
        Message r50Message = enrollmentService.enrollSubscriber(r50, transaction);
        EnrollSubscriberResponse enrollSubscriberResponse = converter.convertResponse(r50Message);
        ResponseEntity<EnrollSubscriberResponse> responseEntity = ResponseEntity.ok(enrollSubscriberResponse);
        logger.info("Subscriber enroll Response: {} ", enrollSubscriberResponse.getMessage());
        auditEnrollSubscriberComplete(transaction, enrollSubscriberResponse);
        return responseEntity;
    } catch (Exception e) {
        handleException(transaction, e);
        return null;
    }
}
Also used : Transaction(ca.bc.gov.hlth.hnweb.persistence.entity.Transaction) Message(ca.uhn.hl7v2.model.Message) EnrollSubscriberResponse(ca.bc.gov.hlth.hnweb.model.rest.enrollment.EnrollSubscriberResponse) R50(ca.bc.gov.hlth.hnweb.model.v2.message.R50) R50Converter(ca.bc.gov.hlth.hnweb.converter.hl7v2.R50Converter) PostMapping(org.springframework.web.bind.annotation.PostMapping)

Aggregations

R50Converter (ca.bc.gov.hlth.hnweb.converter.hl7v2.R50Converter)1 EnrollSubscriberResponse (ca.bc.gov.hlth.hnweb.model.rest.enrollment.EnrollSubscriberResponse)1 R50 (ca.bc.gov.hlth.hnweb.model.v2.message.R50)1 Transaction (ca.bc.gov.hlth.hnweb.persistence.entity.Transaction)1 Message (ca.uhn.hl7v2.model.Message)1 PostMapping (org.springframework.web.bind.annotation.PostMapping)1