docs: @Override
  	public void initialize() {
  		/*
  		 * Two resource providers are defined. Each one handles a specific
  		 * type of resource.
  		 */
  		List<IResourceProvider> providers = new ArrayList<>();
  		providers.add(new PatientResourceProvider());
  		providers.add(new OrganizationResourceProvider());
  		setResourceProviders(providers);
  		
  		/*
  		 * Use a narrative generator. This is a completely optional step, 
  		 * but can be useful as it causes HAPI to generate narratives for
  		 * resources which don't otherwise have one.
  		 */
  		INarrativeGenerator narrativeGen = new DefaultThymeleafNarrativeGenerator();
  		getFhirContext().setNarrativeGenerator(narrativeGen);
  
  		/*
  		 * Enable CORS
  		 */
  		CorsConfiguration config = new CorsConfiguration();
  		CorsInterceptor corsInterceptor = new CorsInterceptor(config);
  		config.addAllowedHeader("Accept");
  		config.addAllowedHeader("Content-Type");
  		config.addAllowedOrigin("*");
  		config.addExposedHeader("Location");
  		config.addExposedHeader("Content-Location");
  		config.setAllowedMethods(Arrays.asList("GET","POST","PUT","DELETE","OPTIONS"));
  		registerInterceptor(corsInterceptor);
  
  		/*
  		 * This server interceptor causes the server to return nicely
  		 * formatter and coloured responses instead of plain JSON/XML if
  		 * the request is coming from a browser window. It is optional,
  		 * but can be nice for testing.
  		 */
  		registerInterceptor(new ResponseHighlighterInterceptor());
  		
  		/*
  		 * Tells the server to return pretty-printed responses by default
  		 */
  		setDefaultPrettyPrint(true);
  		
  	}