Documentation FHIR — ONEHEALTH

1. Sélection des ressources

En FHIR (Fast Healthcare Interoperability Resources), le terme Ressource est le bloc de construction fondamental et l’unité de base de l’information.

Définition

Une ressource est un ensemble structuré d’informations, identifiable et échangeable, qui représente un concept clinique, administratif ou technique dans le domaine de la santé.

Le tableau ci-dessous récapitule les ressources sélectionnées parmi les +150 ressources disponibles sur HAPI FHIR pour répondre à la problématique de ONEHEALTH.

Ressources FHIR sélectionnées

Catégorie

Ressource

Description

Clinical

Observation

Mesures et affirmations simples faites à propos d’un patient, d’un appareil ou d’un autre sujet.

Condition

Une condition clinique, un problème, un diagnostic ou un événement clinique ayant atteint un niveau de préoccupation.

MedicationRequest

Généraliser l’utilisation en milieux hospitaliers et ambulatoires, y compris les plans de soins.

Medication

Identification et définition d’un médicament, y compris les ingrédients, dans le but de prescrire, distribuer et administrer.

Procedure

Intervention ou activité effectuée sur ou pour une personne, un appareil, une organisation ou un lieu.

Immunization

Décrit l’événement où un patient reçoit un vaccin ou un dossier d’immunisation.

RiskAssessment

Évaluation des résultats probables pour un patient ou un autre sujet ainsi que la probabilité de chaque résultat.

Administratives / Identification

Patient

Données démographiques et renseignements administratifs sur un individu recevant des soins.

Practitioner

Une personne qui participe directement ou indirectement à la fourniture de soins de santé.

Organization

Groupe de personnes agissant collectivement pour atteindre un objectif commun.

Group

Ensemble défini d’entités regroupées pour être décrites ou traitées ensemble.

RelatedPerson

Personne impliquée dans la santé d’un patient, sans responsabilité formelle dans le processus de soins.

Location

Détails et informations sur les positions où les services sont fournis.

Substance

Un matériau homogène avec une composition définie.

Workflow

Encounter

Interaction réelle entre un patient et un professionnel de santé pour des soins ou une évaluation.

MessageHeader

En-tête d’un échange de messages indiquant une action demandée ou répondue.

Infrastructure

DocumentReference

Référence vers un document médical ou fichier sérialisé avec métadonnées.

Composition

Structure logique d’un document clinique regroupant des informations de santé cohérentes.

Provenance

Informations décrivant l’origine, les acteurs et les processus ayant créé ou modifié une ressource.


Définition des ressources par secteur

🧑‍⚕️ Secteur humain (Standard FHIR)

  • Patient : L’individu humain.

  • Location : Représente la localisation de résidence.

  • Practitioner / Organization : Les agents de santé et les centres de santé.

  • Encounter : Une visite médicale ou une consultation.

  • Condition : Diagnostic.

  • Observation : Signes cliniques, résultats de laboratoire.

  • Immunization : Vaccinations.

🐄 Secteur animal (Adaptation vétérinaire)

  • Patient : Utilisé pour l’animal individuel (ex. chien enragé, vache malade). Nécessite un profil pour ajouter l’espèce, la race, le sexe.

  • Group : Représente un troupeau, une volaille ou une colonie.

  • Location : Représente la ferme, l’étable, ou le lieu de détention des animaux.

  • RelatedPerson : Le propriétaire ou l’éleveur (lien entre l’animal et l’humain).

🌿 Secteur environnemental (Adaptation écosystème)

  • Location : Représente une zone géographique, un point d’eau, une forêt. Nécessite des extensions GIS (GPS).

  • Observation : Mesures environnementales (température, humidité, qualité de l’air PM2.5, pH de l’eau).

  • Substance : Représente le polluant, le vecteur (ex. espèce de moustique) ou l’agent chimique.

  • RiskAssessment : Évaluation du risque environnemental (inondation, prolifération de vecteurs).

🔗 Lien inter-sectoriel

  • Provenance : Pour tracer l’origine de la donnée (quelle source CommCare, quel formulaire).

  • Composition / DocumentReference : Pour agréger un rapport d’investigation épidémiologique liant un cas humain, un foyer animal et un contexte environnemental.


