Dienst · AI-ontwikkeling

AI intake integratie.

Vervang traditionele formulier-intakes door een conversational AI-flow die context begrijpt, op het juiste moment doorvraagt, en gestructureerde data oplevert voor jouw EPD, CRM, HRIS of zaaksysteem. Voor zorg, advocatuur, HR, verzekeraars, overheid en B2B-sales. Geen los chatbot-experiment — een afgebakende intake-laag, in jouw merk, met AVG, NEN 7510 en AI Act vanaf het begin op orde.

Conversational intakeEPD/CRM/HRIS-koppelingJSON-schema outputAI Act-conformBranche fine-tuning
Fabian van Dijk · Business developer · fabian.vandijk@appfront.nl

Een goede intake is geen formulier — het is een gesprek.

De meeste intake-flows in Nederlandse organisaties zien er nog altijd hetzelfde uit: een lange vragenlijst, dichtgetimmerd in dropdowns en verplichte velden, die de gebruiker dwingt om in het hokjesdenken van het achterliggende systeem te kruipen. Een patiënt met een klacht, een cliënt die een zaak aanmeldt, een nieuwe medewerker — allemaal door dezelfde geometrische trechter. Het resultaat: half ingevulde formulieren, foutieve classificaties, een tweede-lijns medewerker die alsnog moet bellen, en data die in een verkeerd veld is beland.

Een AI-intake doet het anders. De gebruiker beschrijft in eigen woorden wat er speelt — typend of pratend — en een taalmodel vertaalt dat naar de structuur die het achterliggende systeem nodig heeft. Mist informatie? Dan stelt de AI een follow-up. Klopt er iets niet? Dan vraagt hij om bevestiging. Zodra het gesprek klaar is, rolt er een nette JSON-payload uit met precies de velden die het EPD, het CRM, het HRIS of het zaaksysteem verwacht. Dat is de kern van wat wij bij AI-ontwikkeling dagelijks bouwen.

Wat onderscheidend werkt: we bouwen geen algemene chatbot die je daarna probeert te knippen. We bouwen een afgebakende intake-laag op basis van het JSON-schema dat aan de achterkant nodig is. De AI weet welke vragen hij moet stellen om dat schema gevuld te krijgen, en stopt zodra alles netjes is. Geen open einde, geen improviseren met advies dat het model niet mag geven. Branche-kennis — anamnese-protocollen, klacht-classificaties, juridische vraagsoorten — voegen we toe via een gerichte RAG-laag. Snel, goedkoop in gebruik, en uitlegbaar voor de toezichthouder.

Drie typische vormen van AI-intake.

AI-intake-integraties vallen in onze ervaring grofweg in drie categorieën, met telkens een ander zwaartepunt op compliance, integratie-diepte en gebruikersbeleving. Welke vorm bij jouw organisatie past, hangt af van het soort beslissing dat na de intake genomen wordt en de gevoeligheid van de data die wordt verzameld.

Embedded · in jouw portaal of app

Embedded intake-widget

Een conversational intake-component die je in een bestaande website, klantportaal of mobiele app inhangt. De gebruiker blijft in jouw huisstijl en wordt nooit naar een derde-partij-domein gestuurd. Geschikt voor verzekeraars die een schadeclaim willen aannemen, gemeenten met een melding-flow, of B2B-sales-teams die een eerste behoefte-uitvraag willen automatiseren. De output landt rechtstreeks in jouw CRM, ticket-systeem of zaaksysteem.

JS-widgetSSOCRM-koppelingEigen huisstijl
Voice-intake · telefoon of in-app

Voice-gedreven intake

De gebruiker belt of spreekt in een app, de AI luistert mee, structureert het gesprek tot de velden van jouw intake-schema, en de medewerker krijgt aan de andere kant een nette samenvatting in plaats van een ruwe call-opname. Voor zorg-triage, gemeentelijke 14-nummers, schadelijnen en support-call-centers waar het volume groot is. We koppelen een spraakherkenning-motor aan een LLM-laag die de transcriptie omtovert tot een gestructureerd intake-record.

Twilio / GenesysRealtimeDiarizationSentiment
Domein-specifiek · zorg, juridisch, HR

Diep geïntegreerde domein-intake

