**********************************************************
* eHealth Business intrahub V3  RELEASE NOTES            *
**********************************************************
3.23.0 release (october 2022)
 . change           Minor refactorings. Source diff:
                           M	intrahubv3/src/main/java/be/ehealth/businessconnector/hubv3/service/ServiceFactory.java
                          
3.17.1 release (april 2019)
 . improvement           Update integration tests assertions.
 
3.17.0 internal release (april 2019)
 
3.16.1 release (october 2018)
 . change           Pagination added to getTransactionList, based on version 3.5.2 of the xsd of hubservices.
                        - following methods have been added to the HubService interface:                   
                            GetTransactionListResponse getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction, Paginationrequestinfo paginationrequestinfo)
                            GetTransactionListResponse getTransactionList(PatientIdType patient, LocalSearchType searchType, TransactionWithPeriodType transaction, Paginationrequestinfo paginationrequestinfo, String breakTheGlass)                     
                        - Modified classes:
                            be/ehealth/businessconnector/hubv3/service/HubTokenService
                            be/ehealth/businessconnector/hubv3/service/ServiceFactory
                            be/ehealth/businessconnector/hubv3/service/impl/HubTokenServiceImpl
                            be/ehealth/businessconnector/hubv3/session/HubService
                            be/ehealth/businessconnector/hubv3/session/impl/HubServiceImpl
                            be/ehealth/businessconnector/hubv3/helpers/HubConfigVitalink
                            be/ehealth/businessconnector/hubv3/helpers/HubTestHelper
                            be/ehealth/businessconnector/hubv3/session/WalkThroughRswIntegrationTest
                            be/ehealth/businessconnector/hubv3/session/WalkThroughVitalinkIntegrationTest
                        - Added class:
                            be/ehealth/businessconnector/hubv3/util/RequestListTypeBuilder
                            
. change           Support of the ID-ENCRYPTION-KEY kmehr property that can be added to the hcparty identifier of the request for operations where the response must be encrypted. 
                   The ID-ENCRYPTION-KEY value contains the base64 encoded reply-to ETK.
                   By default ID-ENCRYPTION-KEY is not added since service providers might not be compliant yet (the kmehr.hubservicev3.identifier.id.idencryptionkey property is false).
                   To activate ID-ENCRYPTION-KEY the config property kmehr.hubservicev3.identifier.id.idencryptionkey must be set to true.
                         - Modified classes:
                             be/ehealth/businessconnector/hubv3/util/RequestListTypeBuilder
                             be/ehealth/businessconnector/hubv3/security/HubRequestWithEncryptionIntegrationTest           

3.16.0 release (september 2018)
 . internal release 
 
3.15.1 release (april 2018)
 . improvement       Integration tests examples updated.
 
3.15.0 release (april 2018)
 . internal release
 