2. Endpoints des API REST

Note

Le serveur FHIR PIVOT est basé sur HAPI FHIR Server v7.x, supporte FHIR R4 (4.0.1) et accepte les formats JSON et XML.

URL de base : https://[serveur]/fhir

2.1 — Patient

Gestion des patients PIVOT avec identifiant sanitaire, fokontany et ASC référent.

Interactions REST — Patient

Méthode

URL

Interaction

Description

GET

/fhir/Patient/{id}

read

Lire un patient par son ID

GET

/fhir/Patient/{id}/_history/{vid}

vread

Lire une version spécifique

GET

/fhir/Patient?{params}

search-type

Rechercher des patients

POST

/fhir/Patient

create

Créer un nouveau patient

PUT

/fhir/Patient/{id}

update

Mettre à jour un patient

DELETE

/fhir/Patient/{id}

delete

Supprimer un patient

GET

/fhir/Patient/{id}/_history

history-instance

Historique d’un patient

Paramètres de recherche — Patient

Paramètre

Type

Description

identifier

Token

Identifiant sanitaire PIVOT (system|value)

name

String

Nom de famille ou prénom

family

String

Nom de famille

given

String

Prénom

gender

Token

Sexe (male | female)

birthdate

Date

Date de naissance

address-city

String

Commune

address-district

String

District sanitaire

fokontany

String

Fokontany (extension PIVOT)

agent-communautaire

Reference

ASC référent (extension PIVOT)

2.2 — Practitioner

Praticiens et agents de santé communautaire (ASC).

Interactions REST — Practitioner

Méthode

URL

Interaction

Description

GET

/fhir/Practitioner/{id}

read

Lire un praticien par son ID

GET

/fhir/Practitioner?{params}

search-type

Rechercher des praticiens

POST

/fhir/Practitioner

create

Créer un nouveau praticien

PUT

/fhir/Practitioner/{id}

update

Mettre à jour un praticien

Paramètres de recherche — Practitioner

Paramètre

Type

Description

name

String

Nom du praticien

identifier

Token

Identifiant du praticien

2.3 — Organization

Structures de santé : CSB I, CSB II, hôpitaux de district.

Interactions REST — Organization

Méthode

URL

Interaction

Description

GET

/fhir/Organization/{id}

read

Lire une organisation par son ID

GET

/fhir/Organization?{params}

search-type

Rechercher des organisations

POST

/fhir/Organization

create

Créer une nouvelle organisation

PUT

/fhir/Organization/{id}

update

Mettre à jour une organisation

Paramètres de recherche — Organization

Paramètre

Type

Description

name

String

Nom de la structure

type

Token

Type de structure (CSB-I, CSB-II, CHD)

2.4 — Location

Lieux : fokontany, communes, sites communautaires, fermes, zones environnementales.

Interactions REST — Location

Méthode

URL

Interaction

Description

GET

/fhir/Location/{id}

read

Lire un lieu par son ID

GET

/fhir/Location?{params}

search-type

Rechercher des lieux

POST

/fhir/Location

create

Créer un nouveau lieu

PUT

/fhir/Location/{id}

update

Mettre à jour un lieu

Paramètres de recherche — Location

Paramètre

Type

Description

name

String

Nom du lieu

address-district

String

District

address-city

String

Commune

2.5 — Group

Groupes d’entités (troupeaux, volailles, colonies) pour le secteur animal.

Interactions REST — Group

Méthode

URL

Interaction

Description

GET

/fhir/Group/{id}

read

Lire un groupe par son ID

GET

/fhir/Group?{params}

search-type

Rechercher des groupes

POST

/fhir/Group

create

Créer un nouveau groupe

PUT

/fhir/Group/{id}

update

Mettre à jour un groupe

DELETE

/fhir/Group/{id}

delete

Supprimer un groupe

Paramètres de recherche — Group

Paramètre

Type

Description

type

Token

Type de groupe (animal, person)

code

Token

Code identifiant le type d’entités

actual

Token

Groupe réel (true) ou définitionnel (false)