Een intake-laag die volledig is gemaakt voor één domein — een huisartsen-anamnese-app die volgens de NHG-richtlijn vragen stelt, een advocaten-intake die rechtsgebied-classificatie en conflict-check vooraf doet, of een HR-onboarding-flow die direct in het HRIS landt. Voor zorgcontext werken we volgens het kader van ons afsprakenportaal voor cliënten met NEN 7510-compliance vanaf de eerste sprint.

EPD-koppelingRAG op richtlijnenNEN 7510Conflict-check

Wat er aan het einde van het traject staat.

Een productieklare AI-intake-integratie die past in de werkstroom van jouw mensen en de architectuur van jouw IT — plus alles wat nodig is om hem te beheren, te auditen en uit te breiden. Code, prompts, schema's en modellen zijn van jou. Wij doen het beheer alleen als je dat zelf wil; je kunt morgen elders verder als dat beter uitkomt.

  • Conversational intake-laagEen chat- of voice-flow die de eindgebruiker door de intake leidt, in jouw huisstijl, met de toon en het taalniveau dat past bij de doelgroep.
  • JSON-schema gedreven outputEen formeel JSON-schema dat de structuur van een geldige intake beschrijft, met structured outputs / function calling die garandeert dat de output daaraan voldoet.
  • RAG-laag op jouw richtlijnenRetrieval-augmented generation op de protocollen, formularia of HR-handboeken van jouw organisatie, zodat het model terugvalt op vastgestelde bronnen.
  • Downstream-integratieKoppeling met je EPD (HiX, Epic, ChipSoft, CGM), HRIS (AFAS, Workday, BambooHR), CRM (Salesforce, HubSpot, Dynamics) of zaaksysteem.
  • Mens-in-de-loop-laagVoor intakes die een risicobeslissing voorbereiden — medische triage, juridische classificatie — een expliciete menselijke review-stap, AI Act-conform.
  • Volledige audit-trailIedere intake een traceable record: welke vragen, welke antwoorden, welk model met welke versie, welke RAG-bronnen, en welke menselijke acties.
  • EU-residency en privacy by designLLM-inferentie via Azure OpenAI in West-Europa, Claude via AWS Bedrock in Frankfurt, of een self-hosted model in een Nederlandse cloud.
  • DPIA, AI Act-classificatie en TIADe compliance-documentatie die de wet eist, klaar voor de FG en voor een eventuele audit door de toezichthouder.
  • Eigen prompts en versie-beheerPrompts, system-messages, few-shots en evaluatie-cases in een eigen git-repository met code-review en automated tests.
  • Beheer-contract (optioneel)Monitoring van intake-kwaliteit, model-updates, prompt-evaluaties op een groeiende test-set, en doorontwikkeling op basis van praktijk-patronen.

Voor wie wij AI-intake-integraties bouwen.

Acht patronen waar AI-intake in de praktijk waarde toevoegt. Herken je je organisatie of usecase in een van deze profielen, dan praten we graag verder — ook als je nog twijfelt of een eigen integratie de juiste keuze is in plaats van een standaard-pakket.

Zorg

Anamnese-intake voor huisartsen en GGZ

Patiënten beschrijven hun klacht in eigen woorden via een veilige patiëntenportaal-flow; de AI structureert dat tot een NHG-conforme anamnese met red flags vooraf gemarkeerd. Voor de huisarts of GGZ-behandelaar is het consult daardoor korter, scherper voorbereid, en het EPD-veld voor SOEP-S al ingevuld. Bij gevoelige doelgroepen — kindergeneeskunde, psychiatrie, oncologie — overleggen we expliciet welke vragen door een AI gesteld mogen worden en welke een mens vooraf moet leiden. Lees ook onze aanpak voor afsprakenportaal voor cliënten.

Juridisch

Zaak-classificatie voor advocatenkantoren

Een potentiële cliënt beschrijft zijn zaak; de AI classificeert het rechtsgebied (familierecht, arbeidsrecht, ondernemingsrecht, strafrecht), schat de urgentie in, doet een eerste conflict-check tegen het kantoorsysteem en bepaalt welke partner de zaak het beste kan oppakken. De cliënt krijgt sneller een gerichte terugkoppeling, en het kantoor verliest minder tijd aan zaken die buiten de praktijk vallen. Voor de hoog-risico-laag onder de AI Act regelen we de menselijke review-stap voor elke zaak die daadwerkelijk wordt aangenomen.

