Enable Custom HTTP Headers Partitioning

Healthcare Data Repository FHIR Server supports partitioning based on custom HTTP headers. In this case, the system determines the partition name by looking at a custom HTTP header. To enable this, configure the following fully qualified class name in the custom-interceptor-classes property defined in the hdr_fhir.yaml property file.

To enable partitioning based on custom HTTP headers, perform the following:
  1. Enable partitioning and disable default URL-based partitioning. Update the hdr_fhir.yaml file with the following configuration:

    partitioning:

    allow_references_across_partitions: false

    partitioning_include_in_search_hashes: false

    allow_default_tenant_partition_interceptor: false

  2. Enable and configure the custom-interceptor-classes property. Add/Uncomment the following line to the hdr_fhir.yaml file to configure the HeaderBasedPartitionInterceptor class:

    custom-interceptor-classes: com.oracle.hsgbu.hdr.fhir.partition.HeaderBasedPartitionInterceptor

  3. Specify custom HTTP header names for partitioning. Use the following properties to define your own custom HTTP header names used as partition headers in the HeaderBasedPartitionInterceptor class. If these properties are not configured, the default values X-Partition-Name, X-Partition-Date, and yyyy-MM-dd will be used.

    partition_name_key_http_header: X-Partition-Name

    partition_date_key_http_header: X-Partition-Date

    partition_date_format: yyyy-MM-dd