

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# `$questionnaire-package`Opération FHIR pour HealthLake
<a name="reference-fhir-operations-questionnaire-package"></a>

L'`$questionnaire-package`opération récupère un ensemble complet contenant un questionnaire FHIR et toutes ses dépendances nécessaires au rendu et au traitement du questionnaire. Cette opération met en œuvre le [guide de mise en œuvre des modèles et règles de documentation Da Vinci (DTR)](https://hl7.org/fhir/us/davinci-dtr/OperationDefinition-questionnaire-package.html), permettant le rendu dynamique des formulaires pour les exigences en matière de documentation dans les flux de travail du secteur de la santé.

## Comment ça marche
<a name="questionnaire-package-how-it-works"></a>
+ **Demande** : vous envoyez des paramètres identifiant le ou les questionnaires nécessaires, ainsi que la couverture et le contexte de la commande
+ **Récupérer** : HealthLake rassemble le questionnaire et toutes les dépendances (ValueSetsbibliothèques CQL, etc.)
+ **Package** : Toutes les ressources sont regroupées dans un format standardisé
+ **Répondre** : vous recevez un package complet prêt pour le rendu et la collecte de données

**Cas d'utilisation**  

+ **Documentation d'autorisation préalable** : Collectez les informations cliniques requises pour les demandes d'autorisation préalable
+ **Exigences de couverture** : Rassemblez la documentation nécessaire pour satisfaire aux exigences de couverture du payeur
+ **Clinical Data Exchange** : structurez les données cliniques pour les soumettre aux payeurs
+ **Formulaires dynamiques** : créez des questionnaires avec des données préremplies sur les patients et une logique conditionnelle

