diff --git a/src/script/model/FHIRConverter.js b/src/script/model/FHIRConverter.js index be9d70a..7ce0317 100644 --- a/src/script/model/FHIRConverter.js +++ b/src/script/model/FHIRConverter.js @@ -282,6 +282,15 @@ FHIRConverter.extractDataFromFMH = function(familyHistoryResource, } } } + + if (familyHistoryResource.identifier){ + for (let i = 0; i < familyHistoryResource.identifier.length; i++) { + if (familyHistoryResource.identifier[i].system === "https://github.com/phenotips/open-pedigree?externalID"){ + properties.externalID = familyHistoryResource.identifier[i].value; + break; + } + } + } let dateSplitter = /([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2]|[1-9])(-(0[1-9]|[1-2][0-9]|3[0-1]|[1-9]))?)?/; if (familyHistoryResource.bornDate) { let bornDateSplit = dateSplitter.exec(familyHistoryResource.bornDate); @@ -2275,6 +2284,13 @@ FHIRConverter.buildFhirFMH = function(index, pedigree, privacySetting, } fmhResource['condition'] = conditions; } + + if (nodeProperties['externalID']){ + fmhResource['identifier'] = [{ + "system": "https://github.com/phenotips/open-pedigree?externalID", + "value": nodeProperties['externalID'] + }]; + } return fmhResource; };