HR

Onboarding-flow voor nieuwe medewerkers

Een nieuwe medewerker doorloopt een conversational onboarding waarin de AI de hele set vragen stelt die HR anders via Excel of e-mails uitvraagt: adresgegevens, BSN, vakantieafspraken, hardware-voorkeur, reiskostendeclaratie. De data landt direct in het HRIS, IT-provisioning, reiskostentool en payroll. Voor de medewerker voelt het als één gesprek.

Sales

B2B-klant-onboarding en discovery

Een zakelijke klant beschrijft zijn vraag aan de AI; die stelt de discovery-vragen die een sales-engineer anders zou stellen — gebruikersaantallen, integratie-eisen, beslissingsproces — en levert een complete brief in plaats van een ruwe lead.

Verzekeren

Schade-intake voor verzekeraars

Een verzekerde die een aanrijding meldt, brand-schade claimt of een gestolen telefoon meldt, beschrijft het incident in een AI-gestuurd intake-gesprek. De AI vraagt door op de feiten, accepteert foto's via een upload-stap, classificeert het schadetype, en zet een eerste fraude-signaal als de factoren daartoe aanleiding geven. De schadebehandelaar pakt het op met een grotendeels af-dossier.

Overheid

Klacht- en melding-intake voor gemeente en utilities

Bewoners die een melding doen, een klacht indienen of een aanvraag insturen, doen dat via een conversational flow die de medewerker veel beter voorbewerk levert dan het huidige formulier. De AI categoriseert, wijst toe aan de juiste afdeling, en stelt follow-up-vragen.

Ziekenhuis

Pre-OK patiëntintake

Patiënten die een operatie wacht, doorlopen vooraf een digitale intake die de gegevens uitvraagt die de anesthesist en het OK-team anders mondeling moeten uitlezen: medicatie, allergieën, eerdere ingrepen, comorbiditeit, mobiliteit. De AI past zich aan op het antwoord en levert een gestructureerde pre-OK-checklist die rechtstreeks in het EPD landt naast het bestaande dossierbeheersysteem.

Onderwijs / publiek

Aanvraag- en aanmeld-intake

Voor hogescholen, gemeentelijke voorzieningen of onderwijs-aanmeldingen: een AI-flow die de aanvrager door alle relevante vragen leidt en de aanmelding gestructureerd in het backoffice-systeem zet. Met aandacht voor toegankelijkheid, taalniveau B1, en alternatieve invul-routes voor wie liever met een mens praat.

Welke LLM en stack passen.

We kiezen niet vooraf één favoriet model — we kiezen pas nadat we de usecase, de data-categorie, de talen en de privacy-eisen kennen. Een korte oriëntatie per kandidaat, zoals wij die in een eerste sessie met je doornemen. We werken vendor-onafhankelijk: jij bent eigenaar van de prompts en het schema, het model kunnen we morgen wisselen als de markt of de prijsstelling daar aanleiding toe geeft.

EU-residency · enterprise · Azure

Azure OpenAI (GPT-4-class)

Voor zorg-, overheids- en financiële klanten vaak de praktische keuze: EU-residency in West-Europa, integratie met Azure AD, datablokkade tegen training, en een bestaand Microsoft-contract dat inkoop vereenvoudigt. Sterke ondersteuning voor structured outputs en function calling.

Bedrock EU · Claude · sterk in lange context

Anthropic Claude via AWS Bedrock

Voor klanten op AWS die privacy-strikt willen draaien: Claude-modellen via Bedrock in EU-regio's, met sterke prestaties op Nederlandstalige context en een conservatief antwoordprofiel dat in compliance-gevoelige intakes prettig werkt.

Self-hosted · open-source · zero cloud

Mistral / Llama in eigen omgeving

Voor klanten die om beleidsredenen geen Amerikaanse cloud-provider in de stack willen — academische ziekenhuizen, advocatuur, defensie-context — draaien we een open-source LLM in eigen cloud of on-premise. Lager out-of-the-box, te compenseren met fine-tuning en RAG.

RAG-laag · vector-search · evaluatie

RAG en evaluatie-pipeline

