diff --git a/src/main/java/com/nha/abdm/wrapper/common/RequestManager.java b/src/main/java/com/nha/abdm/wrapper/common/RequestManager.java index eb03b32b..6614c8f0 100644 --- a/src/main/java/com/nha/abdm/wrapper/common/RequestManager.java +++ b/src/main/java/com/nha/abdm/wrapper/common/RequestManager.java @@ -45,4 +45,16 @@ public ResponseEntity fetchResponseFromGateway(String uri, .toEntity(GenericResponse.class) .block(); } + + public ResponseEntity fetchResponseForPHR( + String uri, Object request, String xAuthToken, String path) { + return hiuWebClient + .post() + .uri(uri + path) + .headers(headers -> headers.add("X-AUTH-TOKEN", xAuthToken)) + .body(BodyInserters.fromValue(request)) + .retrieve() + .toEntity(Object.class) + .block(); + } } diff --git a/src/main/java/com/nha/abdm/wrapper/hip/hrp/dataTransfer/encryption/EncryptionResponse.java b/src/main/java/com/nha/abdm/wrapper/hip/hrp/dataTransfer/encryption/EncryptionResponse.java index 8d1aa17d..e6663d7c 100644 --- a/src/main/java/com/nha/abdm/wrapper/hip/hrp/dataTransfer/encryption/EncryptionResponse.java +++ b/src/main/java/com/nha/abdm/wrapper/hip/hrp/dataTransfer/encryption/EncryptionResponse.java @@ -2,13 +2,12 @@ package com.nha.abdm.wrapper.hip.hrp.dataTransfer.encryption; import com.nha.abdm.wrapper.hip.hrp.dataTransfer.requests.helpers.HealthInformationBundle; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - @Data @Builder @AllArgsConstructor diff --git a/src/main/java/com/nha/abdm/wrapper/hip/hrp/database/mongo/services/PatientService.java b/src/main/java/com/nha/abdm/wrapper/hip/hrp/database/mongo/services/PatientService.java index b1529c22..ddd9435e 100644 --- a/src/main/java/com/nha/abdm/wrapper/hip/hrp/database/mongo/services/PatientService.java +++ b/src/main/java/com/nha/abdm/wrapper/hip/hrp/database/mongo/services/PatientService.java @@ -16,6 +16,10 @@ import com.nha.abdm.wrapper.hip.hrp.link.hipInitiated.requests.LinkRecordsRequest; import com.nha.abdm.wrapper.hip.hrp.link.userInitiated.responses.InitResponse; import com.nha.abdm.wrapper.hiu.hrp.consent.requests.ConsentCareContexts; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.bson.Document; @@ -28,11 +32,6 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - @Service public class PatientService { private static final Logger log = LogManager.getLogger(PatientService.class); diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/facade/discovery/HIUFacadeDiscoveryController.java b/src/main/java/com/nha/abdm/wrapper/hiu/facade/discovery/HIUFacadeDiscoveryController.java new file mode 100644 index 00000000..dabb44a6 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/facade/discovery/HIUFacadeDiscoveryController.java @@ -0,0 +1,21 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.facade.discovery; + +import com.nha.abdm.wrapper.hiu.hrp.discovery.HIUFacadeDiscoverControllerInterface; +import com.nha.abdm.wrapper.hiu.hrp.discovery.requests.HIUDiscoverRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(path = "/v1/care-contexts") +public class HIUFacadeDiscoveryController { + @Autowired HIUFacadeDiscoverControllerInterface hiuFacadeDiscoverControllerInterface; + + @PostMapping("/discover") + public ResponseEntity hiuDiscoverResponse( + @RequestHeader(value = "X-AUTH-TOKEN") String xAuthToken, + @RequestBody HIUDiscoverRequest discoverRequest) { + return hiuFacadeDiscoverControllerInterface.initiateDiscover(discoverRequest, xAuthToken); + } +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/facade/link/HIUFacadeLinkController.java b/src/main/java/com/nha/abdm/wrapper/hiu/facade/link/HIUFacadeLinkController.java new file mode 100644 index 00000000..b292fea8 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/facade/link/HIUFacadeLinkController.java @@ -0,0 +1,29 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.facade.link; + +import com.nha.abdm.wrapper.hiu.hrp.link.HIUFacadeLinkControllerInterface; +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUConfirmRequest; +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUInitRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(path = "/v1/care-contexts/link") +public class HIUFacadeLinkController { + @Autowired HIUFacadeLinkControllerInterface hiuFacadeLinkControllerInterface; + + @PostMapping("/init") + public ResponseEntity hiuInitResponse( + @RequestHeader(value = "X-AUTH-TOKEN") String xAuthToken, + @RequestBody HIUInitRequest hiuInitRequest) { + return hiuFacadeLinkControllerInterface.initiateLinkInit(hiuInitRequest, xAuthToken); + } + + @PostMapping("/confirm") + public ResponseEntity hiuConfirmResponse( + @RequestHeader(value = "X-AUTH-TOKEN") String xAuthToken, + @RequestBody HIUConfirmRequest hiuConfirmRequest) { + return hiuFacadeLinkControllerInterface.initiateLinkConfirm(hiuConfirmRequest, xAuthToken); + } +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerInterface.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerInterface.java new file mode 100644 index 00000000..63f21451 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerInterface.java @@ -0,0 +1,10 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery; + +import com.nha.abdm.wrapper.hiu.hrp.discovery.requests.HIUDiscoverRequest; +import org.springframework.http.ResponseEntity; + +public interface HIUFacadeDiscoverControllerInterface { + + ResponseEntity initiateDiscover(HIUDiscoverRequest hiuDiscoverRequest, String xAuthToken); +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerService.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerService.java new file mode 100644 index 00000000..cedec159 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/HIUFacadeDiscoverControllerService.java @@ -0,0 +1,49 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery; + +import com.nha.abdm.wrapper.common.RequestManager; +import com.nha.abdm.wrapper.hiu.hrp.discovery.requests.HIUDiscoverRequest; +import com.nha.abdm.wrapper.hiu.hrp.discovery.responses.DiscoverResponse; +import java.util.Objects; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +@Service +public class HIUFacadeDiscoverControllerService implements HIUFacadeDiscoverControllerInterface { + @Value("${hiuDiscoverPath}") + public String hiuDiscoverPath; + + private final RequestManager requestManager; + + private static final Logger log = LogManager.getLogger(HIUFacadeDiscoverControllerService.class); + + public HIUFacadeDiscoverControllerService(RequestManager requestManager) { + this.requestManager = requestManager; + } + + @Override + public ResponseEntity initiateDiscover( + HIUDiscoverRequest hiuDiscoverRequest, String xAuthToken) { + log.info(hiuDiscoverRequest.toString()); + if (Objects.nonNull(hiuDiscoverRequest) + && Objects.nonNull(hiuDiscoverRequest.getHip()) + && Objects.nonNull(hiuDiscoverRequest.getRequestId()) + && Objects.nonNull(xAuthToken)) { + try { + ResponseEntity response = + requestManager.fetchResponseForPHR(hiuDiscoverPath, hiuDiscoverRequest, xAuthToken, ""); + + log.info(response.getBody().toString()); + return response; + + } catch (Exception e) { + throw new RuntimeException("unable to make post request from discover " + e); + } + } + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new DiscoverResponse()); + } +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/HIUDiscoverRequest.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/HIUDiscoverRequest.java new file mode 100644 index 00000000..f551858d --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/HIUDiscoverRequest.java @@ -0,0 +1,20 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.requests; + +import com.nha.abdm.wrapper.hiu.hrp.discovery.requests.helpers.HIPId; +import com.nha.abdm.wrapper.hiu.hrp.discovery.requests.helpers.HIUPatientUnverifiedIdentifiers; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIUDiscoverRequest { + public HIPId hip; + public String requestId; + public List unverifiedIdentifiers; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIPId.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIPId.java new file mode 100644 index 00000000..7ada2bdc --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIPId.java @@ -0,0 +1,15 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.requests.helpers; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIPId { + public String id; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIUPatientUnverifiedIdentifiers.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIUPatientUnverifiedIdentifiers.java new file mode 100644 index 00000000..1fec537c --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/requests/helpers/HIUPatientUnverifiedIdentifiers.java @@ -0,0 +1,16 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.requests.helpers; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIUPatientUnverifiedIdentifiers { + public String type; + public String value; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/DiscoverResponse.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/DiscoverResponse.java new file mode 100644 index 00000000..e305db54 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/DiscoverResponse.java @@ -0,0 +1,21 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.responses; + +import com.nha.abdm.wrapper.common.responses.ErrorResponse; +import com.nha.abdm.wrapper.hiu.hrp.discovery.responses.helpers.HIUPatient; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DiscoverResponse { + private static final long serialVersionUID = 165269402517398406L; + public String transactionId; + public HIUPatient patient; + public String createdAt; + public ErrorResponse error; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/CareContextRequest.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/CareContextRequest.java new file mode 100644 index 00000000..33b5499f --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/CareContextRequest.java @@ -0,0 +1,6 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.responses.helpers; + +public class CareContextRequest { + private String referenceNumber; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/HIUPatient.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/HIUPatient.java new file mode 100644 index 00000000..48dc9fd4 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/discovery/responses/helpers/HIUPatient.java @@ -0,0 +1,19 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.discovery.responses.helpers; + +import com.nha.abdm.wrapper.common.models.CareContext; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIUPatient { + public String referenceNumber; + public String display; + public List careContexts; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerInterface.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerInterface.java new file mode 100644 index 00000000..87980811 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerInterface.java @@ -0,0 +1,13 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link; + +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUConfirmRequest; +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUInitRequest; +import org.springframework.http.ResponseEntity; + +public interface HIUFacadeLinkControllerInterface { + ResponseEntity initiateLinkInit(HIUInitRequest hiuInitRequest, String xAuthToken); + + ResponseEntity initiateLinkConfirm( + HIUConfirmRequest hiuConfirmRequest, String xAuthToken); +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerService.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerService.java new file mode 100644 index 00000000..6495a04d --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/HIUFacadeLinkControllerService.java @@ -0,0 +1,77 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link; + +import com.nha.abdm.wrapper.common.RequestManager; +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUConfirmRequest; +import com.nha.abdm.wrapper.hiu.hrp.link.requests.HIUInitRequest; +import com.nha.abdm.wrapper.hiu.hrp.link.responses.ConfirmResponse; +import com.nha.abdm.wrapper.hiu.hrp.link.responses.InitResponse; +import java.util.Objects; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +@Service +public class HIUFacadeLinkControllerService implements HIUFacadeLinkControllerInterface { + private static final Logger log = LogManager.getLogger(HIUFacadeLinkControllerInterface.class); + + private final RequestManager requestManager; + + @Value("${hiuInitPath}") + public String hiuInitPath; + + @Value("${hiuLinkConfirmPath}") + public String hiuLinkConfirmPath; + + public HIUFacadeLinkControllerService(RequestManager requestManager) { + this.requestManager = requestManager; + } + + @Override + public ResponseEntity initiateLinkInit(HIUInitRequest hiuInitRequest, String xAuthToken) { + log.info(hiuInitRequest.toString()); + + if (Objects.nonNull(hiuInitRequest) + && Objects.nonNull(hiuInitRequest.getRequestId()) + && Objects.nonNull(hiuInitRequest.getTransactionId()) + && Objects.nonNull(hiuInitRequest.getPatient()) + && Objects.nonNull(xAuthToken)) { + try { + ResponseEntity response = + requestManager.fetchResponseForPHR(hiuInitPath, hiuInitRequest, xAuthToken, ""); + return response; + + } catch (Exception e) { + throw new RuntimeException("unable to make post request from linkint " + e); + } + } + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new InitResponse()); + } + + @Override + public ResponseEntity initiateLinkConfirm( + HIUConfirmRequest hiuConfirmRequest, String xAuthToken) { + log.info(hiuConfirmRequest.toString()); + if (Objects.nonNull(hiuConfirmRequest) + && Objects.nonNull(hiuConfirmRequest.getReferenceNumber()) + && Objects.nonNull(hiuConfirmRequest.getToken()) + && Objects.nonNull(xAuthToken)) { + try { + ResponseEntity response = + requestManager.fetchResponseForPHR( + hiuLinkConfirmPath, + hiuConfirmRequest, + xAuthToken, + "/" + hiuConfirmRequest.getReferenceNumber()); + return response; + + } catch (Exception e) { + throw new RuntimeException("unable to make post request from linkconfirm " + e); + } + } + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ConfirmResponse()); + } +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUConfirmRequest.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUConfirmRequest.java new file mode 100644 index 00000000..6aa05ffa --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUConfirmRequest.java @@ -0,0 +1,16 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.requests; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIUConfirmRequest { + public String token; + public String referenceNumber; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUInitRequest.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUInitRequest.java new file mode 100644 index 00000000..69366521 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/HIUInitRequest.java @@ -0,0 +1,18 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.requests; + +import com.nha.abdm.wrapper.hiu.hrp.link.requests.helpers.PatientWithReferenceNumber; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HIUInitRequest { + public String requestId; + public String transactionId; + public PatientWithReferenceNumber patient; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/CareContextWithReferenceNumber.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/CareContextWithReferenceNumber.java new file mode 100644 index 00000000..047275d6 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/CareContextWithReferenceNumber.java @@ -0,0 +1,6 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.requests.helpers; + +public class CareContextWithReferenceNumber { + public String referenceNumber; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/PatientWithReferenceNumber.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/PatientWithReferenceNumber.java new file mode 100644 index 00000000..5d1907e0 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/requests/helpers/PatientWithReferenceNumber.java @@ -0,0 +1,9 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.requests.helpers; + +import java.util.List; + +public class PatientWithReferenceNumber { + public String referenceNumber; + public List careContexts; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/ConfirmResponse.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/ConfirmResponse.java new file mode 100644 index 00000000..ef23cf5a --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/ConfirmResponse.java @@ -0,0 +1,8 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.responses; + +import com.nha.abdm.wrapper.hiu.hrp.link.responses.helpers.PatientResponse; + +public class ConfirmResponse { + public PatientResponse patientResponse; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/InitResponse.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/InitResponse.java new file mode 100644 index 00000000..0a401500 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/InitResponse.java @@ -0,0 +1,9 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.responses; + +import com.nha.abdm.wrapper.hiu.hrp.link.responses.helpers.LinkWithReferenceNumber; + +public class InitResponse { + public String transactionId; + public LinkWithReferenceNumber referenceNumber; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/LinkWithReferenceNumber.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/LinkWithReferenceNumber.java new file mode 100644 index 00000000..8c40f93f --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/LinkWithReferenceNumber.java @@ -0,0 +1,8 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.responses.helpers; + +public class LinkWithReferenceNumber { + public String referenceNumber; + public String authenticationType; + public Meta meta; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/Meta.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/Meta.java new file mode 100644 index 00000000..91152fff --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/Meta.java @@ -0,0 +1,8 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.responses.helpers; + +public class Meta { + public String communicationMedium; + public String communicationHint; + public String communicationExpiry; +} diff --git a/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/PatientResponse.java b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/PatientResponse.java new file mode 100644 index 00000000..6dbfc4b1 --- /dev/null +++ b/src/main/java/com/nha/abdm/wrapper/hiu/hrp/link/responses/helpers/PatientResponse.java @@ -0,0 +1,11 @@ +/* (C) 2024 */ +package com.nha.abdm.wrapper.hiu.hrp.link.responses.helpers; + +import com.nha.abdm.wrapper.hiu.hrp.discovery.responses.helpers.CareContextRequest; +import java.util.List; + +public class PatientResponse { + private String referenceNumber; + private String display; + private List careContextsResponses; +} diff --git a/src/main/java/com/nha/abdm/wrapper/patient/PatientController.java b/src/main/java/com/nha/abdm/wrapper/patient/PatientController.java index 8a69f3a6..c1fea4e5 100644 --- a/src/main/java/com/nha/abdm/wrapper/patient/PatientController.java +++ b/src/main/java/com/nha/abdm/wrapper/patient/PatientController.java @@ -3,6 +3,7 @@ import com.nha.abdm.wrapper.hip.hrp.database.mongo.services.PatientService; import com.nha.abdm.wrapper.hip.hrp.database.mongo.tables.Patient; +import java.util.Objects; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -11,8 +12,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.Objects; - @RestController @RequestMapping(path = "/v1/patient") public class PatientController { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 6e1ac2a3..638346c8 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -25,6 +25,11 @@ healthInformationConsentManagerPath=/v0.5/health-information/cm/request healthInformationOnRequestPath=/v0.5/health-information/hip/on-request healthInformationPushNotificationPath=/v0.5/health-information/notify +# HIU Discover paths +hiuDiscoverPath=https://dev.abdm.gov.in/cm/v1/care-contexts/discover +hiuInitPath=https://dev.abdm.gov.in/cm/v1/links/link/init +hiuLinkConfirmPath=https://dev.abdm.gov.in/cm/v1/links/link/confirm + dataPushUrl=http://localhost:8082/v1/transfer/ #URLS