If I’m not mistaken, this is the mailing list for the HAPI HL7v2 library. This code below looks to be using HAPI FHIR – different library. See the get help section here for more info: https://hapifhir.io/
Incidentally, you are creating a new (empty) Patient object, then trying to fetch the name. It doesn’t have one because you haven’t set one. From: Russell Bateman <r...@windofkeltia.com> Sent: Tuesday, June 13, 2023 1:54 PM To: hl7api-devel@lists.sourceforge.net Subject: [External] [HAPI-devel] Unable to inspect gender and birthdate in Patient This message is from an EXTERNAL SENDER - be CAUTIOUS, particularly with links and attachments. ________________________________ In the code below, I have an incoming Patient which has all the fields that interest me filled in (see debugger image, but if it doesn't come through, it shows that patient is filled out for name, gender, birthdate and address). However, when I attempt to inspect gender and birthdate, these are null despite the API telling me they exist (which, of course, they do--see attached image). Note that I create a new Patient, named worthy, and experimentation demonstrates that my code below copies the name and the address successfully to worthy. It's just trying to copy gender and birthdate that result in null. If I stop at the lines with *******, patient.getGender() and patient.getBirthDate() return null. There must be some very fundamental bit of understanding of which I'm completely ignorant. { worthy = new Patient(); // name if( !patient.hasName() ) patientTooThin( "name" ); HumanName humanName = patient.getNameFirstRep(); List< StringType > givens = humanName.getGiven(); String family = humanName.getFamily(); String first = null, middle = null; for( StringType given : givens ) { if( isNull( first ) ) first = given.toString(); else if( isNull( middle ) ) middle = given.toString(); else break; } if( isNull( family ) || isNull( first ) ) patientTooThin( "first or last name" ); worthy.setName( Collections.singletonList( humanName ) ); // gender ************* if( !patient.hasGender() ) patientTooThin( "gender" ); worthy.setGender( patient.getGender() ); // *************** // birthDate if( !patient.hasBirthDate() ) patientTooThin( "birth date" ); worthy.setBirthDate( patient.getBirthDate() ); // *************** // address if( !patient.hasAddress() ) patientTooThin( "address" ); worthy.setAddress( Collections.singletonList( patient.getAddressFirstRep() ) ); } ________________________________ This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security, AI-powered support capabilities, and assessment of internal compliance with Accenture policy. Your privacy is important to us. Accenture uses your personal data only in compliance with data protection laws. For further information on how Accenture processes your personal data, please see our privacy statement at https://www.accenture.com/us-en/privacy-policy. ______________________________________________________________________________________ www.accenture.com
_______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hl7api-devel