Class HttpHealthcareApiClient
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.healthcare.HttpHealthcareApiClient
-
- All Implemented Interfaces:
java.io.Serializable,HealthcareApiClient
public class HttpHealthcareApiClient extends java.lang.Object implements HealthcareApiClient, java.io.Serializable
A client that talks to the Cloud Healthcare API through HTTP requests. This client is created mainly to encapsulate the unserializable dependencies, since most generated classes are not serializable in the HTTP client.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHttpHealthcareApiClient.AuthenticatedRetryInitializerstatic classHttpHealthcareApiClient.FhirResourcePagesIteratorThe type FhirResourcePagesIterator for methods which return paged output.static classHttpHealthcareApiClient.HealthcareHttpExceptionWrapsHttpResponsein an exception with a statusCode field for use withHealthcareIOError.static classHttpHealthcareApiClient.HL7v2MessagePages
-
Constructor Summary
Constructors Constructor Description HttpHealthcareApiClient()Instantiates a new Http healthcare api client.HttpHealthcareApiClient(com.google.api.services.healthcare.v1.CloudHealthcare client)Instantiates a new Http healthcare api client.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.api.services.healthcare.v1.model.DicomStorecreateDicomStore(java.lang.String dataset, java.lang.String name)Create a DicomStore.com.google.api.services.healthcare.v1.model.DicomStorecreateDicomStore(java.lang.String dataset, java.lang.String name, @Nullable java.lang.String pubsubTopic)Create a DicomStore with a PubSub listener.com.google.api.services.healthcare.v1.model.FhirStorecreateFhirStore(java.lang.String dataset, java.lang.String name, java.lang.String version)Create FHIR Store.com.google.api.services.healthcare.v1.model.FhirStorecreateFhirStore(java.lang.String dataset, java.lang.String name, java.lang.String version, @Nullable java.lang.String pubsubTopic)Create FHIR Store with a PubSub topic listener.com.google.api.services.healthcare.v1.model.MessagecreateHL7v2Message(java.lang.String hl7v2Store, com.google.api.services.healthcare.v1.model.Message msg)Creates an HL7v2 message.com.google.api.services.healthcare.v1.model.Hl7V2StorecreateHL7v2Store(java.lang.String dataset, java.lang.String name)Create hl 7 v 2 store hl 7 v 2 store.com.google.api.services.healthcare.v1.model.OperationdeidentifyFhirStore(java.lang.String sourcefhirStore, java.lang.String destinationFhirStore, com.google.api.services.healthcare.v1.model.DeidentifyConfig deidConfig)Deidentify a GCP FHIR Store and write the result into a new FHIR Store.com.google.api.services.healthcare.v1.model.EmptydeleteDicomStore(java.lang.String name)Delete a Dicom Store.com.google.api.services.healthcare.v1.model.EmptydeleteFhirStore(java.lang.String name)Delete Fhir store.com.google.api.services.healthcare.v1.model.EmptydeleteHL7v2Message(java.lang.String msgName)Deletes an HL7v2 message.com.google.api.services.healthcare.v1.model.EmptydeleteHL7v2Store(java.lang.String name)Deletes an HL7v2 store.com.google.api.services.healthcare.v1.model.HttpBodyexecuteFhirBundle(java.lang.String fhirStore, java.lang.String bundle)Execute fhir bundle http body.com.google.api.services.healthcare.v1.model.OperationexportFhirResourceToBigQuery(java.lang.String fhirStore, java.lang.String bigQueryDatasetUri)Export a FHIR Resource to BigQuery.com.google.api.services.healthcare.v1.model.OperationexportFhirResourceToGcs(java.lang.String fhirStore, java.lang.String gcsDestinationPrefix)Export a FHIR Resource to GCS.org.joda.time.InstantgetEarliestHL7v2SendTime(java.lang.String hl7v2Store, @Nullable java.lang.String filter)Gets the earliest HL7v2 send time.com.google.api.services.healthcare.v1.model.MessagegetHL7v2Message(java.lang.String msgName)Gets HL7v2 message.com.google.api.services.healthcare.v1.model.Hl7V2StoregetHL7v2Store(java.lang.String storeName)Gets HL7v2 store.com.google.api.client.json.JsonFactorygetJsonFactory()org.joda.time.InstantgetLatestHL7v2SendTime(java.lang.String hl7v2Store, @Nullable java.lang.String filter)Gets the latest HL7v2 send time.com.google.api.services.healthcare.v1.model.HttpBodygetPatientEverything(java.lang.String resourceName, @Nullable java.util.Map<java.lang.String,java.lang.Object> filters, java.lang.String pageToken)Fhir get patient everything http body.com.google.api.services.healthcare.v1.model.OperationimportFhirResource(java.lang.String fhirStore, java.lang.String gcsSourcePath, @Nullable java.lang.String contentStructure)Importing a FHIR resource from GCS.com.google.api.services.healthcare.v1.model.IngestMessageResponseingestHL7v2Message(java.lang.String hl7v2Store, com.google.api.services.healthcare.v1.model.Message msg)Ingest an HL7v2 message.java.util.List<com.google.api.services.healthcare.v1.model.FhirStore>listAllFhirStores(java.lang.String dataset)List all FHIR stores in a dataset.com.google.api.services.healthcare.v1.model.ListMessagesResponsemakeHL7v2ListRequest(java.lang.String hl7v2Store, @Nullable java.lang.String filter, @Nullable java.lang.String orderBy, @Nullable java.lang.String pageToken)Make hl 7 v 2 list request list messages response.com.google.api.services.healthcare.v1.model.ListMessagesResponsemakeSendTimeBoundHL7v2ListRequest(java.lang.String hl7v2Store, org.joda.time.Instant start, @Nullable org.joda.time.Instant end, @Nullable java.lang.String otherFilter, @Nullable java.lang.String orderBy, @Nullable java.lang.String pageToken)Time Bound HL7v2 list request.com.google.api.services.healthcare.v1.model.OperationpollOperation(com.google.api.services.healthcare.v1.model.Operation operation, java.lang.Long sleepMs)Poll operation.com.google.api.services.healthcare.v1.model.HttpBodyreadFhirResource(java.lang.String resourceName)Read fhir resource http body.java.lang.StringretrieveDicomStudyMetadata(java.lang.String dicomWebPath)Retrieve DicomStudyMetadata.com.google.api.services.healthcare.v1.model.HttpBodysearchFhirResource(java.lang.String fhirStore, java.lang.String resourceType, @Nullable java.util.Map<java.lang.String,java.lang.Object> parameters, java.lang.String pageToken)Search fhir resource http body.com.google.api.services.healthcare.v1.model.EmptyuploadToDicomStore(java.lang.String webPath, java.lang.String filePath)Upload to a Dicom Store.
-
-
-
Constructor Detail
-
HttpHealthcareApiClient
public HttpHealthcareApiClient() throws java.io.IOExceptionInstantiates a new Http healthcare api client.- Throws:
java.io.IOException- the io exception
-
HttpHealthcareApiClient
public HttpHealthcareApiClient(com.google.api.services.healthcare.v1.CloudHealthcare client) throws java.io.IOExceptionInstantiates a new Http healthcare api client.- Parameters:
client- the client- Throws:
java.io.IOException- the io exception
-
-
Method Detail
-
getJsonFactory
public com.google.api.client.json.JsonFactory getJsonFactory()
-
createHL7v2Store
public com.google.api.services.healthcare.v1.model.Hl7V2Store createHL7v2Store(java.lang.String dataset, java.lang.String name) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreate hl 7 v 2 store hl 7 v 2 store.- Specified by:
createHL7v2Storein interfaceHealthcareApiClient- Parameters:
dataset- The dataset to create the HL7v2 store in.name- The name of the store to be created.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
createFhirStore
public com.google.api.services.healthcare.v1.model.FhirStore createFhirStore(java.lang.String dataset, java.lang.String name, java.lang.String version) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreate FHIR Store.- Specified by:
createFhirStorein interfaceHealthcareApiClient- Parameters:
dataset- The name of the Dataset for the FHIR store to be created in.name- The name of the FHIR store.version- The version of the FHIR store (DSTU2, STU3, R4).- Throws:
java.io.IOException- The IO Exception.
-
createFhirStore
public com.google.api.services.healthcare.v1.model.FhirStore createFhirStore(java.lang.String dataset, java.lang.String name, java.lang.String version, @Nullable java.lang.String pubsubTopic) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreate FHIR Store with a PubSub topic listener.- Specified by:
createFhirStorein interfaceHealthcareApiClient- Parameters:
dataset- The name of Dataset for the FHIR store to be created in.name- The name of the FHIR store.version- The version of the FHIR store (DSTU2, STU3, R4).pubsubTopic- The pubsub topic listening to the FHIR store.- Throws:
java.io.IOException- The IO Exception.
-
listAllFhirStores
public java.util.List<com.google.api.services.healthcare.v1.model.FhirStore> listAllFhirStores(java.lang.String dataset) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientList all FHIR stores in a dataset.- Specified by:
listAllFhirStoresin interfaceHealthcareApiClient- Parameters:
dataset- The dataset, in the format: projects/project_id/locations/location_id/datasets/dataset_id- Returns:
- A list of all FHIR stores in the dataset.
- Throws:
java.io.IOException- The IO Exception.
-
deleteHL7v2Store
public com.google.api.services.healthcare.v1.model.Empty deleteHL7v2Store(java.lang.String name) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientDeletes an HL7v2 store.- Specified by:
deleteHL7v2Storein interfaceHealthcareApiClient- Parameters:
name- The HL7v2 store to be deleted.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
deleteFhirStore
public com.google.api.services.healthcare.v1.model.Empty deleteFhirStore(java.lang.String name) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientDelete Fhir store.- Specified by:
deleteFhirStorein interfaceHealthcareApiClient- Parameters:
name- The FHIR store to be deleted.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
retrieveDicomStudyMetadata
public java.lang.String retrieveDicomStudyMetadata(java.lang.String dicomWebPath) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientRetrieve DicomStudyMetadata.- Specified by:
retrieveDicomStudyMetadatain interfaceHealthcareApiClient- Parameters:
dicomWebPath- The Dicom Web Path to retrieve the metadata from.- Returns:
- The study metadata.
- Throws:
java.io.IOException- The IO Exception.
-
createDicomStore
public com.google.api.services.healthcare.v1.model.DicomStore createDicomStore(java.lang.String dataset, java.lang.String name) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreate a DicomStore.- Specified by:
createDicomStorein interfaceHealthcareApiClient- Parameters:
dataset- The dataset that the Dicom Store should be in, in the format: projects/project_id/locations/location_id/datasets/dataset_id.name- The name of the Dicom Store to be created.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
deleteDicomStore
public com.google.api.services.healthcare.v1.model.Empty deleteDicomStore(java.lang.String name) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientDelete a Dicom Store.- Specified by:
deleteDicomStorein interfaceHealthcareApiClient- Parameters:
name- The name of the Dicom Store to be deleted.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
uploadToDicomStore
public com.google.api.services.healthcare.v1.model.Empty uploadToDicomStore(java.lang.String webPath, java.lang.String filePath) throws java.io.IOException, java.net.URISyntaxExceptionDescription copied from interface:HealthcareApiClientUpload to a Dicom Store.- Specified by:
uploadToDicomStorein interfaceHealthcareApiClient- Parameters:
webPath- String format of webPath to upload into.filePath- filePath of file to upload.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.java.net.URISyntaxException
-
createDicomStore
public com.google.api.services.healthcare.v1.model.DicomStore createDicomStore(java.lang.String dataset, java.lang.String name, @Nullable java.lang.String pubsubTopic) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreate a DicomStore with a PubSub listener.- Specified by:
createDicomStorein interfaceHealthcareApiClient- Parameters:
dataset- The dataset that the Dicom Store should be in, in the format: projects/project_id/locations/location_id/datasets/dataset_idname- The name of the Dicom Store to be created.pubsubTopic- Name of PubSub topic connected with the Dicom store.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
getEarliestHL7v2SendTime
public org.joda.time.Instant getEarliestHL7v2SendTime(java.lang.String hl7v2Store, @Nullable java.lang.String filter) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientGets the earliest HL7v2 send time.- Specified by:
getEarliestHL7v2SendTimein interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 store.filter- the filter to be matched on.- Returns:
- The earliest HL7v2 send time.
- Throws:
java.io.IOException- The IO Exception.
-
getLatestHL7v2SendTime
public org.joda.time.Instant getLatestHL7v2SendTime(java.lang.String hl7v2Store, @Nullable java.lang.String filter) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientGets the latest HL7v2 send time.- Specified by:
getLatestHL7v2SendTimein interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 store.filter- The filter to be matched on.- Returns:
- The latest HL7v2 send time.
- Throws:
java.io.IOException- The IO Exception.
-
makeSendTimeBoundHL7v2ListRequest
public com.google.api.services.healthcare.v1.model.ListMessagesResponse makeSendTimeBoundHL7v2ListRequest(java.lang.String hl7v2Store, org.joda.time.Instant start, @Nullable org.joda.time.Instant end, @Nullable java.lang.String otherFilter, @Nullable java.lang.String orderBy, @Nullable java.lang.String pageToken) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientTime Bound HL7v2 list request.- Specified by:
makeSendTimeBoundHL7v2ListRequestin interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 store.start- Start time.end- End time.otherFilter- The filter outside of the sendTime.orderBy- Order by.pageToken- The page token.- Returns:
- HTTP List response.
- Throws:
java.io.IOException- The IO Exception.
-
makeHL7v2ListRequest
public com.google.api.services.healthcare.v1.model.ListMessagesResponse makeHL7v2ListRequest(java.lang.String hl7v2Store, @Nullable java.lang.String filter, @Nullable java.lang.String orderBy, @Nullable java.lang.String pageToken) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientMake hl 7 v 2 list request list messages response.- Specified by:
makeHL7v2ListRequestin interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 Store.filter- The Filter.orderBy- Order by.pageToken- The Page Token.- Returns:
- HTTP List response.
- Throws:
java.io.IOException- The IO Exception.
-
getHL7v2Message
public com.google.api.services.healthcare.v1.model.Message getHL7v2Message(java.lang.String msgName) throws java.io.IOExceptionGets HL7v2 message.- Specified by:
getHL7v2Messagein interfaceHealthcareApiClient- Parameters:
msgName- the msg name- Returns:
- the message
- Throws:
java.io.IOException- the io exceptionjava.text.ParseException- the parse exception
-
deleteHL7v2Message
public com.google.api.services.healthcare.v1.model.Empty deleteHL7v2Message(java.lang.String msgName) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientDeletes an HL7v2 message.- Specified by:
deleteHL7v2Messagein interfaceHealthcareApiClient- Parameters:
msgName- The message name to be deleted.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
getHL7v2Store
public com.google.api.services.healthcare.v1.model.Hl7V2Store getHL7v2Store(java.lang.String storeName) throws java.io.IOExceptionGets HL7v2 store.- Specified by:
getHL7v2Storein interfaceHealthcareApiClient- Parameters:
storeName- the store name- Returns:
- the HL7v2 store
- Throws:
java.io.IOException- the io exception
-
ingestHL7v2Message
public com.google.api.services.healthcare.v1.model.IngestMessageResponse ingestHL7v2Message(java.lang.String hl7v2Store, com.google.api.services.healthcare.v1.model.Message msg) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientIngest an HL7v2 message.- Specified by:
ingestHL7v2Messagein interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 store of the message.msg- The message.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
createHL7v2Message
public com.google.api.services.healthcare.v1.model.Message createHL7v2Message(java.lang.String hl7v2Store, com.google.api.services.healthcare.v1.model.Message msg) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientCreates an HL7v2 message.- Specified by:
createHL7v2Messagein interfaceHealthcareApiClient- Parameters:
hl7v2Store- The HL7v2 store to create a message in.msg- The message to create.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
importFhirResource
public com.google.api.services.healthcare.v1.model.Operation importFhirResource(java.lang.String fhirStore, java.lang.String gcsSourcePath, @Nullable java.lang.String contentStructure) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientImporting a FHIR resource from GCS.- Specified by:
importFhirResourcein interfaceHealthcareApiClient- Parameters:
fhirStore- the FhirStore to import into.gcsSourcePath- the GCS Path of resource.contentStructure- The content structure.- Returns:
- Empty.
- Throws:
java.io.IOException- the io exception
-
exportFhirResourceToGcs
public com.google.api.services.healthcare.v1.model.Operation exportFhirResourceToGcs(java.lang.String fhirStore, java.lang.String gcsDestinationPrefix) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientExport a FHIR Resource to GCS.- Specified by:
exportFhirResourceToGcsin interfaceHealthcareApiClient- Parameters:
fhirStore- the FhirStore of the resource.gcsDestinationPrefix- GCS Destination Prefix to export to.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
exportFhirResourceToBigQuery
public com.google.api.services.healthcare.v1.model.Operation exportFhirResourceToBigQuery(java.lang.String fhirStore, java.lang.String bigQueryDatasetUri) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientExport a FHIR Resource to BigQuery.- Specified by:
exportFhirResourceToBigQueryin interfaceHealthcareApiClient- Parameters:
fhirStore- the FhirStore of the resource.bigQueryDatasetUri- The BQ Dataset URI to export to.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
deidentifyFhirStore
public com.google.api.services.healthcare.v1.model.Operation deidentifyFhirStore(java.lang.String sourcefhirStore, java.lang.String destinationFhirStore, com.google.api.services.healthcare.v1.model.DeidentifyConfig deidConfig) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientDeidentify a GCP FHIR Store and write the result into a new FHIR Store.- Specified by:
deidentifyFhirStorein interfaceHealthcareApiClient- Parameters:
sourcefhirStore- the FhirStore to be deidentified.destinationFhirStore- the FhirStore that the deidentified data will be written to.deidConfig- the deidCongig specifying form of deidentification.- Returns:
- Empty.
- Throws:
java.io.IOException- The IO Exception.
-
pollOperation
public com.google.api.services.healthcare.v1.model.Operation pollOperation(com.google.api.services.healthcare.v1.model.Operation operation, java.lang.Long sleepMs) throws java.lang.InterruptedException, java.io.IOExceptionDescription copied from interface:HealthcareApiClientPoll operation.- Specified by:
pollOperationin interfaceHealthcareApiClient- Parameters:
operation- to be polled.sleepMs- length of time to wait between requests.- Returns:
- HTTP Request (that returns status of operation).
- Throws:
java.io.IOException- The IO Exception.java.lang.InterruptedException
-
executeFhirBundle
public com.google.api.services.healthcare.v1.model.HttpBody executeFhirBundle(java.lang.String fhirStore, java.lang.String bundle) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientExecute fhir bundle http body.- Specified by:
executeFhirBundlein interfaceHealthcareApiClient- Parameters:
fhirStore- the fhir storebundle- the bundle- Returns:
- the http body
- Throws:
java.io.IOException- The IO Exception.
-
readFhirResource
public com.google.api.services.healthcare.v1.model.HttpBody readFhirResource(java.lang.String resourceName) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientRead fhir resource http body.- Specified by:
readFhirResourcein interfaceHealthcareApiClient- Parameters:
resourceName- the resource name, in format projects/{p}/locations/{l}/datasets/{d}/fhirStores/{f}/fhir/{resourceType}/{id}- Returns:
- the http body
- Throws:
java.io.IOException- The IO Exception.
-
searchFhirResource
public com.google.api.services.healthcare.v1.model.HttpBody searchFhirResource(java.lang.String fhirStore, java.lang.String resourceType, @Nullable java.util.Map<java.lang.String,java.lang.Object> parameters, java.lang.String pageToken) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientSearch fhir resource http body.- Specified by:
searchFhirResourcein interfaceHealthcareApiClient- Parameters:
fhirStore- the fhir storeresourceType- the resource typeparameters- The parameters (in the form of key-value pairs).- Returns:
- the http body
- Throws:
java.io.IOException- The IO Exception.
-
getPatientEverything
public com.google.api.services.healthcare.v1.model.HttpBody getPatientEverything(java.lang.String resourceName, @Nullable java.util.Map<java.lang.String,java.lang.Object> filters, java.lang.String pageToken) throws java.io.IOExceptionDescription copied from interface:HealthcareApiClientFhir get patient everything http body.- Specified by:
getPatientEverythingin interfaceHealthcareApiClient- Parameters:
resourceName- the resource name, in format projects/{p}/locations/{l}/datasets/{d}/fhirStores/{f}/fhir/{resourceType}/{id}filters- optional request filters (in key value pairs).- Returns:
- the http body
- Throws:
java.io.IOException- The IO Exception.
-
-