## Point de terminaison d’API
<a name="questionnaire-package-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json
```

## Paramètres de demande
<a name="questionnaire-package-request-parameters"></a>

### Paramètres d’entrée
<a name="questionnaire-package-input-parameters"></a>

Le corps de la demande doit contenir une ressource de paramètres FHIR avec les paramètres suivants :


| Paramètre | Type | Cardinalité | Description | 
| --- | --- | --- | --- | 
| coverage | Couverture | 1.. \$1 (Obligatoire) | Ressource (s) de couverture pour établir le membre et couverture pour la documentation | 
| questionnaire | canonial | 0.. \$1 | URL (s) canoniques pour un ou plusieurs questionnaires spécifiques à renvoyer (peut inclure la version) | 
| order | Ressource | 0.. \$1 | Commandez des ressources (DeviceRequest, ServiceRequest, MedicationRequest, Encounter, Appointment) pour établir le contexte | 
| changedSince | dateTime | 0,1 | Le cas échéant, ne renvoie que les ressources modifiées après cet horodatage | 

### Règles de validation des paramètres
<a name="questionnaire-package-parameter-validation"></a>

**Au moins UN des éléments suivants doit être fourni** (en plus de ce qui est obligatoire`coverage`) :
+ Un ou plusieurs `questionnaire` canoniques URLs
+ Une ou plusieurs `order` ressources

**Combinaisons de demandes valides :**  

+ `coverage` \$1 `questionnaire`
+ `coverage` \$1 `order`
+ `coverage` \$1 `questionnaire` \$1 `order`

## Exemple de demande
<a name="questionnaire-package-example-request"></a>

```
POST /datastore/example-datastore/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": {  
        "resourceType": "Coverage",  
        "id": "example-coverage",  
        "status": "active",  
        "beneficiary": {  
          "reference": "Patient/example-patient"  
        },  
        "payor": [{  
          "reference": "Organization/example-payer"  
        }],  
        "class": [{  
          "type": {  
            "coding": [{  
              "system": "http://terminology.hl7.org/CodeSystem/coverage-class",  
              "code": "group"  
            }]  
          },  
          "value": "12345"  
        }]  
      }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0"  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "id": "example-service-request",  
        "status": "active",  
        "intent": "order",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660",  
            "display": "Continuous positive airway pressure ventilation (CPAP)"  
          }]  
        },  
        "subject": {  
          "reference": "Patient/example-patient"  
        }  
      }  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-01-01T00:00:00Z"  
    }  
  ]  
}
```

## Format de la réponse
<a name="questionnaire-package-response-format"></a>

### Réponse positive (200 OK)
<a name="questionnaire-package-success-response"></a>

L'opération renvoie une ressource de paramètres FHIR contenant un ou plusieurs **Package Bundles**. Chaque Package Bundle inclut :


| Type d'entrée | Cardinalité | Description | 
| --- | --- | --- | 
| Questionnaire | 1 | Le questionnaire à rendre | 
| QuestionnaireResponse | 0,1 | Réponse préremplie ou partiellement complétée (le cas échéant) | 
| d'outils | 0.. \$1 | Bibliothèques CQL contenant une logique de pré-peuplement et une logique conditionnelle | 
| ValueSet | 0.. \$1 | Étendu ValueSets (pour les choix de réponses avec moins de 40 extensions) | 

**Example Exemple de réponse**  

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "PackageBundle",  
      "resource": {  
        "resourceType": "Bundle",  
        "id": "questionnaire-package-example",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/DTR-QPackageBundle"]  
        },  
        "type": "collection",  
        "timestamp": "2024-03-15T10:30:00Z",  
        "entry": [  
          {  
            "fullUrl": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
            "resource": {  
              "resourceType": "Questionnaire",  
              "id": "home-oxygen-therapy",  
              "url": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
              "version": "2.0",  
              "status": "active",  
              "title": "Home Oxygen Therapy Documentation",  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "type": "choice",  
                  "answerValueSet": "http://example.org/fhir/ValueSet/oxygen-diagnoses"  
                }  
              ]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/Library/oxygen-prepopulation",  
            "resource": {  
              "resourceType": "Library",  
              "id": "oxygen-prepopulation",  
              "url": "http://example.org/fhir/Library/oxygen-prepopulation",  
              "version": "1.0",  
              "type": {  
                "coding": [{  
                  "system": "http://terminology.hl7.org/CodeSystem/library-type",  
                  "code": "logic-library"  
                }]  
              },  
              "content": [{  
                "contentType": "text/cql",  
                "data": "bGlicmFyeSBPeHlnZW5QcmVwb3B1bGF0aW9u..."  
              }]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
            "resource": {  
              "resourceType": "ValueSet",  
              "id": "oxygen-diagnoses",  
              "url": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
              "status": "active",  
              "expansion": {  
                "timestamp": "2024-03-15T10:30:00Z",  
                "contains": [  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J44.0",  
                    "display": "COPD with acute lower respiratory infection"  
                  },  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J96.01",  
                    "display": "Acute respiratory failure with hypoxia"  
                  }  
                ]  
              }  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/QuestionnaireResponse/example-prepopulated",  
            "resource": {  
              "resourceType": "QuestionnaireResponse",  
              "id": "example-prepopulated",  
              "questionnaire": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0",  
              "status": "in-progress",  
              "subject": {  
                "reference": "Patient/example-patient"  
              },  
              "basedOn": [{  
                "reference": "ServiceRequest/example-service-request"  
              }],  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "answer": [{  
                    "valueCoding": {  
                      "system": "http://hl7.org/fhir/sid/icd-10",  
                      "code": "J44.0",  
                      "display": "COPD with acute lower respiratory infection"  
                    }  
                  }]  
                }  
              ]  
            }  
          }  
        ]  
      }  
    },  
    {  
      "name": "Outcome",  
      "resource": {  
        "resourceType": "OperationOutcome",  
        "issue": [{  
          "severity": "information",  
          "code": "informational",  
          "details": {  
            "text": "Successfully retrieved questionnaire package"  
          }  
        }]  
      }  
    }  
  ]  
}
```

## Flux de travail des opérations
<a name="questionnaire-package-operation-workflow"></a>

**Comment HealthLake traite-t-on votre demande**  
Lorsque vous appelez`$questionnaire-package`, HealthLake exécute les étapes suivantes :

1. **Identifier le patient et le payeur** : extrait le patient et l'organisme d'assurance de vos `coverage` paramètres.