2.6 — RelatedPerson

Propriétaire ou éleveur (lien entre l’animal et l’humain).

Interactions REST — RelatedPerson

Méthode

URL

Interaction

Description

GET

/fhir/RelatedPerson/{id}

read

Lire une personne liée par son ID

GET

/fhir/RelatedPerson?{params}

search-type

Rechercher des personnes liées

POST

/fhir/RelatedPerson

create

Créer une nouvelle personne liée

PUT

/fhir/RelatedPerson/{id}

update

Mettre à jour une personne liée

Paramètres de recherche — RelatedPerson

Paramètre

Type

Description

patient

Reference

Patient (animal) lié

name

String

Nom du propriétaire/éleveur

relationship

Token

Type de relation

2.7 — Substance

Polluants, vecteurs (moustiques) ou agents chimiques environnementaux.

Interactions REST — Substance

Méthode

URL

Interaction

Description

GET

/fhir/Substance/{id}

read

Lire une substance par son ID

GET

/fhir/Substance?{params}

search-type

Rechercher des substances

POST

/fhir/Substance

create

Créer une nouvelle substance

PUT

/fhir/Substance/{id}

update

Mettre à jour une substance

Paramètres de recherche — Substance

Paramètre

Type

Description

code

Token

Code de la substance

status

Token

Statut (active | inactive)

category

Token

Catégorie de substance

2.8 — Encounter

Consultations et visites (CSB, domicile ASC, terrain, urgence, référence).

Interactions REST — Encounter

Méthode

URL

Interaction

Description

GET

/fhir/Encounter/{id}

read

Lire une consultation par son ID

GET

/fhir/Encounter/{id}/_history/{vid}

vread

Lire une version spécifique

GET

/fhir/Encounter?{params}

search-type

Rechercher des consultations

POST

/fhir/Encounter

create

Créer une nouvelle consultation

PUT

/fhir/Encounter/{id}

update

Mettre à jour une consultation

DELETE

/fhir/Encounter/{id}

delete

Supprimer une consultation

GET

/fhir/Encounter/{id}/_history

history-instance

Historique d’une consultation

Paramètres de recherche — Encounter

Paramètre

Type

Description

patient

Reference

Patient concerné

date

Date

Date de consultation

status

Token

Statut (planned | arrived | in-progress | finished)

class

Token

Type de visite (AMB, HH, FLD, IMP, EMER, REF)

service-provider

Reference

Structure de santé (CSB, hôpital)

participant

Reference

Praticien ou ASC

location

Reference

Lieu (fokontany, CSB)

2.9 — Observation

Mesures terrain : température, MUAC, TDR paludisme, poids, taille, mesures environnementales.

Interactions REST — Observation

Méthode

URL

Interaction

Description

GET

/fhir/Observation/{id}

read

Lire une observation par son ID

GET

/fhir/Observation/{id}/_history/{vid}

vread

Lire une version spécifique

GET

/fhir/Observation?{params}

search-type

Rechercher des observations

POST

/fhir/Observation

create

Créer une nouvelle observation

PUT

/fhir/Observation/{id}

update

Mettre à jour une observation

DELETE

/fhir/Observation/{id}

delete

Supprimer une observation

GET

/fhir/Observation/{id}/_history

history-instance

Historique d’une observation

2.10 — Condition

Diagnostics : paludisme, malnutrition, IRA, diarrhée, anémie, etc.

Interactions REST — Condition

Méthode

URL

Interaction

Description

GET

/fhir/Condition/{id}

read

Lire un diagnostic par son ID

GET

/fhir/Condition/{id}/_history/{vid}

vread

Lire une version spécifique

GET

/fhir/Condition?{params}

search-type

Rechercher des diagnostics

POST

/fhir/Condition

create

Créer un nouveau diagnostic

PUT

/fhir/Condition/{id}

update

Mettre à jour un diagnostic

DELETE

/fhir/Condition/{id}

delete

Supprimer un diagnostic

GET

/fhir/Condition/{id}/_history

history-instance

Historique d’un diagnostic

Paramètres de recherche — Condition

Paramètre

Type

Description

patient

Reference