Voor branche-kennis gebruiken we een vector-database (pgvector, Qdrant of Weaviate) met de organisatie-eigen documenten als bron. Daarnaast een evaluatie-pipeline die de intake-prompt automatisch test tegen een groeiende set realistische cases — zodat een prompt-wijziging niet stilletjes een type intake breekt.

Voice-laag · Twilio · WebRTC

Voice-stack voor telefoon en in-app

Voor voice-intake koppelen we een spraakherkenning-motor (Deepgram, AssemblyAI of Azure Speech) aan een telefonie- of WebRTC-laag (Twilio, Genesys, Amazon Connect) en aan de LLM. De AI luistert mee, structureert het gesprek, en kan op het juiste moment door-routeren naar een mens.

Front-end · widget · SSO

Embedded widget en authenticatie

De intake-component bouwen we als lichtgewicht JS-widget die in jouw portaal past, met SSO-koppeling (Azure AD, DigiD, eHerkenning, Auth0). Voor mobiel een native React Native- of Flutter-component.

Hoe een AI-intake-traject loopt.

1

Kennismaking, usecase en schema-definitie

Een gesprek waarin we precies vaststellen welke intake-flow het wordt: wie is de eindgebruiker, welke data moet er aan het einde uit komen, in welk achterliggend systeem landt het, welke beslissingen volgen op de intake. We tekenen samen het JSON-schema dat de output beschrijft — vaak een eye-opener voor organisaties die hun bestaande intake-formulier nog nooit op die manier op een tekentafel hebben zien staan. Soms is een korte adviesfase de juiste eerste stap; zie onze pagina over AI-ontwikkeling.

2

DPIA, AI Act-classificatie en data-architectuur

Voor intakes die persoonsgegevens raken — bij zorg, juridisch, HR of overheid is dat per definitie zo — starten we de DPIA parallel aan de bouw. We classificeren de intake onder de AI Act en regelen de bijbehorende verplichtingen direct in het ontwerp. Chat-flow, retentie-beleid, encryptie, sub-processor-keuze en LLM-residency landen in één architectuur-document dat ook door jouw FG gelezen kan worden. We sluiten aan op een bestaand ISMS.

3

Prompt-ontwerp en RAG-opbouw

Het system-prompt en de structured-output-definities krijgen vorm op basis van het schema uit stap 1. We bouwen de RAG-laag op de organisatiekennis die het model nodig heeft om in dezelfde stijl te antwoorden als de organisatie zelf zou doen. Prompts en evaluatie-cases leven van dag één in een git-repository met code-review.

4

Bouw in sprints met continue evaluatie

Elke korte sprintronde een werkende build op staging. We bouwen incrementeel: eerst de basis-flow met structured output, dan de RAG-laag, dan de downstream-integratie, dan de mens-in-de-loop-stap, dan de audit-trail. Bij elke prompt- of schema-wijziging draait er een evaluatie-set met realistische cases die per cohort scoort — een wijziging die de algemene kwaliteit verbetert maar één doelgroep verslechtert, willen we vóór release zien. Een intake die in stilte verkeerde velden invult is erger dan een intake die er soms wat trager uitziet.

5

Uitrol, training en doorontwikkeling

Gefaseerd uitrollen: eerst een proefgroep met dubbele intake (AI en bestaand formulier naast elkaar), dan bredere uitrol, daarna volledige overgang. Korte training voor de medewerkers die intake-records moeten doorpakken, een gids voor de eindgebruiker, en doorlopend beheer voor model-updates, prompt-iteraties en security-patches. We monitoren intake-kwaliteit per cohort en blijven bijsturen.

Compliance is geen bijzaak.

Een AI-intake-laag raakt vaak gevoelige data en heeft op weg naar een beslissing impact op een persoon — een patiënt, een cliënt, een aanvrager. Voor zorg-, juridische en publieke toepassingen is een goed gebouwde AI-intake per definitie ook een goed gedocumenteerde, AVG-conforme en AI-Act-conforme integratie. Wij regelen die laag vanaf de eerste sprint, niet als afsluitende paperwork-exercitie.

AVG & DPIA

Iedere intake levert persoonsgegevens op, vaak gevoelig: zorgklacht, juridische zaak, BSN, gespreksverslag. We doen een gerichte DPIA, regelen verwerkersovereenkomsten met sub-processors (LLM-leverancier, hosting, vector-DB), en bouwen retentie- en wisbeleid in de intake-flow zelf.

