***************************************************************
* eHealth Business Connector General Practioner RELEASE NOTES *
***************************************************************
3.27.0 release (september 2024)
   . changes already in 3.27.0-beta-1:
            - business service intrahub v1: update to hubservices xsd v1.3.0 that uses latest kmerh version 1.40.2
            - business service intrahub v3: update to hubservices xsd v3.6.0 that uses latest kmerh version 1.40.2


3.27.0-beta-1 release (june 2024)
   . change:
            - business service intrahub v1: update to hubservices xsd v1.3.0 that uses latest kmerh version 1.40.2
            - business service intrahub v3: update to hubservices xsd v3.6.0 that uses latest kmerh version 1.40.2


3.26.1 release (april 2024)
  . bug-fix         business connector eh2ebox and ehboxv3:
                        remove the text/plain or text/html restriction on the mime type of the message body, in order to be able to use other mime types for eH2eBox.
  . bug-fix         business connector MyCareNet Registration:
                        remove timezone from generated xml (some oa's do not accept it).


3.26.0 release (april 2024)
   . internal release


3.25.0 release (september 2023)
 . improvement      business connector MyCareNet ChapterIV: timestamp validation is now compatible with Timestamping V2. The timestamp is first validated against Timestamping V1. In case of failure,
                    the timestamp is then validated against Timestamping V2. That has an impact on the connector api:
                    
                    - The following method:
                    
                        public org.bouncycastle.tsp.TimeStampResponse getTimeStampResponse()
                    
                    - has been replaced with the following one:
                    
                         public org.bouncycastle.tsp.TimeStampToken getTimeStampToken()


3.24.0 release (april 2023)  
    . improvement        default connector service calls to signature algorithm RSA-SHA-256
    . improvement        default STS to WS-Trust interface, in order to use by default the new version of SecurityTokenService,
                         which includes the latest hashing (SHA-256) and signing algorithms (RSA-SHA-256 / ECDSA-SHA-256).    
                         This change should be reflected in terms of sts endpoint config:
                         
                               endpoint.sts=$uddi{uddi:ehealth-fgov-be:business:iamsecuritytokenservice:v1}  
  
   . change    Align SOAP actions to the Civics v2 WSDL. No Impact on client code.
   . deleting  business service Dics V3
   . deleting  business service MyCareNet eAttest V1

3.24.0-beta-4 release (december 2022)
    . bugfix          business service eAttest v3: the MessageVersion attribute specified in CancelAttestationRequestInput or SendAttestationRequestInput was not set by the connector in the Detail element,
                      leading to a service response containing the INVALID_MESSAGE_NAME error.
                      
    . bug-fix         Removal of the Sender element from common input (the presence of the Sender element, even if empty, may lead to the FORBIDDEN_COMMON_INPUT_ORIGIN_INPUT_SENDER MyCareNet error).               
        

3.24.0-beta-3 release (december 2022)
   . internal release
   
                     
3.24.0-beta-2 release (december 2022)
   . internal release   
   
    
3.23.0 release (october 2022)
    . improvement     business connector ehboxv3: align with WS Publication cookbook:
                       - For clarity, in the connector api DocumentMessage.document is renamed DocumentMessage.body.
                       - The connector now translates this body in the WS interface as EncryptableTextContent in the Document xml element (was translated as EncryptableBinaryContent).
                       - The MineType of the body must be text/plain or text/html.
                       - See the latest eHealtBox v.3 Publication WS cookbook for the full body specifications.

    . removing        business connector consultrn V1.

    . removing
            synchronous business service therlink: remove proof type SISREADING
            => method createProofForSisReading() removed from be.ehealth.businessconnector.therlink.builder.ProofBuilder interface.

    . improvement
            synchronous business service dicsV5: update to latest xsd-dics (5.1.4)

    . adding
            - synchronous business service eAttest v3
              See examples in examples\be\ehealth\businessconnector\test\mycarenet\attestv3\session

    . bugfix
            - ConsultRN v2 phonetic search: update xsd model to make possible a phonetic search without given names.
              See examples in examples\be\ehealth\businessconnector\test\consultrn\consultrnv2\session\ConsultrnSessionPersonServiceIntegrationTest


3.20.2 release (october 2020)
    .improvement
            - Person Service: update to xsd version 1.0.5
            - CBSS Person Service: update to xsd version 1.0.3

3.20.1 release (september 2020)
   . internal release
   
3.20.0 release (september 2020)
   . internal release
  
3.19.1 release (april 2020)
   . adding
            - synchronous business service ConsultRN v2 Person Service
            - synchronous business service ConsultRN v2 CBSS Person Service
            - synchronous business service DICS v5

   . improvement
            - new method for the business service WS Consent: getPatientConsentStatus
            - new method for the business service DICSv4: findNonMedicinalProduct
            - new target groups for the business service MemberData Sync/Async: clinical psychologists + clinical orthopedagogist

3.19.0 release (april 2020)
   . internal release

3.18.0 release (october 2019)

   . adding:
            - synchronous business service MemberData v2
            - synchronous business service Mediprima v2
              /!\ For the orgpharmacy target group the following additional saml attribute designator is required for Mediprima Consultation V2 (see configuration file):
                  urn:be:fgov:certified-namespace:ehealth,urn:be:fgov:ehealth:1.0:pharmacy:nihii-number:recognisedpharmacy:nihii11

   . bugfix
            - synchronous business service eAttest v2:
 
                    - The signature verifier now validates the signature of the response blob as a Xades-T with manifest referencing the 
                      request blob. In version 3.17.1 the validation was limited to the Xades-BES specification.
                      In order to validate the manifest against the request the ResponseObjectBuilder interface has been altered in order
                      to pass it the necessary request data for both the encrypted and not encrypted cases.
                      
                    - In class be.ehealth.businessconnector.mycarenet.attestv2.domain.SignedBuilderResponse the method getSignedData()
                      now returns the byte array representation of the signed blob (this is the same value returned by 
                      the method CancelAttestationResponse.getReturn().getDetail().getValue()). In version 3.17.1 getSignedData()
                      was returning the byte array passed to the signature verifier (the MyCarenet response + the signature).
                  
                    - As requested by the CIN the the xml type xs:time is now marshalled by the eAttest V2 business connector
                      with the format hh:mm:ss. 
                      In order to apply only this format to eAttest V2 the business request and response Java types 
                      have been moved to MyCarenet-specific packages: 
                          - be.fgov.ehealth.standards.kmehr.schema.v1 => be.fgov.ehealth.standards.kmehr.mycarenet.schema.v1
                          - be.fgov.ehealth.standards.kmehr.cd.v1 => be.fgov.ehealth.standards.kmehr.mycarenet.cd.v1
                          - be.fgov.ehealth.standards.kmehr.id.v1 => be.fgov.ehealth.standards.kmehr.mycarenet.id.v1
                          - be.fgov.ehealth.standards.kmehr.dt.v1 => be.fgov.ehealth.standards.kmehr.mycarenet.dt.v1
                          - be.fgov.ehealth.messageservices.core.v1 => be.fgov.ehealth.messageservices.mycarenet.core.v1
                      /!\ As a result the following interfaces have been altered with the new package namespaces:
                          - RequestObjectBuilder
                          - ResponseObjectBuilder

                    - The project identifier has been renamed from attest to attestv2. This make it possible to define a specific 
                      kmehr configuration for eAttest V1 vs eAttest V2.
                      Note that the supplied connector configuration file should have the following properties:
                      
                      # eAttest V2 configuration of kmehr builder
                      kmehr.attestv2.usedefaultproperties=false
                      kmehr.attestv2.hcpartylist=identifier
                      kmehr.attestv2.identifier.id.inss.value=${careprovider.inss}
                      kmehr.attestv2.identifier.id.inss.sv=1.0
                      kmehr.attestv2.identifier.id.idhcparty.value=${careprovider.nihii}
                      kmehr.attestv2.identifier.id.idhcparty.sv=1.0
                      kmehr.attestv2.identifier.cd.cdhcparty.value=${main.kmehr.quality}
                      kmehr.attestv2.identifier.cd.cdhcparty.sv=1.14
                      kmehr.attestv2.identifier.firstname=${careprovider.firstname}
                      kmehr.attestv2.identifier.lastname=${careprovider.lastname}
                      
                      
3.17.1 release (april 2019)
   . adding:
            - synchronous business service MemberData 
            - synchronous business service eAttest v2 
   . change:
            - business service intrahub v1: Support fort the ID-ENCRYPTION-KEY kmehr identifier. This identifier is meant to be added to the hcparty identifiers of the request for operations where the response must be encrypted.
              The ID-ENCRYPTION-KEY value contains the base64 encoded ETK of the sender.
              By default ID-ENCRYPTION-KEY is not added since service providers might not be compliant yet.
              To activate ID-ENCRYPTION-KEY the config property see migration.guide.persphysician.txt.  

3.17.0 release (april 2019)
 . internal release 
               
3.16.1 release (october 2018)
   . adding:
            - business service therlink
            - new therlink operation HasTherapeuticLink
   . change:
            - business service intrahub v1: Support fort the ID-ENCRYPTION-KEY kmehr identifier. This identifier is meant to be added to the hcparty identifiers of the request for operations where the response must be encrypted.
              The ID-ENCRYPTION-KEY value contains the base64 encoded ETK of the sender.
              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.  
              
3.16.1 release (october 2018)
   . adding:
            - business service therlink: new operation HasTherapeuticLink  
   . change:
            - business service intrahub v3: Support fort the ID-ENCRYPTION-KEY kmehr identifier. This identifier is meant to be added to the hcparty identifiers of the request for operations where the response must be encrypted.
              The ID-ENCRYPTION-KEY value contains the base64 encoded ETK of the sender.
              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.             
   . bugfix:
            - business service registration: remove mandatory checks on fields InputReference, NIPReference, OutputReference of mycarenet CommonOutput. These fields
              are optional in the mycarenet response.       
                
3.16.0 release (september 2018)
 . internal release                   
            
3.15.1 release (april 2018)
   . adding:
            - new business service dicsv4
            - new business service consultrn (includes identifyPerson, phoneticSearch and managePerson.registerPerson)
            - new business service mediprimauma
            - new business service eh2ebox (included in the ehboxv3 module) 
            - new generic async business service genins (geninsasync module)

3.15.0 release (april 2018)
 . internal release
             
3.14.2 release (february 2017)
    . see    release.notes.business-intrahubv3.txt

3.14.2-beta-1 release (november 2017)

3.14.2-beta-0 internal release (november 2017)

3.14.1 release (octobre 2017)

3.14.0 release (octobre 2017)
   
3.14.0-beta-0 release (september 2017)
   . adding    new business service intrahub v3
   . adding    new business service mediprima
   
3.13.1 release (juli 2017)
   . adding    new business service MyCarenet eAttest

3.13.0 internal release (july 2017)

3.12.1 release (juin 2017)  
   . adding    new business service Civics V2
   . adding    new business service Dics V3
   . deleting  business service Civics V1
   . deleting  business service Dics V2

3.12.0 internal release (mai 2017)

3.11.1 release
  .  bugfix for dll incompatability in utilities-addressbook

3.11.0 internal release (october 2016)
  .  adding    new business services dics v2
  .  removing  business service civics ( old version of dics and dicsv2) removed , we only support 2 versions at a time
  
3.10.4 release (september 2016)
  . using latest version of technical connector 3.10.4
  . using latest version of business connector 3.10.4
  
3.10.3 release
   . internal release
   
3.10.2 release (july 2016)
  . using latest version of technical connector 3.10.2
  . using latest version of business connector 3.10.2 
  
3.10.1 release
   . internal release

3.10.0 release (june 2016)
   . improvement      uniformisation of all connector versions
   
3.4.11 (may 2016)
  . internal partner release (not published on ehealth portal only distributed to Recipe, Reseau Santé Wallon and Vitalink)
  . change    uniformisation of release numbering 
  . adding    new business service addressbook
  . adding    bootstrap configurations for all business modules
  . change	  config properties splitted between sender and careprovider properties ( makes mandate configurations easier)
  . upgrade   technical connector version 3.4.11
  . upgrade   business connector 3.4.11
  
3.8.0-beta-2
  . upgrade   technical connector version 3.4.0_beta-9
  . upgrade   business connector 3.4.0-beta-9 
  
3.6.0-beta-4
  . upgrade   technical connector version 3.4.0_beta-4
  . upgrade   business connector version 3.4.0_beta-4
  . adding    added projects mycarenet tarification and configuration for mycarenet facturation

3.6.0-beta-3
  . upgrade   technical connector version 3.4.0_beta-3
  . upgrade   business connector version 3.4.0_beta-3

3.6.0 beta-0
  . change    technical connector version 3.4.0_beta-2
  . adding    added projects mycarenet registration

3.5.0 beta-0
  . change    technical connector version 3.4.0_beta-0
  . adding    added projects dmg and genAsync 
            
 
3.4.0 release 
  . change    added projects dmg and genAsync 
  . change    technical connector version 3.3.0_beta-3
  . change    Some property names have changed : 
                  chapterIV.package.license.username => chapterIV.package.licence.username
                  genins.user.username => genins.package.licence.username
                  genins.user.password => genins.package.licence.password
  . change    Some properties are required now for therlink : the properties kmehr.single.hcparty.template.careprovider.in.therapeuticlink.*

3.2.0 beta release
  . improvement    architecture changes    new IKVM version (7.4.4981 ehealth edition)
  . improvement    generated DLL are stronged typed (needed for COM interface)
  . improvement    no fat dll is generated but serveral dll easier for third parties to depends on the ehealth connector.
  . improvement    refactoring generic sender in order to provide a more open and flexible implementation
  . upgrade        new version of the technical connector (3.2.0_beta-1)
  . adding         new business service ehbox v3
  . adding         new business service therlink
  . adding         new business service ws consent
  . bug-fix        delete of some business checks
  . change         jaxb generation is done a bit different : some method names for lists have changed : now the name of the list property is plural : example getAdresses instead of getAdress
  . improvement    removed Thread.currentThread().setContextClassLoader(getClass().getClassLoader()) : now this is done in a module configured in property file for .net implementations

3.1.0 beta release
  . improvement    kmehr version update to 1.5.1
  . improvement    added method deleteMessage to ehboxV2
  . improvement    business adaptations chapterIV :
  . changed        interface : reference parameters are now created with ChapterIVReference object 
                       . modification in genins : now works with the unified configuration file
  . bug-fix        fix for chapter IV: referenceParameters are now set to correct values 
  . bug-fix        fix for intrahub :invalid port for timestampAuthority 
  . improvement    business adaptations chapterIV:
                       . changed interface for builders and service : now extra parameter agreementStartDate is required , see javadoc 
                       . ResponseHandler is renamed to ResponseBuilder
                       . new return object : ChapterIVKmehrResponseWithTimeStampInfo : it contains the timestampResponse and the KmehrResponse , both as jaxb object and as byteArrays to be stored by the client
                       . added utility method FaultType retrieveReturnInfo(response) in ResponseBuilder : retrieves error after soa exception
                       . the methods to create the builderfactory have changed, see javadoc
  . added          Generic Insurability business connector: be.ehealth.businessconnector.genins
  . change         chapter IV: the FolderType is not changed anymore (no author info,... is put)
  . improvement    chapter IV validation for incoming XML is now optional
  . change         recipe: XSD validation for notifications is disabled
  . added          intrahub : new interface for WS calls IntrahubServiceComplete which will return the complete WS response object
  . improvement    ehboxv2: added possibility to specify Receipt elements from ContentSpecification part of sendMessageRequest through the builder
 
 3.0.0 beta release
  . improvement    architecture changes :
                       . business module business-gp is split in seperate modules for each business component
                       . removed specific property file for business connector
                       . new unified binding file that is used in every project
                       . using joda time (http://joda-time.sourceforge.net/) instead of java.util.Calendar to simplify date handling
  . added          chapterIV business module
  . improvement    be.ehealth.businessconnector.ehbox                                       migrating domain objects to separated package in order to better support new ehbox versions
  . improvement    be.eheealth.businessconnector.intrahub                                   service methods doesn't works with string as input and output but responds with an kmehr object. 
                                                                                            builders are provided to convert kmehr to string and string to kmehr in order to guarantee backwards compability.
  . improvement    integration new eHealth Technical connector (v3.0.0 beta)
  . improvement    architecture changes                                                     change object creation is now done with factories, and its possible to provide custom implementation ( which should implement the required interface )                                     .
                                                                                            remove XSD and WSDL as external dependency. 
  . improvement    be.ehealth.technicalconnector.beid.*                                     adding some helper classes to read the content of the eID (using Fedict commons-eid lib)
  . improvement    be.ehealth.technicalconnector.config.*                                   adding framework to validate if the required properties are present in the configuration file
                                                                                            adding the possibility to load on start up some configuration modules (see information in properties file for more info)
  . improvement    be.ehealth.technicalconnector.exception.*                                refactoring the way of creating exception (removed ExceptionFactory)
  . adding         be.ehealth.technicalconnector.idgeneration.*                             service that provides an unique id for the moment only an id based on DateTime is implemented.
  . adding         be.ehealth.technicalconnector.service.sts.*                              adding support for the STS SAML Sender-Vouches profile                 
  . adding         be.ehealth.technicalconnector.service.sts.security.*                     framework to work with eID based on the PKCS11 or PCSC technology (using Fedict commons-eid lib)                     
  . adding         be.ehealth.technicalconnector.session.*                                  framework for creating and maintaining a session
  . adding         be.ehealth.technicalconnector.utils.DateUtils                            Utility class to facilitate the use of joda time
  . improvement    be.ehealth.technicalconnector.utils.IOUtils                              Utility class to facilitate the IO operations (some methods are added for the .NET support)
 
2.0.7 FINAL    release
  . bug-fix        be.ehealth.businessconnector.ehboxV2.builders.ConsultationBuilder        if unsealing of a message doesn't works: the exception in logged and thrown 
  . bug-fix
  . improvement    integration new eHealth Technical Connector (v2.0.7)
  . bug-fix        be.ehealth.technicalconnector.security.EIDReader                         remove nullpointer when no card is inserted
  . bug-fix        be.ehealth.technicalconnector.utils.MarshallerHelper                     adding property that default charset is UTF-8    
 
2.0.6 FINAL release
  . bug-fix        be.ehealth.businessconnector.ehboxV2.builders.ConsultationBuilder        changing the construction of the NewsMessage. Avoid null response for getTitle() and getContent()
  . improvement    be.ehealth.businessconnector.ehboxV2.builders.SendMessageBuilder         adding UTF-8 flag for every getBytes() and toString()
  . improvement    be.ehealth.businessconnector.ehboxV2.builders.ConsultationBuilder        adding UTF-8 flag for every getBytes() and toString()
  . KNOWN ISSUES/LIMITATIONS
        . SessionManagment.createSession only works on a 32-bit JVM (1.6.0 or higher). The 64-bit JVM doesn't contains sun.security.pkcs11.SunPKCS11 class.

2.0.5 FINAL release
  . bug-fix        be.ehealth.businessconnector.ehboxV2.builders.SendMessageBuilder         remove nullpointer when no message doesn't contains freeText
  . bug-fix        be.ehealth.businessconnector.security.etk.EtkServiceImpl                 adding support for searching an ETK based on the professional nihii number
  . improvement    be.ehealth.businessconnector.security.etk.ETKCacheManager                adding some debug logging
  . KNOWN ISSUES/LIMITATIONS
        . SessionManagment.createSession only works on a 32-bit JVM (1.6.0 or higher). The 64-bit JVM doesn't contains sun.security.pkcs11.SunPKCS11 class.
  
2.0.4 TEMP release
  . bug-fix        be.ehealth.businessconnector.ehboxV2.service.ServiceFactory              update configuration property to load ehboxv2 wsdl
  . KNOWN ISSUES/LIMITATIONS
     . SessionManagment.createSession only works on a 32-bit JVM (1.6.0 or higher). The 64-bit JVM doesn't contains sun.security.pkcs11.SunPKCS11 class.
 
2.0.3 TEMP release
  . bug-fix        HubReplyValidatorImpl    remove null pointer when AcknowledgeType doesn't have a description
  . bug-fix        AuthProviderFactory      update fully qualified name of AuthProviderAdaptor class
 
2.0.2 TEMP release
  . bug-fix   update configuration property to load ehboxv2 wsdl
  . bug-fix   remove reflection for error message translation (resolving ERROR - BUNDLE exception)
  . bug-fix   desactivating incoming message validation when message is encrypted
  . update    ehboxV2 wsdl/xsd in order to match Venetian Blind Design pattern (resolving JAXBContext security error)
  . update    SAM CIVICS WSDL/XSD to latest version
  . add       findCNK on CivicsService and SamCivicsService
  . add       runtime dependencies (XercesImpl and serializer) 

2.0.1 FINAL release
  . bug-fix   remove policies from wsdl
  . bug-fix   remove unused imports in testclasses
       /!\  only the packaging is changed. The signed libraries are the same

2.0.0 FINAL release
  . adding    outgoing message validation for business services (intrahub, ehbox v2, recipe and civics)
  . adding    incoming message validation for business services (intrahub, ehbox v2, recipe and civics)
    The incoming message validation can be disabled by setting the corresponding property (validation.incoming.*.message) to false
    

2.0-beta3
  . adding    proxy support through properties
  . adding    logging support through properties
  . bug-fix   generic sender (avoid NAMESPACE_ERR when root element contains namespace prefix)
  . bug-fix   IntraHubTransactionService.getTransactionList(...)
      If the acknowledge doesn't contains any errors, an empty transactionlist may be recieved. In this case this method will return null.
  . bug-fix   IntraHubTherapeuticLinkService.getTherapeuticLink(...)
     If the acknowledge doesn't contains any errors, an empty TherapeuticLink list may be recieved. In this case an empty list will be returned.
     

2.0-beta2
  . adding    loadPersonalCertificate in the SessionManager in order to lead the personal certificate after session creation.

2.0-beta
  . Updated binding library
     /!\  It is not possible anymore to set a list directly by his direct setter. For example object.setList(List<?>)
          This is replaced by object.getList().addAll(List<?>)
  . Integrating the latest eHealth Technical Connector (v2.0-beta)
  . Integrating ehbox v2 (ehbox v1 is deprecated)
  . Removed the cache implementation in the ETKCachManager (see ETEE design specifications)
     For this reason ETKCacheManger.flushCache() and MultiKey are deprecated.  
  . ETKCacheManager.getEtk(KgssIdentifierType, Long, String) is deprecated;
     This is replaced by ETKCacheManager.getEtk(IdentifierType,Long, String)
  . ETKCacheManger.getKgssEtk() is deprecated. 
     This is replaces by EtkBusinessService.KGSS.getETK()
  . ETKCacheManger.getRecipeEtk() is deprecated. 
     This is replaces by EtkBusinessService.RECIPE.getETK()
  . IdentifierTypes is deprecated and replaced by IdentifierType.
  . Minor refactoring (cleaner code base) 
 
1.0.0 FINAL release
  . added Generic Service
  . externalisation of config file
  . improved error handeling
  . several performance fixes

1.0-beta2
  . bugfixing UTF-8 support 
  . several minor fixes for clear error messages 

1.0-beta
  . initial version
  
