class R4HumanNameFhirToDhisTransformerUtils extends AbstractHumanNameFhirToDhisTransformerUtils {

    @Override
    @Nullable
    public String getFirstGiven( @Nullable ICompositeType humanName )
    {
        if ( ( humanName == null ) || ( (HumanName) humanName ).getGiven().isEmpty() )
        {
            return null;
        }
        return ( (HumanName) humanName ).getGiven().stream().findFirst().map( PrimitiveType::getValue ).orElse( null );
    }

    public  R4HumanNameFhirToDhisTransformerUtils( @Nonnull ScriptExecutionContext scriptExecutionContext, @Nonnull R4DateTimeFhirToDhisTransformerUtils dateTimeTransformerUtils );

}