Patient concerné

code

Token

Code ICD-10 (ex: B50 pour paludisme)

clinical-status

Token

Statut clinique (active, resolved)

verification-status

Token

Statut de vérification (confirmed, provisional)

category

Token

Catégorie (encounter-diagnosis, problem-list-item)

encounter

Reference

Consultation associée

onset-date

Date

Date d’apparition des symptômes

recorded-date

Date

Date d’enregistrement

2.11 — MedicationRequest

Prescriptions : ACT, amoxicilline, SRO, zinc, paracétamol, etc.

Interactions REST — MedicationRequest

Méthode

URL

Interaction

Description

GET

/fhir/MedicationRequest/{id}

read

Lire une prescription par son ID

GET

/fhir/MedicationRequest/{id}/_history/{vid}

vread

Lire une version spécifique

GET

/fhir/MedicationRequest?{params}

search-type

Rechercher des prescriptions

POST

/fhir/MedicationRequest

create

Créer une nouvelle prescription

PUT

/fhir/MedicationRequest/{id}

update

Mettre à jour une prescription

DELETE

/fhir/MedicationRequest/{id}

delete

Supprimer une prescription

GET

/fhir/MedicationRequest/{id}/_history

history-instance

Historique d’une prescription

Paramètres de recherche — MedicationRequest

Paramètre

Type

Description

patient

Reference

Patient concerné

medication

Token

Code médicament (ACT, AMOX, SRO)

status

Token

Statut (active, completed, cancelled)

intent

Token

Intention (order)

encounter

Reference

Consultation associée

authoredon

Date

Date de prescription

requester

Reference

Prescripteur

2.12 — Medication

Identification et définition des médicaments (ingrédients, formes).

Interactions REST — Medication

Méthode

URL

Interaction

Description

GET

/fhir/Medication/{id}

read

Lire un médicament par son ID

GET

/fhir/Medication?{params}

search-type

Rechercher des médicaments

POST

/fhir/Medication

create

Créer un nouveau médicament

PUT

/fhir/Medication/{id}

update

Mettre à jour un médicament

Paramètres de recherche — Medication

Paramètre

Type

Description

code

Token

Code du médicament

status

Token

Statut (active | inactive)

form

Token

Forme galénique

2.13 — Immunization

Événements de vaccination (vaccin administré ou rapporté).

Interactions REST — Immunization

Méthode

URL

Interaction

Description

GET

/fhir/Immunization/{id}

read

Lire une immunisation par son ID

GET

/fhir/Immunization?{params}

search-type

Rechercher des immunisations

POST

/fhir/Immunization

create

Créer une nouvelle immunisation

PUT

/fhir/Immunization/{id}

update

Mettre à jour une immunisation

Paramètres de recherche — Immunization

Paramètre

Type

Description

patient

Reference

Patient vacciné

date

Date

Date de vaccination

vaccine-code

Token

Code du vaccin

status

Token

Statut (completed, not-done)

location

Reference

Lieu de vaccination

2.14 — RiskAssessment

Évaluation des risques environnementaux (inondation, prolifération de vecteurs).

Interactions REST — RiskAssessment

Méthode

URL

Interaction

Description

GET

/fhir/RiskAssessment/{id}

read

Lire une évaluation par son ID

GET

/fhir/RiskAssessment?{params}

search-type

Rechercher des évaluations

POST

/fhir/RiskAssessment

create

Créer une nouvelle évaluation

PUT

/fhir/RiskAssessment/{id}

update

Mettre à jour une évaluation

Paramètres de recherche — RiskAssessment

Paramètre

Type

Description

subject

Reference

Sujet de l’évaluation

date

Date

Date de l’évaluation

condition

Reference

Condition évaluée

method

Token

Méthode d’évaluation

2.15 — Composition

Structure logique d’un document clinique (rapport d’investigation épidémiologique).

Interactions REST — Composition

Méthode

URL

Interaction

Description

GET

/fhir/Composition/{id}

read

Lire une composition par son ID

GET

/fhir/Composition?{params}

search-type

Rechercher des compositions

POST

/fhir/Composition

create

Créer une nouvelle composition

