class Dstu3PatientResourceProvider extends AbstractPatientResourceProvider<Patient> {

    @Nonnull
    @Operation( name = "$everything", idempotent = true )
    public Bundle patientInstanceEverything( @Nonnull RequestDetails requestDetails, @IdParam IIdType patientId )
    {
        validateUseCase( requestDetails );

        final Bundle bundle = new Bundle();
        patientInstanceEverything( patientId, ( fhirResourceType, resources ) -> resources.forEach( r -> bundle.addEntry().setResource( (Resource) r )
            .setFullUrl( createFullUrl( requestDetails, fhirResourceType, r ) ) ) );

        return bundle;
    }

    public  Dstu3PatientResourceProvider( @Nonnull FhirClientResourceRepository fhirClientResourceRepository, @Nonnull FhirClientSystemRepository fhirClientSystemRepository,
        @Nonnull FhirRepository fhirRepository, @Nonnull DhisRepository dhisRepository );

}