1. **Trouvez le bon questionnaire** :
   + **Avec `questionnaire`** **paramètre** : utilise l'URL canonique que vous avez fournie
   + **Avec `order`** **paramètre** : fait correspondre le code de commande (CPT/HCPCS/LOINC) et le payeur pour trouver le questionnaire approprié

1. **Collecter les dépendances** : récupère automatiquement tout ce qui est nécessaire pour afficher le questionnaire :
   + **Bibliothèques CQL** - Logique pour les questions de prépopulation et les questions conditionnelles
   + **ValueSets**- Choix de réponses (automatiquement étendus si <40 options)
   + **QuestionnaireResponse**- Toutes les réponses existantes en cours ou terminées

1. **Emballez le tout ensemble** :
   + Regroupe toutes les ressources (chaque ressource n'est incluse qu'une seule fois)
   + Filtre par `changedSince` horodatage s'il est fourni
   + Ajoute des avertissements `Outcome` si des ressources sont manquantes

**Résultat** : un package complet et autonome prêt pour le rendu.

## Réponses d'erreur
<a name="questionnaire-package-error-responses"></a>

### 400 Requête erronée
<a name="questionnaire-package-400-error"></a>

Renvoyé en cas d'échec de la validation de la demande.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "required",  
    "details": {  
      "text": "At least one of 'questionnaire' or 'order' must be provided along with 'coverage'"  
    }  
  }]  
}
```

### 424 Dépendance défaillante
<a name="questionnaire-package-424-error"></a>

Renvoyé lorsqu'une ressource dépendante ne peut pas être récupérée.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "warning",  
    "code": "not-found",  
    "details": {  
      "text": "Referenced Library 'http://example.org/fhir/Library/missing-library' could not be retrieved"  
    }  
  }]  
}
```

### 401 Accès non autorisé
<a name="questionnaire-package-401-error"></a>

Renvoyé lorsque les informations d'authentification sont manquantes ou non valides.

### 403 Forbidden
<a name="questionnaire-package-403-error"></a>

Renvoyé lorsque l'utilisateur authentifié n'est pas autorisé à accéder aux ressources demandées.

### 406 Non acceptable
<a name="questionnaire-package-406-error"></a>

Renvoyé lorsque le type de contenu demandé ne peut pas être fourni.

### 409 – Conflit
<a name="questionnaire-package-409-error"></a>

Renvoyé en cas de conflit de version ou de simultanéité.

### 410 Disparus
<a name="questionnaire-package-410-error"></a>

Renvoyé lorsque la ressource demandée a été définitivement supprimée.

### 429 Trop de demandes
<a name="questionnaire-package-429-error"></a>

Renvoyé lorsque les limites de débit sont dépassées.

### 500 Erreur de serveur interne
<a name="questionnaire-package-500-error"></a>

Renvoyé lorsqu'une erreur de serveur inattendue se produit.

### 501 Non implémenté
<a name="questionnaire-package-501-error"></a>

Renvoyé lorsque l'opération demandée n'est pas encore implémentée.

## Règles de validation
<a name="questionnaire-package-validation-rules"></a>

### Validation des entrées
<a name="questionnaire-package-input-validation"></a>
+ `coverage`le paramètre est **obligatoire** (1.. \$1 cardinalité)
+ Au moins l'un `questionnaire` des éléments `order` suivants doit être fourni
+ Toutes les ressources de couverture doivent être des ressources FHIR valides
+ Toutes les ressources de la commande doivent être des ressources FHIR valides
+ Canonical URLs doit être correctement formaté
+ `changedSince`doit être un DateTime ISO 8601 valide

### QuestionnaireResponse validation
<a name="questionnaire-package-response-validation"></a>
+ `status`doit être approprié (`in-progress`,`completed`,`amended`)
+ La structure doit correspondre au questionnaire référencé
+ `basedOn`doit faire référence à des ressources de commande valides
+ `subject`doit faire référence à des ressources valides pour les patients