PUT

/fhir/Composition/{id}

update

Mettre à jour une composition

Paramètres de recherche — Composition

Paramètre

Type

Description

type

Token

Type de document

date

Date

Date du document

author

Reference

Auteur du document

patient

Reference

Patient concerné

status

Token

Statut (preliminary, final, amended)

2.16 — DocumentReference

Référence vers un document médical ou fichier sérialisé avec métadonnées.

Interactions REST — DocumentReference

Méthode

URL

Interaction

Description

GET

/fhir/DocumentReference/{id}

read

Lire une référence par son ID

GET

/fhir/DocumentReference?{params}

search-type

Rechercher des documents

POST

/fhir/DocumentReference

create

Créer une nouvelle référence

PUT

/fhir/DocumentReference/{id}

update

Mettre à jour une référence

Paramètres de recherche — DocumentReference

Paramètre

Type

Description

patient

Reference

Patient concerné

type

Token

Type de document

date

Date

Date du document

category

Token

Catégorie du document

status

Token

Statut (current, superseded)

2.17 — MessageHeader

En-tête d’un échange de messages (action demandée/répondue dans un Bundle).

Interactions REST — MessageHeader

Méthode

URL

Interaction

Description

GET

/fhir/MessageHeader/{id}

read

Lire un en-tête par son ID

GET

/fhir/MessageHeader?{params}

search-type

Rechercher des en-têtes

POST

/fhir/MessageHeader

create

Créer un nouvel en-tête

Paramètres de recherche — MessageHeader

Paramètre

Type

Description

event

Token

Code de l’événement

source

String

Source du message

destination

String

Destination du message

2.18 — Provenance

Traçabilité de l’origine des données (source CommCare, formulaire).

Interactions REST — Provenance

Méthode

URL

Interaction

Description

GET

/fhir/Provenance/{id}

read

Lire une provenance par son ID

GET

/fhir/Provenance?{params}

search-type

Rechercher des provenances

POST

/fhir/Provenance

create

Créer une nouvelle provenance

Paramètres de recherche — Provenance

Paramètre

Type

Description

target

Reference

Ressource cible

recorded

Date

Date d’enregistrement

agent

Reference

Agent responsable

agent-type

Token

Type d’agent

2.19 — Interactions au niveau système

Interactions système

Méthode

URL

Interaction

Description

POST

/fhir

batch

Soumettre un Bundle de type batch

GET

/fhir?{params}

search-system

Recherche globale sur toutes les ressources

GET

/fhir/_history

history-system

Historique global du serveur

GET

/fhir/metadata

capabilities

Récupérer le CapabilityStatement du serveur


3. Requêtes courantes

3.1 — Location

Requêtes courantes — Location

Opération

Méthode

URL

Description

Lister les districts

GET

/Location?type=district

Tous les districts

Communes d’un district

GET

/Location?type=commune&partof=Location/district-ifanadiana

Communes du district Ifanadiana

CSB d’une commune

GET

/Location?type=csb&partof=Location/commune-kelilalina

CSB de la commune Kelilalina

Fokontany d’une commune

GET

/Location?type=fokontany&partof=Location/commune-kelilalina

Fokontany de Kelilalina

3.2 — Signaux épidémiologiques

Requêtes courantes — Signaux épidémiologiques

Opération

Méthode

URL

Tous les signaux

GET

/Observation?category=signal-epidemiologique

Signaux immédiats

GET

/Observation?category=signal-epidemiologique&signal-type=SIGNAL_IMMEDIAT

Signaux d’un fokontany

GET

/Observation?category=signal-epidemiologique&subject=Location/fokontany-tsaratanana

Signaux sur une période

GET

/Observation?category=signal-epidemiologique&date=ge2026-05-01&date=le2026-05-31

Créer un signal

POST

/Observation (body JSON du signal)

3.3 — Évaluations SBEc

Requêtes courantes — Évaluations SBEc

Opération

Méthode

URL

Toutes les évaluations

GET

/RiskAssessment

Évaluations à risque élevé

GET

/RiskAssessment?risk-level=high

Évaluation d’un signal

GET