AI Act & hoog-risico-classificatie

Sinds 2026 is de AI Act van kracht. Een algemene B2B-discovery-intake is laag-risico, maar zodra de intake input wordt voor medische triage, juridische beslissingen of HR-beoordelingen valt het systeem in de hoog-risico-categorie. We doen de classificatie vooraf en regelen de risico-management-documentatie, data-kwaliteits-eisen, transparantie-laag en het menselijke-toezichts-mechanisme.

NEN 7510 voor zorg

Voor zorginstellingen volgen we de NEN 7510-control-set vanaf het begin: toegangsbeheer, logging, encryptie, leveranciers-management. We sluiten aan op het bestaande ISMS. Zie ook onze aanpak voor NEN 7510-compliant software.

AVG-K voor jongeren

Intakes waarin minderjarigen betrokken zijn — jongerenpsychiatrie, schoolzorg, jeugdhulp — kennen aanvullende regels. Onder de zestien jaar is in beginsel toestemming van een ouder of voogd nodig; die toestemming hoort onderdeel te zijn van de intake-flow zelf, zonder die voor de jongere onnodig zwaar te maken.

eIDAS & digitale handtekening

Voor intakes die met een formele verklaring of toestemming eindigen — een schade-claim, een onboarding-contract, toestemming voor medische gegevensdeling — bouwen we een eIDAS-conforme handtekening-stap in. Met DigiD of eHerkenning voor publieke partijen, of een geadvanceerde handtekening voor B2B.

Audit-trail & menselijk toezicht

Iedere intake heeft een traceable herkomst: welke vragen, welke antwoorden, welk model met welke versie, welke RAG-bronnen, welke menselijke acties, en wat naar het achterliggende systeem is gegaan. Voor hoog-risico-toepassingen expliciete menselijk-in-de-loop-stappen voordat de uitkomst de besluitvorming raakt.

Veelgestelde vragen.

Wat opdrachtgevers meestal willen weten voordat we aan een AI-intake-integratie beginnen.