3.14.2 release (february 2017)
 . improvement      The scructure of input/output payloads is now based on version 3.4.0 of the xsd of hubservices.
                    The integration tests have been adapted accordingly.
 . Make sure you add the following properties to your configuration, depending on your target group:
 
    - For all groups:
         # Hub id (here Vitalink)
         hubv3.id=1990001916
         
         # Hub application (here Vitalink, may be ignored for RSW)
         hubv3.application=VITALINKGATEWAY
         
         # Hub service endpoint (here Vitalink)
         endpoint.hubv3.intra=https://vitalink-acpt.ehealth.fgov.be/vpmg/vitalink-gateway/IntraHubService
         
         # True or false if you want to validate the incoming message with the xsd
         validation.incoming.intrahubv3.message=true
 
    - For orgpharmacy as an organisation with a pharmacy Holder-Of-Key certificate (not an individual Holder-Of-Key certificate):                                                      
           ### 
            encryption.actor.id=${pharmacy.nihii}
            encryption.actor.cd=NIHII_PHARMACY
            # Set the application id of the pharmacy
            encryption.application.id=
            
            kmehr.hubservicev3.usedefaultproperties=false
            kmehr.hubservicev3.hcpartylist=pharmacy,identifier,software
            kmehr.hubservicev3.identifier.id.inss.value=${careprovider.inss}
            kmehr.hubservicev3.identifier.id.inss.sv=1.0
            kmehr.hubservicev3.identifier.id.idhcparty.value=${careprovider.nihii}
            kmehr.hubservicev3.identifier.id.idhcparty.sv=1.0
            kmehr.hubservicev3.identifier.cd.cdhcparty.value=${main.kmehr.quality}
            kmehr.hubservicev3.identifier.cd.cdhcparty.sv=1.1
            kmehr.hubservicev3.identifier.firstname=${careprovider.firstname}
            kmehr.hubservicev3.identifier.lastname=${careprovider.lastname}
            kmehr.hubservicev3.identifier.address.cd.sv=1.0
            kmehr.hubservicev3.identifier.address.cd.value=careaddress
            kmehr.hubservicev3.identifier.address.cd.schemes=cdaddress
            # Set the nis code of the address
            kmehr.hubservicev3.identifier.address.nis=
            
            kmehr.hubservicev3.software.id.local.sl.1=endusersoftwareinfo
            kmehr.hubservicev3.software.id.local.sv.1=1.0
            # Set the name of the software
            kmehr.hubservicev3.software.id.local.value.1=
            kmehr.hubservicev3.software.cd.cdhcparty.value=application
            kmehr.hubservicev3.software.cd.cdhcparty.sv=1.1
            
            kmehr.hubservicev3.pharmacy.id.idhcparty.value=${pharmacy.nihii}
            kmehr.hubservicev3.pharmacy.id.idhcparty.sv=1.0
            kmehr.hubservicev3.pharmacy.cd.cdhcparty.value=orgpharmacy
            kmehr.hubservicev3.pharmacy.cd.cdhcparty.sv=1.1
            kmehr.hubservicev3.pharmacy.name=${pharmacy.name}
           ###
       
    - For orgpharmacy with an individual Holder-Of-Key certificate:                                                            
           ###             
            kmehr.hubservicev3.usedefaultproperties=false
            kmehr.hubservicev3.hcpartylist=pharmacy,identifier,software
            kmehr.hubservicev3.identifier.id.inss.value=${careprovider.inss}
            kmehr.hubservicev3.identifier.id.inss.sv=1.0
            kmehr.hubservicev3.identifier.id.idhcparty.value=${careprovider.nihii}
            kmehr.hubservicev3.identifier.id.idhcparty.sv=1.0
            kmehr.hubservicev3.identifier.cd.cdhcparty.value=${main.kmehr.quality}
            kmehr.hubservicev3.identifier.cd.cdhcparty.sv=1.1
            kmehr.hubservicev3.identifier.firstname=${careprovider.firstname}
            kmehr.hubservicev3.identifier.lastname=${careprovider.lastname}
            kmehr.hubservicev3.identifier.address.cd.sv=1.0
            kmehr.hubservicev3.identifier.address.cd.value=careaddress
            kmehr.hubservicev3.identifier.address.cd.schemes=cdaddress
            # Set the nis code of the address
            kmehr.hubservicev3.identifier.address.nis=
            
            kmehr.hubservicev3.software.id.local.sl.1=endusersoftwareinfo
            kmehr.hubservicev3.software.id.local.sv.1=1.0
            # Set the name of the software
            kmehr.hubservicev3.software.id.local.value.1=
            kmehr.hubservicev3.software.cd.cdhcparty.value=application
            kmehr.hubservicev3.software.cd.cdhcparty.sv=1.1
            
            kmehr.hubservicev3.pharmacy.id.idhcparty.value=${pharmacy.nihii}
            kmehr.hubservicev3.pharmacy.id.idhcparty.sv=1.0
            kmehr.hubservicev3.pharmacy.cd.cdhcparty.value=orgpharmacy
            kmehr.hubservicev3.pharmacy.cd.cdhcparty.sv=1.1
            kmehr.hubservicev3.pharmacy.name=${pharmacy.name}
           ###   
   
    - For other target groups:                                                          
           ###     
            kmehr.hubservicev3.usedefaultproperties=false  
            kmehr.hubservicev3.hcpartylist=identifier,software
            kmehr.hubservicev3.identifier.id.inss.value=${careprovider.inss}
            kmehr.hubservicev3.identifier.id.inss.sv=1.0
            kmehr.hubservicev3.identifier.id.idhcparty.value=${careprovider.nihii}
            kmehr.hubservicev3.identifier.id.idhcparty.sv=1.0
            kmehr.hubservicev3.identifier.cd.cdhcparty.value=${main.kmehr.quality}
            kmehr.hubservicev3.identifier.cd.cdhcparty.sv=1.1
            kmehr.hubservicev3.identifier.firstname=${careprovider.firstname}
            kmehr.hubservicev3.identifier.lastname=${careprovider.lastname}
            kmehr.hubservicev3.identifier.address.cd.sv=1.0
            kmehr.hubservicev3.identifier.address.cd.value=careaddress
            kmehr.hubservicev3.identifier.address.cd.schemes=cdaddress
            # Set the nis code of the address
            kmehr.hubservicev3.identifier.address.nis=
            
            kmehr.hubservicev3.software.id.local.sl.1=endusersoftwareinfo
            kmehr.hubservicev3.software.id.local.sv.1=1.0
            # Set the name of the software
            kmehr.hubservicev3.software.id.local.value.1=
            kmehr.hubservicev3.software.cd.cdhcparty.value=application
            kmehr.hubservicev3.software.cd.cdhcparty.sv=1.1
            
            
            
           ###   
    
 
           