/RiskAssessment?basis=Observation/signal-palu-001

Créer une évaluation

POST

/RiskAssessment (body JSON)

3.4 — Communications / Alertes

Requêtes courantes — Alertes

Opération

Méthode

URL

Toutes les alertes

GET

/Communication?category=alert

Alertes urgentes

GET

/Communication?category=alert&priority=urgent

Alertes d’un praticien

GET

/Communication?sender=Practitioner/med-district-001

Envoyer une alerte

POST

/Communication (body JSON)

3.5 — Requêtes existantes (4 piliers cliniques)

Requêtes — 4 piliers cliniques

Opération

Méthode

URL

Patient par identifiant PIVOT

GET

/Patient?identifier=http://pivot.mg/fhir/identifiant-sanitaire|PIVOT-IFA-2026-00142

Patients d’un fokontany

GET

/Patient?fokontany=Tsaratanana

Patients d’un ASC

GET

/Patient?agent-communautaire=Practitioner/asc-017

Consultations d’un patient

GET

/Encounter?patient=Patient/pivot-002

Observations d’une consultation

GET

/Observation?encounter=Encounter/enc-001

Diagnostics paludisme

GET

/Condition?code=http://hl7.org/fhir/sid/icd-10|B50

Prescriptions ACT

GET

/MedicationRequest?medication=ACT


4. Formats des données

4.1 — Formats d’échange supportés

Formats d’échange FHIR

Format

Content-Type (MIME)

Extension

Description

JSON

application/fhir+json

.json

Format principal recommandé. Léger, lisible et compatible avec les API REST modernes.

XML

application/fhir+xml

.xml

Format alternatif pour la compatibilité avec les systèmes existants.

Turtle (RDF)

text/turtle

.ttl

Format sémantique RDF optionnel pour l’interopérabilité avec des ontologies.

Négociation de contenu — le client spécifie le format via l’en-tête HTTP Accept ou le paramètre _format dans l’URL :

# Via en-tête HTTP
Accept: application/fhir+json

# Via paramètre URL
GET /fhir/Patient/pivot-001?_format=json

Avertissement

L’encodage UTF-8 est obligatoire pour tous les échanges.

4.2 — Structure générale d’une ressource FHIR

Éléments communs à toutes les ressources FHIR

Élément

Obligatoire

Description

resourceType

✅ Oui

Type de la ressource (ex: Patient, Observation, Condition)

id

✅ Oui*

Identifiant logique unique sur le serveur (* attribué à la création)

meta

Non

Métadonnées : versionId, lastUpdated, profile appliqué, tags

meta.profile

Recommandé

URL du profil PIVOT appliqué (ex: http://pivot.mg/fhir/StructureDefinition/pivot-patient)

text

Non

Résumé lisible par un humain (narrative XHTML)

extension

Non

Extensions personnalisées (ex: fokontany, agent communautaire)

Éléments métier

Variable

Champs spécifiques à chaque ressource (name, code, value, etc.)

4.3 — Systèmes de codification (CodeSystems)

a) Systèmes de codification internationaux

Systèmes de codification internationaux

Système

URI

Utilisation

LOINC

http://loinc.org

Codes des observations et mesures cliniques (température, poids, MUAC, TDR, etc.)

ICD-10

http://hl7.org/fhir/sid/icd-10

Codes des diagnostics (paludisme B50/B54, malnutrition E43/E46, IRA J06.9, etc.)

UCUM

http://unitsofmeasure.org

Unités de mesure (Cel, cm, kg, mm[Hg], etc.)

HL7 FHIR

http://terminology.hl7.org/CodeSystem/*

Catégories d’observation, statuts cliniques, types d’organisation, etc.

b) Systèmes de codification locaux PIVOT

CodeSystems locaux PIVOT

CodeSystem

URI

Description

Types de visites

http://[serveur]/fhir/CodeSystem/pivot-type-visite

AMB, IMP, HH, FLD, EMER, REF

Médicaments

http://[serveur]/fhir/CodeSystem/pivot-medicaments

ACT, AMOX, PARA, SRO, ZINC, FERFS, VITA, ALBZ, COTRI, METRO, RUTF