Waarom niet een standaard-chatbot van een leverancier inzetten?
Voor algemene informatie-bots kun je prima uit de voeten met een SaaS-product. Een AI-intake is anders: hij moet exact passen op het schema van jouw achterliggende systeem, op de protocollen van jouw branche en op de toonzetting van jouw organisatie. Bovendien wil je de prompts, evaluatie-cases en RAG-bronnen in eigen beheer hebben omdat ze direct invloed hebben op de data die in jouw EPD, HRIS of CRM landt. Bij een gesloten leverancier krijg je daar nooit volledig inzicht in. Maatwerk-intake levert ook een veel betere audit-trail op — relevant zodra de AI Act of de toezichthouder langskomt.
Welk LLM-model gebruiken jullie?
Dat hangt af van usecase, data-categorie, talen en privacy-eisen. Voor de meeste zorg-, overheids- en financiële klanten landen we op Azure OpenAI in West-Europa of Claude via AWS Bedrock in Frankfurt. Voor klanten die om beleidsredenen geen Amerikaanse cloud-provider willen, draaien we Mistral of Llama in eigen omgeving. Wij werken vendor-onafhankelijk: jij bent eigenaar van de prompts, het schema en de evaluatie-set, het model kunnen we wisselen als prijs of prestaties daar aanleiding toe geven.
Hoe voorkomen jullie dat het model hallucineert in een intake?
Drie lagen. Eerst gebruiken we structured outputs / function calling, zodat het model de output móet vormen volgens een vooraf gedefinieerd JSON-schema. Daarna werken we met RAG op de officiële organisatiekennis, zodat antwoorden en follow-up-vragen worden gegrond in vastgestelde bronnen in plaats van uit de training data van het model. Als derde laag draait er een evaluatie-pipeline met realistische cases die elk model- of prompt-wijziging valideert. Voor hoog-risico-toepassingen valt er altijd een menselijke review tussen voordat de intake-uitkomst de besluitvorming raakt.
Mag een AI-intake patiëntgegevens of cliëntgegevens verwerken?
In principe wel, mits de juiste compliance-laag aanwezig is: een DPIA, een passende verwerkersovereenkomst, sub-processors in lijn met je AVG-beleid, en LLM-inferentie binnen de EU. Voor sommige zorginstellingen kiezen we om bredere redenen voor on-premise of dedicated-cloud — bijvoorbeeld bij bijzondere doelgroepen. We adviseren per traject wat past en werken samen met de FG, met NEN 7510-controls als raamwerk. Voor advocatuur geldt iets vergelijkbaars in het kader van beroepsgeheim.
Hoe gaat een AI-intake om met mensen die liever met een mens praten?
Iedere AI-intake die wij bouwen heeft een zichtbare "praat liever met een mens"-route. Op elk moment kan de gebruiker uit de flow stappen en een menselijke medewerker bereiken — via telefoon, terugbel-verzoek of een handover naar een live chat. Geen optie maar een ontwerp-eis: bepaalde doelgroepen passen niet bij een AI-flow, en hen daar toch in dwingen is een slecht idee. De handover-route is bovendien een AI-Act-transparantie-vereiste voor hoog-risico-toepassingen.
Kunnen jullie de intake koppelen aan ons EPD, HRIS of CRM?
Ja. We hebben ervaring met HiX, Epic, ChipSoft, CGM en Cura aan EPD-kant; met AFAS, Workday, BambooHR en Personio aan HRIS-kant; en met Salesforce, HubSpot en Dynamics aan CRM-kant. De koppeling gaat typisch via HL7-FHIR voor zorg, een REST-API voor moderne systemen, of een SOAP-laag voor oudere. Als jullie systeem zelfgebouwd is, koppelen we tegen een eigen API. Zie ook onze pagina over dossierbeheersysteem-ontwikkeling.
Hoe meten jullie de kwaliteit van een AI-intake?
We bouwen een evaluatie-pipeline met realistische cases — vaak gebaseerd op echte historische intakes uit het bestaande formulier, geanonimiseerd. Elke prompt- of schema-wijziging draait automatisch tegen die set en levert per cohort een score op: hoe vaak landt de classificatie goed, hoe vaak landen de gestructureerde velden correct, hoe vaak escaleert de AI naar een mens en hoe vaak gebeurt dat terecht. Naast die kwantitatieve metingen kijken we kwalitatief naar uitvallers — gevallen waarin de AI in stilte een verkeerd veld vult — omdat die het meeste leed veroorzaken.
Hoe regelen jullie de AI Act voor onze intake?
We doen vooraf een AI Act-classificatie: laag-risico, beperkte transparantie-verplichting, of hoog-risico (intake als input voor medische triage, juridische beslissingen, kredietweigering, HR-beoordelingen). Voor hoog-risico-toepassingen regelen we de verplichte risico-management-documentatie, de data-governance-eisen, de transparantie-laag, het menselijke-toezichts-mechanisme, de logging die de toezichthouder mag inzien, en de markt-monitoring na go-live. We sluiten aan op een bestaand ISMS.
Wie is eigenaar van de code, prompts en data?
Jij. We leveren de volledige source code, prompts, JSON-schema's, evaluatie-cases en build-pipelines op. De RAG-bronnen en intake-records leven in jouw cloud of bij een hosting-partij van jouw keuze. Geen lock-in op de techniek of op de LLM-keuze — wij verdienen aan goed werk dat blijft, niet aan klanten die vastzitten.
Wat zijn de typische valkuilen bij een AI-intake-traject?
Drie patronen. Eén: het schema is niet goed uitgewerkt, en de AI moet daardoor data produceren waarvan de achterkant niet weet wat ermee te doen. Twee: er is geen evaluatie-pipeline, en de eerste prompt-wijziging breekt stilletjes een edge-case die niemand opvalt tot een gebruiker zich beklaagt. Drie: de menselijke kant van de werkstroom is niet meegenomen — de AI levert nu wel netjes intake-records, maar het team dat ze moet oppakken werkt nog volgens het oude ritme. Onze sprintaanpak neemt deze drie structureel mee.

Praat met ons over jouw AI-intake.

Een vrijblijvende kennismaking. Vertel wie de intake gaat gebruiken, in welk systeem het record uiteindelijk landt en welke compliance-context erbij speelt — wij denken mee en zijn eerlijk over of een eigen integratie het juiste antwoord is. Soms is de juiste eerste stap een korte adviesfase via AI-ontwikkeling; soms is de bouw meteen aan de orde. Liever mailen: fabian.vandijk@appfront.nl.

Edit Content