3.14.2-beta-1 release (november 2017)
 . For the orgpharmacy target group the configuration has been amended in order to supply the correct encryption 
   parameters. 
   Make sure you have set the following properties if you 
   use a pharmacy certificate (set pharmacy.nihii with th nihii of the pharmacy and
   encryption.application.id with the appplication id of the pharmacy):
   
           pharmacy.nihii=
           encryption.actor.id=${pharmacy.nihii}
           encryption.actor.cd=NIHII_PHARMACY
           encryption.application.id=
           kmehr.hubservicev3.hcpartylist=pharmacy,identifier,software

3.14.2-beta-0 internal release (november 2017)
 
3.14.1 release (octobre 2017)
 . For the orgpharmacy target group you might need to add pharmacy and hcparty pharmacistholder info to the hcparty list:
          #
          kmehr.hubservicev3.hcpartylist=pharmacy,pharmacistholder,identifier,software
          kmehr.hubservicev3.pharmacy.id.idhcparty.value=${pharmacy.nihii}
          kmehr.hubservicev3.pharmacy.id.idhcparty.sv=1.0
          kmehr.hubservicev3.pharmacy.cd.cdhcparty.value=orgpharmacy
          kmehr.hubservicev3.pharmacy.cd.cdhcparty.sv=1.1
          kmehr.hubservicev3.pharmacy.id.name=${pharmacy.name}
          kmehr.hubservicev3.pharmacistholder.id.inss.value=${pharmacy-holder.ssin}
          kmehr.hubservicev3.pharmacistholder.id.inss.sv=1.0
          kmehr.hubservicev3.pharmacistholder.id.idhcparty.value=${pharmacy-holder.nihii}
          kmehr.hubservicev3.pharmacistholder.id.idhcparty.sv=1.0
          kmehr.hubservicev3.pharmacistholder.cd.cdhcparty.value=${main.kmehr.quality}
          kmehr.hubservicev3.pharmacistholder.cd.cdhcparty.sv=1.1
          kmehr.hubservicev3.pharmacistholder.firstname=${pharmacy-holder.firstname}
          kmehr.hubservicev3.pharmacistholder.lastname=${pharmacy-holder.lastname}
          #
 

3.14.0 release (octobre 2017)
 . improvement        be/ehealth/businessconnector/hubv3/session/HubService                          overload interface with method arguments breakTheGlass and maxRows
 . improvement        be/ehealth/businessconnector/hubv3/service/HubTokenService                     add method arguments breakTheGlass and maxRows
 . improvement        be/ehealth/businessconnector/hubv3/session/WalkThroughRswIntegrationTest       adapt safe tests for RSW implementation
 . Safe operations have been fully validated only for the Vitalink hub.
 . configuration example for Vitalink acc:          
 
         # Hub id
         hubv3.id=1990001916
         
         # Hub application (ignored for RSW)
         hubv3.application=VITALINKGATEWAY
         
         endpoint.hubv3.intra=https://vitalink-acpt.ehealth.fgov.be/vpmg/vitalink-gateway/IntraHubService
         
         #True or false if you want to validate the incoming message with the xsd
         validation.incoming.intrahubv3.message=true
         
         # Normally usedefaultproperties=true may be set for RSW: then no further kmehr properties need to be set.
         kmehr.hubservicev3.usedefaultproperties=false
         #
         kmehr.hubservicev3.hcpartylist=identifier,software
         kmehr.hubservicev3.identifier.id.inss.value=${careprovider.inss}
         kmehr.hubservicev3.identifier.id.inss.sv=1.0
         kmehr.hubservicev3.identifier.id.idhcparty.value=${careprovider.nihii}
         kmehr.hubservicev3.identifier.id.idhcparty.sv=1.0
         kmehr.hubservicev3.identifier.cd.cdhcparty.value=${main.kmehr.quality}
         kmehr.hubservicev3.identifier.cd.cdhcparty.sv=1.1
         kmehr.hubservicev3.identifier.firstname=${careprovider.firstname}
         kmehr.hubservicev3.identifier.lastname=${careprovider.lastname}
         #
         ### End user software info (not mandatory for RSW)
         #
         # Name of the sofware
         kmehr.hubservicev3.software.id.local.value.1=Your software name
         #
         kmehr.hubservicev3.software.cd.cdhcparty.value=application
         #
         ###
         
         ### Address info: for RSW and RSB the address of the requestor is ignored 
         #
         kmehr.hubservicev3.identifier.address.cd.sv=1.0
         #
         # The address type of the end user person
         kmehr.hubservicev3.identifier.address.cd.value=careaddress
         #
         kmehr.hubservicev3.identifier.address.cd.schemes=cdaddress
         #
         # the NIS code of the address of the end user person
         kmehr.hubservicev3.identifier.address.nis=Your nis
         #
         ###
         
 
3.14.0-beta-0 release (september 2017)
 . initial release