Identifiant sanitaire

http://[serveur]/fhir/identifiant-sanitaire

Système d’identification unique des patients PIVOT

4.4 — Terminologies et ValueSets

a) Codes des observations PIVOT (LOINC)

ValueSet : http://[serveur]/ValueSet/pivot-observations-codes

Codes LOINC — Observations PIVOT

Code LOINC

Affichage

Catégorie

29463-7

Poids corporel

vital-signs

8302-2

Taille

vital-signs

8310-5

Température corporelle

vital-signs

56092-0

Périmètre brachial (MUAC)

vital-signs

35094-2

TDR Paludisme

laboratory

8867-4

Fréquence cardiaque

vital-signs

9279-1

Fréquence respiratoire

vital-signs

85354-9

Pression artérielle

vital-signs

59576-9

Périmètre crânien

vital-signs

75325-1

Symptômes

survey

b) Codes diagnostics PIVOT (ICD-10)

ValueSet : http://[serveur]/ValueSet/pivot-diagnostics-codes

Codes ICD-10 — Diagnostics PIVOT

Code ICD-10

Affichage

B54

Paludisme, sans précision

B50

Paludisme à Plasmodium falciparum

E46

Malnutrition protéino-énergétique, sans précision

E43

Malnutrition protéino-énergétique sévère

E44.0

Malnutrition protéino-énergétique modérée

J06.9

Infection aiguë des voies respiratoires supérieures

J18.9

Pneumonie, sans précision

A09

Diarrhée et gastro-entérite d’origine présumée infectieuse

D50.9

Anémie ferriprive, sans précision

L30.9

Dermatite, sans précision

N39.0

Infection urinaire, siège non précisé

O80

Accouchement unique spontané

Z34

Surveillance d’une grossesse normale

Z09

Examen de suivi après traitement

c) Types de visites PIVOT

ValueSet : http://[serveur]/fhir/ValueSet/pivot-type-visite

Types de visites PIVOT

Code

Affichage

Définition

AMB

Consultation ambulatoire au CSB

Consultation dans un Centre de Santé de Base (CSB I ou CSB II)

IMP

Hospitalisation

Séjour hospitalier à l’hôpital de district ou de référence

HH

Visite à domicile par ASC

Visite effectuée par un agent de santé communautaire au domicile du patient

FLD

Visite communautaire sur le terrain

Visite lors d’une campagne de dépistage ou vaccination sur le terrain

EMER

Urgence

Prise en charge en urgence

REF

Référence vers hôpital de district

Transfert du patient vers un hôpital de district pour une prise en charge spécialisée

d) Médicaments courants PIVOT

ValueSet : http://[serveur]/fhir/ValueSet/pivot-medicaments

Médicaments courants PIVOT

Code

Affichage

Définition

ACT

Artéméther-Luméfantrine (ACT)

Traitement de première ligne du paludisme simple

AMOX

Amoxicilline

Antibiotique pour infections respiratoires et ORL

PARA

Paracétamol

Antalgique et antipyrétique

SRO

Sels de réhydratation orale

Traitement de la déshydratation par diarrhée

ZINC

Zinc

Supplément pour diarrhée chez l’enfant

FERFS

Fer + Acide folique

Supplément pour anémie et grossesse

VITA

Vitamine A

Supplémentation en vitamine A chez l’enfant

ALBZ

Albendazole

Antiparasitaire (deworming)

COTRI

Cotrimoxazole

Antibiotique à large spectre

METRO

Métronidazole

Anti-infectieux pour amibiase et giardiase

RUTF

Plumpy’Nut (RUTF)

Aliment thérapeutique prêt à l’emploi pour malnutrition aiguë sévère

4.5 — Extensions personnalisées PIVOT

Extensions FHIR personnalisées PIVOT

Extension

URL

Type

Ressource

Description

Fokontany

http://[serveur]/fhir/StructureDefinition/pivot-fokontany

valueString

Patient

Plus petite division administrative de Madagascar

Agent communautaire

http://[serveur]/fhir/StructureDefinition/pivot-agent-communautaire

valueReference

Patient

Référence vers le Practitioner (ASC) qui suit le patient