### Déduplication des ressources
<a name="questionnaire-package-resource-dedup"></a>
+ Chaque ressource n'apparaît qu'une seule fois dans le bundle
+ Exception : différentes versions de la même ressource peuvent toutes deux être incluses
+ Les ressources sont identifiées par leur URL canonique et leur version

## Spécifications de performance
<a name="questionnaire-package-performance-specs"></a>


| Métrique | Spécification de  | 
| --- | --- | 
| Limite du nombre de ressources | 500 ressources par bundle | 
| Limite de taille du bundle | 5 Mo maximum | 

## Autorisations requises
<a name="questionnaire-package-required-permissions"></a>

Pour utiliser l'`$questionnaire-package`opération, assurez-vous que votre rôle IAM possède les éléments suivants :
+ `healthlake:QuestionnairePackage`- Pour appeler l'opération
+ `healthlake:ReadResource`- Pour récupérer le questionnaire et les ressources dépendantes
+ `healthlake:SearchWithPost`- Pour rechercher QuestionnaireResponse des ressources connexes

**SMART sur les oscilloscopes FHIR**  
**Étendue minimale requise :**
+ **SMART version 1** : `user/Questionnaire.read user/Library.read user/ValueSet.read user/QuestionnaireResponse.read`
+ **SMART v2** : `user/Questionnaire.rs user/Library.rs user/ValueSet.rs user/QuestionnaireResponse.rs`

## Remarques de mise en œuvre importantes
<a name="questionnaire-package-implementation-notes"></a>

### Stratégie de récupération des ressources
<a name="questionnaire-package-retrieval-strategy"></a>

**Priorité d'identification du questionnaire :**  

+ **URL canonique** (si le `questionnaire` paramètre est fourni) - Priorité la plus élevée
+ **Analyse de la commande** (si `order` le paramètre est fourni) :
  + Associez les codes de commande (CPT, HCPCS, LOINC) aux politiques médicales du payeur
  + Utilisez le payeur de couverture pour filtrer les questionnaires spécifiques au payeur
  + Tenez compte des codes de motif pour un contexte supplémentaire

### Résolution des dépendances
<a name="questionnaire-package-dependency-resolution"></a>

**Bibliothèques CQL :**  

+ Récupéré via l'`cqf-library`extension sur les ressources du questionnaire
+ Récupère récursivement les bibliothèques dépendantes via le type `Library.relatedArtifact` `depends-on`
+ Toutes les dépendances de bibliothèque sont incluses dans le package

**ValueSets:**  

+ Développé automatiquement s'ils contiennent moins de 40 concepts
+  ValueSets Les plus grands sont inclus sans extension
+ ValueSets référencées à la fois dans le questionnaire et les ressources de la bibliothèque sont incluses

### QuestionnaireResponse pré-population
<a name="questionnaire-package-prepopulation"></a>

L'opération peut renvoyer un fichier QuestionnaireResponse avec des données préremplies lorsque :
+ Une réponse existante en cours ou terminée est trouvée
+ La logique CQL des bibliothèques associées peut extraire des données des dossiers des patients
+ La réponse est liée à la commande et à la couverture pertinentes

**Critères de recherche pour QuestionnaireResponse :**  



| Paramètre de recherche | Parcours FHIR | Description | 
| --- | --- | --- | 
| based-on | QuestionnaireResponse.basedOn | Liens vers ServiceRequest ou CarePlan | 
| patient | QuestionnaireResponse.subject | Le patient qui est le sujet | 
| questionnaire | QuestionnaireResponse.questionnaire | Le questionnaire auquel il est répondu | 

### Filtrage des ressources modifié
<a name="questionnaire-package-changed-filtering"></a>

Lorsque le `changedSince` paramètre est fourni :
+ Seules les ressources modifiées **après** l'horodatage spécifié sont incluses
+ Si aucune ressource n'a changé, retourne `200 OK` avec un package vide
+ Utile pour les mises à jour incrémentielles et les stratégies de mise en cache
+ La comparaison des horodatages utilise le champ de ressources `meta.lastUpdated`

### Forfaits groupés multiples
<a name="questionnaire-package-multiple-bundles"></a>

