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() ) );
  }


_______________________________________________
Hl7api-devel mailing list
Hl7api-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to