4.6 — Format des identifiants

Format des identifiants PIVOT

Type

Système (URI)

Format

Exemple

Identifiant sanitaire patient

http://[serveur]/fhir/identifiant-sanitaire

PIVOT-{DISTRICT}-{ANNEE}-{SEQUENCE}

PIVOT-IFA-2026-00142

Référence interne

(relatif)

{ResourceType}/{id}

Patient/pivot-001

Référence complète

(absolue)

[serveur]/{ResourceType}/{id}

[serveur]/Patient/pivot-001

4.7 — Format des Bundles

Les Bundles permettent de regrouper plusieurs ressources dans un seul échange. PIVOT utilise principalement les Bundles de type transaction.

Types de Bundles PIVOT

Type

Méthode HTTP

Description

Cas d’usage PIVOT

transaction

POST /fhir

Toutes les entrées réussissent ou échouent ensemble (atomique)

Soumission d’une visite complète (Patient + Encounter + Observations + Condition + MedicationRequest)

batch

POST /fhir

Chaque entrée est traitée indépendamment

Import en masse de données CommCare

searchset

(réponse)

Résultat d’une recherche

Réponse à GET /fhir/Patient?address-district=Ifanadiana

document

POST /fhir

Document clinique complet avec Composition

Rapport d’investigation épidémiologique inter-sectoriel

message

POST /fhir/$process-message

Message avec en-tête MessageHeader

Notification d’alerte épidémiologique

Structure d’un Bundle transaction :

Champs d’un Bundle transaction

Champ

Description

Exemple

resourceType

Toujours « Bundle »

"Bundle"

type

Type du bundle

"transaction"

entry[].fullUrl

URL temporaire de la ressource

"urn:uuid:pivot-001"

entry[].resource

La ressource FHIR complète

{resourceType: "Patient", ...}

entry[].request.method

Méthode HTTP (PUT, POST, DELETE)

"PUT"

entry[].request.url

URL cible sur le serveur

"Patient/pivot-001"

4.8 — Format des réponses HTTP

Codes de réponse HTTP

Code HTTP

Signification

Corps de la réponse

200 OK

Lecture/recherche réussie

Ressource FHIR ou Bundle searchset

201 Created

Création réussie

Ressource créée avec id et meta.versionId

200 OK

Mise à jour réussie

Ressource mise à jour

204 No Content

Suppression réussie

Aucun corps

400 Bad Request

Requête invalide

OperationOutcome avec détail de l’erreur

401 Unauthorized

Non authentifié

OperationOutcome

404 Not Found

Ressource introuvable

OperationOutcome

422 Unprocessable Entity

Validation échouée (profil non respecté)

OperationOutcome avec erreurs de validation


5. Exemple complet — Visite ASC avec diagnostic paludisme

Note

Cet exemple illustre un Bundle transaction complet représentant une visite à domicile d’un ASC pour un enfant de 2 ans avec fièvre, TDR paludisme positif et prescription d’ACT. Il regroupe 10 ressources liées.

Ressources du Bundle — Visite paludisme enfant

#

Ressource

ID

Description

1

Practitioner

asc-017

ASC Rasoa Vola

2

Organization

csb-kelilalina

CSB II Kelilalina

3

Location

fokontany-tsaratanana

Fokontany Tsaratanana

4

Patient

pivot-002

Rasoa Nirina, fille, née le 2023-08-15, fokontany Tsaratanana

5

Encounter

enc-001

Visite à domicile (HH), 28/05/2026, durée 30 min

6

Observation (temp)

obs-temp-001

Température 38.9°C (vital-signs, LOINC 8310-5)

7

Observation (TDR)

obs-tdr-001

TDR Paludisme positif (laboratory, LOINC 35094-2)

8

Observation (MUAC)

obs-muac-001

MUAC 11.2 cm — Malnutrition aiguë modérée (LOINC 56092-0)

9

Condition

cond-palu-001

Paludisme à P. falciparum (ICD-10 B50), confirmé, actif

10

MedicationRequest

med-act-001

ACT 1 cp x 2/jour x 3 jours


6. Création des Profils