L'opération peut renvoyer **plusieurs Package Bundles** lorsque :
+ Plusieurs questionnaires sont demandés via Canonical URLs
+ Les commandes multiples nécessitent des questionnaires différents
+ Différentes versions du même questionnaire sont applicables

Chaque Package Bundle est autonome avec toutes les dépendances nécessaires.

## Cas d’utilisation courants
<a name="questionnaire-package-common-use-cases"></a>

### Cas d'utilisation 1 : documentation relative à l'autorisation préalable
<a name="questionnaire-package-use-case-1"></a>

**Scénario** : Un fournisseur doit recueillir de la documentation pour une autorisation préalable d'oxygénothérapie à domicile.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Patient's insurance coverage */ }  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660"  
          }]  
        }  
      }  
    }  
  ]  
}
```

**Résultat** : renvoie un colis contenant le questionnaire d'oxygénothérapie, prérempli avec les données vitales du patient et les codes de diagnostic du dossier médical électronique.

### Cas d'utilisation 2 : récupérer une version spécifique du questionnaire
<a name="questionnaire-package-use-case-2"></a>

**Scénario** : un fournisseur a besoin d'une version spécifique d'un questionnaire pour se conformer.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/dme-request|3.1.0"  
    }  
  ]  
}
```

**Résultat** : renvoie exactement la version 3.1.0 du questionnaire de demande DME avec toutes les dépendances.

### Cas d'utilisation 3 : Vérifier les mises à jour
<a name="questionnaire-package-use-case-3"></a>

**Scénario** : un fournisseur souhaite vérifier si des ressources du questionnaire ont été mises à jour depuis la dernière extraction.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/medication-request"  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-03-01T00:00:00Z"  
    }  
  ]  
}
```

**Résultat** : renvoie uniquement les ressources qui ont été modifiées après le 1er mars 2024, ou un package vide si rien n'a changé.

### Cas d'utilisation 4 : commandes multiples
<a name="questionnaire-package-use-case-4"></a>

**Scénario** : un fournisseur soumet plusieurs demandes de service qui peuvent nécessiter différents questionnaires.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for imaging */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for DME */ }  
    }  
  ]  
}
```

**Résultat** : renvoie plusieurs Packages groupés, un pour chaque questionnaire applicable.

## Intégration avec d'autres Da Vinci IGs
<a name="questionnaire-package-integration"></a>

### Découverte des exigences de couverture (CRD)
<a name="questionnaire-package-crd-integration"></a>

**Intégration du flux de travail :**  

+ Le fournisseur commande un service dans son dossier électronique
+ Feux à l'hameçon CRD, vérification des exigences de couverture
+ Le payeur répond en indiquant que la documentation est nécessaire
+ Le fournisseur appelle `$questionnaire-package` pour récupérer le formulaire de documentation
+ Le fournisseur remplit le questionnaire
+ La documentation est soumise via PAS ou CDex

### Support d'autorisation préalable (PAS)
<a name="questionnaire-package-pas-integration"></a>

**Intégration du flux de travail :**  

+ `$questionnaire-package`À utiliser pour récupérer les exigences en matière de documentation
+ Complétez le QuestionnaireResponse avec les données cliniques requises
+ Soumettez l'autorisation préalable `Claim/$submit` en utilisant le QuestionnaireResponse
+ Vérifiez le statut à l'aide de `Claim/$inquire`

### Échange de données cliniques (CDex)
<a name="questionnaire-package-cdex-integration"></a>

**Intégration du flux de travail :**  

+ Le payeur demande des documents supplémentaires pour une réclamation
+ Le fournisseur utilise `$questionnaire-package` pour récupérer le formulaire de collecte de données structuré
+ Le fournisseur complète le QuestionnaireResponse
+ La documentation est soumise au payeur via un flux de travail de CDex pièces jointes

## Guide de dépannage
<a name="questionnaire-package-troubleshooting"></a>

### Problème : aucun questionnaire n'a été renvoyé
<a name="questionnaire-package-no-questionnaire"></a>

**Causes possibles :**  

