Date: Fri, 29 Mar 2024 23:44:15 +1000 (AEST) Message-ID: <763350365.1194.1711719855915@dsp-kbconf-01.ad.medicalobjects.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1193_178161282.1711719855891" ------=_Part_1193_178161282.1711719855891 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Just as known previous medical history can help inform decision making a= bout a presenting complaint, a properly constituted family history ca= n be very helpful. Here is some code that illustrates the pedigree model of= HL7 as implemented in the HL7 V2 VMR, which is the default model for the M= edical Objects GELLO editor.
As before, lets add some data to our test file:
&nb= sp;<familyHistory>
&nbs= p; &= nbsp; <!-- for the following I= I datatypes root is not correct but is taken as an example from iso-2= 1090-examples.xml-->
&nbs= p; &= nbsp; <patientsFamilyTreeID ro= ot=3D"2.16.840.1.113883.12.333" extension=3D"001" />
&nbs= p; &= nbsp; <naturalMotherID root=3D= "2.16.840.1.113883.12.333" extension=3D"002" />
&nbs= p; &= nbsp; <naturalFatherID root=3D= "2.16.840.1.113883.12.333" extension=3D"003" />
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Bertha" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"65656005"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "natural mother" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <translation code=3D"NMTH"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.1.11.19563= "
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nb= sp; codeSystemName=3D"HL7_PersonalRelationshipType"= >
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "natural mother"= />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </translation>
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"002" />
&nbs= p; &= nbsp; &nbs= p; <naturalM= otherID root=3D"2.16.840.1.113883.12.333" extension=3D"007" />
&nbs= p; &= nbsp; &nbs= p; <naturalF= atherID root=3D"2.16.840.1.113883.12.333" extension=3D"006" />
&nbs= p; = &nb= sp; <deceasedEstim= atedAge></deceasedEstimatedAge>  = ; <!--REAL--> &n= bsp;
&nbs= p; &= nbsp; &nbs= p; <livingEs= timatedAge value =3D "76" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"254837009"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of breast" /&g= t;
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "39" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <geneticLoci value =3D "MSI-HIGH" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"254837009"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of breast" /&g= t;
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "46" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <geneticLoci value =3D "MSI-HIGH" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Bruce" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"9947008"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "natural father" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <translation code=3D"NFTH"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.1.11.19563= "
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nb= sp; codeSystemName=3D"HL7_PersonalRelationshipType"= >
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "natural father"= />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </translation>
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"003" />
&nbs= p; &= nbsp; &nbs= p; <livingEs= timatedAge value =3D "78" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <clinicalObservation code=3D"68496003"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "polyp of colon"= />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <dataEstimatedAge value =3D "59" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Alison" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"73678001"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "natural sister" />
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"004" />
&nbs= p; &= nbsp; &nbs= p; <naturalM= otherID root=3D"2.16.840.1.113883.12.333" extension=3D"002" />
&nbs= p; &= nbsp; &nbs= p; <naturalF= atherID root=3D"2.16.840.1.113883.12.333" extension=3D"003" />
&nbs= p; &= nbsp; &nbs= p; <deceased= EstimatedAge></deceasedEstimatedAge> = <!--REAL--> &nb= sp;
&nbs= p; &= nbsp; &nbs= p; <livingEs= timatedAge value =3D "52" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"363406005"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of colon" />= ;
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "49" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Colin" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"394857004"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "maternal Grandfather" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <translation></translation>
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"006" />
&nbs= p; &= nbsp; &nbs= p; <deceased= EstimatedAge value=3D"84" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"399068003"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of prostate" /= >
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "71" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <geneticLoci></geneticLoci>
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Deidre" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"394859001"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "maternal Grandfather" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <translation></translation>
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"007" />
&nbs= p; &= nbsp; &nbs= p; <deceased= EstimatedAge value=3D"72" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"363406005"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of colon" />= ;
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "true" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "71" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <geneticLoci></geneticLoci>
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Bill" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"38048003"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "uncle" />
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"005" />
&nbs= p; &= nbsp; &nbs= p; <naturalM= otherID root=3D"2.16.840.1.113883.12.333" extension=3D"007" />
&nbs= p; &= nbsp; &nbs= p; <naturalF= atherID root=3D"2.16.840.1.113883.12.333" extension=3D"006" />
&nbs= p; &= nbsp; &nbs= p; <deceased= EstimatedAge></deceasedEstimatedAge> = <!--REAL--> &nb= sp;
&nbs= p; &= nbsp; &nbs= p; <livingEs= timatedAge value =3D "70" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"363406005"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Malignant tumor of colon" />= ;
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "62" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; &= nbsp; <relatives>
&nbs= p; &= nbsp; &nbs= p; <relative= Name value =3D "Sandra" />
&nbs= p; &= nbsp; &nbs= p; <relation= ship code=3D"34581001"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <displayName value =3D "niece" />
&nbs= p; &= nbsp; &nbs= p; </relatio= nship>
&nbs= p; &= nbsp; &nbs= p; <relative= ID root=3D"2.16.840.1.113883.12.333" extension=3D"010" />
&nbs= p; &= nbsp; &nbs= p; <naturalM= otherID root=3D"2.16.840.1.113883.12.333" extension=3D"004" />
&nbs= p; &= nbsp; &nbs= p; <naturalF= atherID root=3D"2.16.840.1.113883.12.333" extension=3D"008" />
&nbs= p; &= nbsp; &nbs= p; <deceased= EstimatedAge></deceasedEstimatedAge> = <!--REAL--> &nb= sp;
&nbs= p; &= nbsp; &nbs= p; <livingEs= timatedAge value =3D "20" />
&nbs= p; &= nbsp; &nbs= p; <clinical= GenomicChoices>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <clinicalObservation code=3D"34486009"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystem=3D"2.16.840.1.113883.6.96"
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; codeSystemName=3D"SNOMED-CT">
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; &= nbsp; <displayName value =3D "Hyperthyroidism" />
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; </clinicalObservation>
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <negationIndicator value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <causeOfDeath value =3D "false" /><!--BL-->
&nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; <dataEstimatedAge value =3D "4" />
&nbs= p; &= nbsp; &nbs= p; </clinica= lGenomicChoices>
&nbs= p; &= nbsp; </relatives>
&nbs= p; </familyHistory>
Save as fourthTest.xml.
Here is the full code:
Context HL7_v2_VMR_V1::SinglePatientLet colonCancer: CD =3D factory.CD= _SNOMED('363406005','malignant tumor of colon')Let naturalMother_SCT: CD =3D fact= ory.CD_SNOMED_CT('65656005')Let naturalFather_SCT: CD =3D fact= ory.CD_SNOMED_CT('9947008')Let naturalSister_SCT: CD =3D fact= ory.CD_SNOMED_CT('73678001')Let naturalBrother_SCT: CD =3D fac= tory.CD_SNOMED_CT('60614009')familyHistory.relatives->select= ((relationship =3D naturalMother_SCT&= nbsp; = or relationship =3D naturalFather_SCT&= nbsp; = or relationship =3D naturalSister_SCT&= nbsp; = or relationship =3D naturalBrother_SCT&= nbsp; = )&= nbsp; = and&= nbsp; = clinicalGenomicChoices -> select(clinicalObservation.implies(colonCance= r).value&= nbsp; = &nbs= p; and&= nbsp; = &nbs= p; (not negationIndicator.value)= pre>&= nbsp; = &nbs= p; and&= nbsp; = &nbs= p; dataEstimatedAge <=3D 50.0)-= >notEmpty()&= nbsp; = )->notEmpty()So going through it, as previously done we have set = up a concept to search for, namely colon cancer; we then say what codes to = describe the relation to first degree relatives will be; then we do the fin= al expression. The family history model we use says for a patient, relative= s have conditions (called a Clinical Genomic Choice).These conditions have = a code, a negation indicator (eg a condition may be not prese= nt) and an age of the relative at occurrence. So this GELLO example searche= s for some first degree relatives with a history of colon cancer occurring = before age 50. The patient's sister meets this criteria so the returned Seq= uences are not empty, which returns an answer of True.