Date: Fri, 29 Mar 2024 20:28:20 +1000 (AEST) Message-ID: <86191116.1164.1711708100812@dsp-kbconf-01.ad.medicalobjects.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1163_878414112.1711708100779" ------=_Part_1163_878414112.1711708100779 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
GELLO code will be used to determine the reference range for a Physical = Quantity. This functionality is crucial for the pathology domain. Patient c= haracteristics such as age, gender, weight, pregnancy status and fasting st= atus can be used in the GELLO algorithm. Reference Ranges can be simply set= by typing the value in the ReferenceRange attribute and s= etting HasReferenceRange to True. However when the referen= ce range changes depending on retrieved patient state data (from the virtua= l medical record (vMR) for example) you need to use GELLO in OnCalc= ReferenceRange, not the ReferenceRange attribute.=
We'll keep it nice and simple and build on earlier work with our fruity = friend again.
Open CEN-Apple.v1.xml one more time. What we are going to do is write GE= LLO that goes in the OnCalcReferenceRange tag on the RHS. = As reference ranges normally apply in the human pathology domain, the GELLO= that can describe them is really meant to be the result of GELLO query and= processing on patient data such as age and gender, available from the PMS = through the V.3 vMR interface. So for our apple example, it is best to spec= ify a reference range for a 'humanoid' apple which will have some given dat= e of birth.
Put the following GELLO v.1 code in the OnCalcReferenceRange=
attribute, for the 'Weight' node:
Context CEN_Apple_v1::ArchetypeRoot Let days28: PQ =3D PQ{value=3D28*24*60*60, unit=3D's'} Let dob: TS =3D vmr.patient.dob Let dobPlusFourWeeks: TS =3D dob + days28 Let isBabyApple: Boolean =3D dobPlusFourWeeks > factory.TS('now') Let result: String =3D if isBabyApple =3D true then '30-70' else '150-200' endif result
Cut and paste the following HL7 file text in its entirety into any t= ext editor and save the file somewhere on your computer as a text file name= d 'BabyApple.oru'
MSH|^~\&|EDITOR^EDITOR:Unknown^L|MO^123^GUID|||20070424153908+1100= ||ORU^R01|XX04241539656.7589|P|2.3.1^AUS&&ISO^AS4700.2&&L||= |||AUS PID|1||4024728675^^^AUSHIC^MC||Apple^Baby||20210619|M|||1 Woodgrove Lane^^A= nytown^QLD^4556