+ L'URL canonique ne correspond à aucun questionnaire du magasin de données
+ Le code de commande ne correspond à aucun questionnaire de la police médicale du payeur
+ Le payeur de couverture n'a pas de questionnaires associés

**Solutions :**  

+ Vérifiez que l'URL canonique est correcte et que le questionnaire existe
+ Vérifiez que les codes de commande (CPT/HCPCS) sont correctement spécifiés
+ Vérifiez que l'organisation payeuse a configuré des questionnaires

### Problème : dépendances manquantes dans le package
<a name="questionnaire-package-missing-dependencies"></a>

**Causes possibles :**  

+ Bibliothèque référencée ou ValueSet n'existe pas dans le magasin de données
+ Les références de bibliothèque sont cassées ou incorrectes
+ ValueSet échec de l'extension

**Solutions :**  

+ Vérifiez le `Outcome` paramètre pour les avertissements concernant les ressources manquantes
+ Vérifiez que toutes les ressources référencées existent dans votre magasin de données
+ Assurez-vous qu' ValueSet URLs ils sont corrects et résolvables

### Problème : Package vide avec ChangedSince
<a name="questionnaire-package-empty-package"></a>

**Causes possibles :**  

+ Ce comportement est attendu : aucune ressource n'a été modifiée depuis l'horodatage spécifié

**Solutions :**  

+ Utiliser la version mise en cache du package
+ Supprimer `changedSince` le paramètre pour récupérer le package complet

### Problème : QuestionnaireResponse Non prérempli
<a name="questionnaire-package-not-prepopulated"></a>

**Causes possibles :**  

+ Aucun objet existant n' QuestionnaireResponse a été trouvé
+ La logique de la bibliothèque CQL n'a pas pu extraire les données requises
+ Les données du patient sont manquantes ou incomplètes

**Solutions :**  

+ On peut s'y attendre, car tous les questionnaires ne reposent pas sur une logique de pré-population
+ Vérifiez que les données du patient existent dans le magasin de données
+ Vérifiez la logique de la bibliothèque CQL pour connaître les exigences en matière d'extraction de données

## Bonnes pratiques
<a name="questionnaire-package-best-practices"></a>

### 1. Utiliser Canonical URLs avec les versions
<a name="questionnaire-package-bp-versions"></a>

Spécifiez toujours les numéros de version lorsque vous demandez des questionnaires spécifiques :

```
{  
  "name": "questionnaire",  
  "valueCanonical": "http://example.org/fhir/Questionnaire/dme|2.1.0"  
}
```

**Pourquoi** : Garantit la cohérence et empêche les changements inattendus lors de la mise à jour des questionnaires.

### 2. Tirez parti de ChangedSince pour améliorer les performances
<a name="questionnaire-package-bp-changed-since"></a>

Pour les questionnaires fréquemment consultés, utilisez `changedSince` pour minimiser le transfert de données :

```
{  
  "name": "changedSince",  
  "valueDateTime": "2024-03-10T15:30:00Z"  
}
```

**Pourquoi** : réduit la latence et l'utilisation de la bande passante en ne récupérant que les ressources mises à jour.

### 3. Incluez des informations complètes sur la couverture
<a name="questionnaire-package-bp-coverage"></a>

Fournissez des informations complètes sur la couverture afin de garantir une sélection correcte du questionnaire :

```
{  
  "name": "coverage",  
  "resource": {  
    "resourceType": "Coverage",  
    "beneficiary": { "reference": "Patient/123" },  
    "payor": [{ "reference": "Organization/payer-abc" }],  
    "class": [{ /* Group/plan information */ }]  
  }  
}
```

**Pourquoi** : aide à HealthLake identifier les questionnaires et les exigences spécifiques au payeur.

## Opérations liées
<a name="questionnaire-package-related-operations"></a>
+ `Claim/$submit`- Soumettre les demandes d'autorisation préalable avec la documentation complète
+ `Claim/$inquire`- Vérifier l'état des autorisations antérieures soumises
+ `ValueSet/$expand`- Élargir ValueSets pour les choix de réponses