Problem:
During EH/Spectrum mapping element name in EH configuration does not match the name in Spectrum
Environment :
Version: eHealth 6.3.1.01
OS version : Windows 2008 r2
Workaround:
To fix this, you would need to disable element names synch (on Spectrum side), then fix the elements on EH side by following up, below is example, you will need to use appropriate patterns to match their elements:
1. Run nhModifyElements against targeted elements to set isNameUserSupplied to 0, e.g.
nhListElements -where "name matches DeviceName*" | nhModifyElements -fieldName isNameUserSupplied -value 0
2. Run nhModifyElements against targeted elements to set sysLocation to any value, e.g.
nhListElements -where "name matches SGFJPADC01*" | nhModifyElements -fieldName sysLocation -value abc
3. Rediscover the device
Once you resolve all your element naming issues, you can go ahead and enable element synchronization from Spectrum. Just remember to never run a Discovery or Rediscovery from eHealth when that Sync is on, as that will create the duplicate or double naming issue.
Apparently once the flag is cleared, you can run rediscoveries and the names will be updated to their correct form (no longer doubling the host name). The rediscoveries however need to be done from the eHealth side instead of the Spectrum side . If anything you can test rediscovery of one device from Spectrum to see if eHealth updates the name properly. If not, then try a different device and rediscover it only from the eHealth side. If that updates the names properly, then go ahead and try to rediscover the same device (which was just updated) from Spectrum to ensure that when the results get pushed to eHealth that the naming doesn't get doubled again.
So In Short - you need to do the following.
1. nhListElements -where "isNameUserSupplied = 1" –outFile list.dci
2. nhModifyElements -fieldName isNameUserSupplied -value "0" -inFile list.dci
3. nhModifyElements -fieldName sysLocation -value "abc" -inFile list.dci
4. rediscover the config, bit by bit, in eHealth
Just by disabling element synchronizing from Spectrum is not going to solve this problem
1. Delete retired elements
2. Decide which elements to keep by running trend report.
3. Get the device listed under a dci file with the following command. Please name the file according to the device name - for future references and to avoid confusion
nhListElements -where "name matches *" -outFile MHSDCN.dci
4. Check the output file for results and ensure they are same numbers as OCE.
5. Please ensure the isNameUserSupplied is set to 0
nhListElements -where "isNameUserSupplied = 1"
If the result is blank, this is fine. But, if you find device listed under above command, run the following.
nhListElements -where "isNameUserSupplied = 1" -outFile list.dci
nhModifyElements -fieldName isNameUserSupplied -value "0" -inFile list.dci
6. Change sysLocation value for the device in question with the following command. This will trigger rediscover save.
nhModifyElements -fieldName sysLocation -value "abc" -inFile FILENAME.dci
Refresh OCE screen and ensure that the sysLocation for this device is set to "abc"
7. Once done, rediscover the device from OCE.
8. If everything has gone well as mentioned above, then eHealth should have all the elemen ts from the device as updatedelements
9. Save results and refresh OCE screen again, and you should see a good device name now.