Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$questionnaire-packageFHIR-Operation für HealthLake
Bei diesem $questionnaire-package Vorgang wird ein umfangreiches Paket abgerufen, das einen FHIR-Fragebogen und all seine Abhängigkeiten enthält, die für das Rendern und Verarbeiten des Fragebogens erforderlich sind. Bei diesem Vorgang wird der Implementierungsleitfaden für Da Vinci Documentation Templates and Rules (DTR)
Funktionsweise
-
Anfrage: Sie senden Parameter, die die benötigten Fragebögen sowie den Umfang und den Kontext der Bestellung angeben
-
Abrufen: HealthLake sammelt den Fragebogen und alle Abhängigkeiten (ValueSets, CQL-Bibliotheken usw.)
-
Package: Alle Ressourcen sind in einem standardisierten Format gebündelt
-
Antworten: Sie erhalten ein Komplettpaket, das zum Rendern und zur Datenerfassung bereit ist
Anwendungsfälle
-
Unterlagen zur vorherigen Autorisierung: Sammeln Sie die erforderlichen klinischen Informationen für vorherige Autorisierungsanfragen
-
Deckungsanforderungen: Sammeln Sie die Unterlagen, die zur Erfüllung der Deckungsanforderungen des Kostenträgers erforderlich sind
-
Klinischer Data Exchange: Strukturierung klinischer Daten für die Einreichung an Kostenträger
-
Dynamische Formulare: Rendern Sie Fragebögen mit vorab ausgefüllten Patientendaten und bedingter Logik
API-Endpunkt
POST /datastore/{datastoreId}/r4/Questionnaire/$questionnaire-package Content-Type: application/fhir+json
Anforderungsparameter
Eingabeparameter
Der Anfragetext muss eine FHIR-Parameter-Ressource mit den folgenden Parametern enthalten:
| Parameter | Typ | Kardinalität | Description |
|---|---|---|---|
coverage |
Abdeckung | 1.. * (Erforderlich) | Ressource (n) zur Bestimmung des Mitglieds und des Versicherungsschutzes für die Dokumentation |
questionnaire |
kanonisch | 0.. * | Kanonische URL (s) für bestimmte Fragebögen, die zurückgegeben werden sollen (kann Version enthalten) |
order |
Ressource | 0.. * | Ordnen Sie Ressourcen (DeviceRequest, ServiceRequest MedicationRequest, Begegnung, Termin) an, um den Kontext festzulegen |
changedSince |
dateTime | 0.1 | Falls vorhanden, werden nur Ressourcen zurückgegeben, die nach diesem Zeitstempel geändert wurden |
Regeln für die Parametervalidierung
Mindestens EINE der folgenden Angaben muss angegeben werden (zusätzlich zu den erforderlichen Angabencoverage):
-
Eine oder mehrere
questionnairekanonische URLs -
Eine oder mehrere Ressourcen
order
Gültige Anforderungskombinationen:
-
coverage+questionnaire -
coverage+order -
coverage+questionnaire+order
Beispielanforderung
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" } ] }
Reaktionsformat
Erfolgreiche Antwort (200 OK)
Die Operation gibt eine FHIR-Parameter-Ressource zurück, die ein oder mehrere Paketpakete enthält. Jedes Package beinhaltet:
| Art des Eintrags | Kardinalität | Description |
|---|---|---|
| Fragebogen | 1 | Der auszufüllende Fragebogen |
| QuestionnaireResponse | 0.. 1 | Vorab ausgefüllte oder teilweise ausgefüllte Antwort (falls zutreffend) |
| Bibliothek | 0.. * | CQL-Bibliotheken mit Logik vor der Befüllung und bedingter Logik |
| ValueSet | 0.. * | Erweitert ValueSets (für Antwortoptionen mit <40 Erweiterungen) |
Beispiel Beispielantwort
{ "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" } }] } } ] }
Arbeitsablauf bei der Bedienung
Wie wird Ihre Anfrage HealthLake bearbeitet
HealthLake Führt bei $questionnaire-package Ihrem Anruf die folgenden Schritte aus:
-
Patient und Kostenträger identifizieren: Extrahiert den Patienten und die Versicherungsorganisation aus Ihrem
coverageParameter. -
Finden Sie den richtigen Fragebogen:
-
Mit
questionnaireParameter: Verwendet die von Ihnen angegebene kanonische URL -
Mit
orderParameter: Stimmt mit dem Bestellcode (CPT/HCPCS/LOINC) und dem Zahler überein, um den passenden Fragebogen zu finden
-
-
Abhängigkeiten erfassen: Ruft automatisch alles ab, was zum Rendern des Fragebogens benötigt wird:
-
CQL-Bibliotheken — Logik für Fragen vor der Eingabe und für bedingte Fragen
-
ValueSets- Antwortoptionen (werden automatisch erweitert, wenn weniger als 40 Optionen verfügbar sind)
-
QuestionnaireResponse- Alle vorhandenen Antworten, die gerade bearbeitet oder abgeschlossen sind
-
-
Alles zusammen verpacken:
-
Bündelt alle Ressourcen (jede Ressource ist nur einmal enthalten)
-
Filtert nach
changedSinceZeitstempel, falls angegeben -
Fügt Warnungen hinzu
Outcome, wenn Ressourcen fehlen
-
Ergebnis: Ein vollständiges, eigenständiges Paket, das zum Rendern bereit ist.
Fehlermeldungen
400 Bad Request (400 Ungültige Anfrage)
Wird zurückgegeben, wenn die Überprüfung der Anfrage fehlschlägt.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "required", "details": { "text": "At least one of 'questionnaire' or 'order' must be provided along with 'coverage'" } }] }
424 Fehlgeschlagene Abhängigkeit
Wird zurückgegeben, wenn eine abhängige Ressource nicht abgerufen werden kann.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "warning", "code": "not-found", "details": { "text": "Referenced Library 'http://example.org/fhir/Library/missing-library' could not be retrieved" } }] }
401 Nicht autorisiert
Wird zurückgegeben, wenn Anmeldeinformationen fehlen oder ungültig sind.
403 Forbidden
Wird zurückgegeben, wenn der authentifizierte Benutzer nicht berechtigt ist, auf die angeforderten Ressourcen zuzugreifen.
406 Nicht akzeptabel
Wird zurückgegeben, wenn der angeforderte Inhaltstyp nicht bereitgestellt werden kann.
409 Conflict (409 Konflikt)
Wird zurückgegeben, wenn ein Versions- oder Parallelitätskonflikt vorliegt.
410 Verschwunden
Wird zurückgegeben, wenn die angeforderte Ressource dauerhaft gelöscht wurde.
429 Zu viele Anfragen
Wird zurückgegeben, wenn die Ratenlimits überschritten werden.
500 Internal Server Error
Wird zurückgegeben, wenn ein unerwarteter Serverfehler auftritt.
501 Nicht implementiert
Wird zurückgegeben, wenn der angeforderte Vorgang noch nicht implementiert ist.
Validierungsregeln
Überprüfung von Eingaben
-
coverageParameter ist erforderlich (1.. * Kardinalität) -
Mindestens einer von
questionnaireoderordermuss angegeben werden -
Alle Coverage-Ressourcen müssen gültige FHIR-Ressourcen sein
-
Bei allen Ressourcen der Bestellung muss es sich um gültige FHIR-Ressourcen handeln
-
Canonical URLs muss ordnungsgemäß formatiert sein
-
changedSincemuss eine gültige ISO 8601 dateTime sein
QuestionnaireResponse Validierung
-
statusmuss angemessen sein (in-progress,completed,amended) -
Die Struktur muss mit dem referenzierten Fragebogen übereinstimmen
-
basedOnmuss auf gültige Ressourcen der Bestellung verweisen -
subjectmuss auf gültige Patientenressourcen verweisen
Deduplizierung von Ressourcen
-
Jede Ressource erscheint nur einmal im Paket
-
Ausnahme: Verschiedene Versionen derselben Ressource können beide enthalten sein
-
Ressourcen werden anhand ihrer kanonischen URL und Version identifiziert
Leistungsspezifikationen
| Metrik | Spezifikation |
|---|---|
| Limit für die Anzahl der Ressourcen | 500 Ressourcen pro Paket |
| Größenbeschränkung für Pakete | Maximal 5 MB |
Erforderliche Berechtigungen
Um den $questionnaire-package Vorgang verwenden zu können, stellen Sie sicher, dass Ihre IAM-Rolle über Folgendes verfügt:
-
healthlake:QuestionnairePackage- Um den Vorgang aufzurufen -
healthlake:ReadResource- Um den Fragebogen und die zugehörigen Ressourcen abzurufen -
healthlake:SearchWithPost- Um nach QuestionnaireResponse und verwandten Ressourcen zu suchen
SMART auf FHIR-Zielfernrohren
Erforderliche Mindestbereiche:
-
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
Wichtige Hinweise zur Implementierung
Strategie zum Abruf von Ressourcen
Priorität bei der Identifizierung des Fragebogens:
-
Kanonische URL (falls der
questionnaireParameter angegeben wurde) — Höchste Priorität -
Auftragsanalyse (falls der
orderParameter angegeben wurde):-
Ordnen Sie die Bestellcodes (CPT, HCPCS, LOINC) den Krankenversicherungen des Zahlers zu
-
Verwenden Sie Coverage Payor, um zahlerspezifische Fragebögen zu filtern
-
Erwägen Sie Ursachencodes für zusätzlichen Kontext
-
Auflösung von Abhängigkeiten
CQL-Bibliotheken:
-
Abgerufen über die
cqf-libraryErweiterung zu den Fragebogen-Ressourcen -
Ruft abhängige Bibliotheken rekursiv mit dem Typ ab
Library.relatedArtifactdepends-on -
Alle Bibliotheksabhängigkeiten sind im Paket enthalten
ValueSets:
-
Wird automatisch erweitert, wenn sie weniger als 40 Konzepte enthalten
-
Größere ValueSets sind ohne Erweiterung enthalten
-
ValueSets Die Ressourcen, auf die sowohl im Fragebogen als auch in der Bibliothek verwiesen wird, sind enthalten
QuestionnaireResponse Vorbevölkerung
Die Operation kann in folgenden Fällen eine QuestionnaireResponse mit bereits ausgefüllten Daten zurückgeben:
-
Es wurde eine bereits in Bearbeitung befindliche oder abgeschlossene Antwort gefunden
-
Die CQL-Logik in zugehörigen Bibliotheken kann Daten aus Patientenakten extrahieren
-
Die Antwort ist mit der jeweiligen Reihenfolge und dem Umfang verknüpft
Suchkriterien für QuestionnaireResponse:
| Suchparameter | FHIR-Pfad | Description |
|---|---|---|
based-on |
QuestionnaireResponse.basedOn |
Links zu oder ServiceRequest CarePlan |
patient |
QuestionnaireResponse.subject |
Der Patient, der das Subjekt ist |
questionnaire |
QuestionnaireResponse.questionnaire |
Der Fragebogen wird beantwortet |
Die Filterung der Ressourcen wurde geändert
Wenn der changedSince Parameter bereitgestellt wird:
-
Nur Ressourcen, die nach dem angegebenen Zeitstempel geändert wurden, sind enthalten
-
Wenn sich keine Ressourcen geändert haben, wird ein leeres Paket zurückgegeben
200 OK -
Nützlich für inkrementelle Updates und Caching-Strategien
-
Der Zeitstempelvergleich verwendet ein Ressourcenfeld
meta.lastUpdated
Mehrere Paketpakete
Der Vorgang kann mehrere Paketpakete zurückgeben, wenn:
-
Über Canonical werden mehrere Fragebögen angefordert URLs
-
Für mehrere Bestellungen sind unterschiedliche Fragebögen erforderlich
-
Es gelten verschiedene Versionen desselben Fragebogens
Jedes Package ist eigenständig mit allen erforderlichen Abhängigkeiten.
Häufige Anwendungsfälle
Anwendungsfall 1: Dokumentation zur vorherigen Autorisierung
Szenario: Ein Anbieter muss vor der Genehmigung Unterlagen für eine Sauerstofftherapie zu Hause sammeln.
{ "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" }] } } } ] }
Ergebnis: Gibt ein Paket mit dem Fragebogen zur Sauerstofftherapie zurück, der bereits mit den Patientendaten und Diagnosecodes aus dem EHR ausgefüllt ist.
Anwendungsfall 2: Rufen Sie eine bestimmte Version des Fragebogens ab
Szenario: Ein Anbieter benötigt zur Einhaltung der Vorschriften eine bestimmte Version eines Fragebogens.
{ "resourceType": "Parameters", "parameter": [ { "name": "coverage", "resource": { /* Coverage resource */ } }, { "name": "questionnaire", "valueCanonical": "http://example.org/fhir/Questionnaire/dme-request|3.1.0" } ] }
Ergebnis: Gibt genau Version 3.1.0 des DME-Anforderungsfragebogens mit allen Abhängigkeiten zurück.
Anwendungsfall 3: Nach Updates suchen
Szenario: Ein Anbieter möchte überprüfen, ob Fragebogenressourcen seit dem letzten Abruf aktualisiert wurden.
{ "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" } ] }
Ergebnis: Gibt nur Ressourcen zurück, die nach dem 1. März 2024 geändert wurden, oder ein leeres Paket, falls sich nichts geändert hat.
Anwendungsfall 4: Mehrere Bestellungen
Szenario: Ein Anbieter reicht mehrere Serviceanfragen ein, für die möglicherweise unterschiedliche Fragebögen erforderlich sind.
{ "resourceType": "Parameters", "parameter": [ { "name": "coverage", "resource": { /* Coverage resource */ } }, { "name": "order", "resource": { /* ServiceRequest for imaging */ } }, { "name": "order", "resource": { /* ServiceRequest for DME */ } } ] }
Ergebnis: Gibt mehrere Paketpakete zurück, eines für jeden zutreffenden Fragebogen.
Integration mit anderen Da Vinci IGs
Ermittlung der Deckungsanforderungen (CRD)
Workflow-Integration:
-
Der Anbieter bestellt einen Service in seinem EHR
-
Der CRD-Haken löst aus und überprüft die Deckungsanforderungen
-
Der Zahler gibt an, dass Unterlagen erforderlich sind
-
Der Anbieter ruft
$questionnaire-packagean, um das Dokumentationsformular abzurufen -
Der Anbieter füllt den Fragebogen aus
-
Die Dokumentation wird über PAS eingereicht oder CDex
Support bei vorheriger Autorisierung (PAS)
Workflow-Integration:
-
Wird verwendet
$questionnaire-package, um Dokumentationsanforderungen abzurufen -
Vervollständigen Sie das QuestionnaireResponse mit den erforderlichen klinischen Daten
-
Reichen Sie die vorherige Genehmigung ein und verwenden Sie
Claim/$submitdabei das ausgefüllte QuestionnaireResponse -
Überprüfen Sie den Status mit
Claim/$inquire
Klinischer Data Exchange (CDex)
Workflow-Integration:
-
Der Zahler fordert zusätzliche Unterlagen für einen Anspruch an
-
Der Anbieter verwendet
$questionnaire-package, um das Formular zur Erfassung strukturierter Daten abzurufen -
Der Anbieter füllt das aus QuestionnaireResponse
-
Die Dokumentation wird dem Zahler über den CDex Anhangs-Workflow übermittelt
Anleitung zur Fehlerbehebung
Problem: Es wurde kein Fragebogen zurückgesendet
Mögliche Ursachen:
-
Die kanonische URL stimmt mit keinem Fragebogen im Datenspeicher überein
-
Der Bestellcode entspricht keinem Fragebogen in der Krankenversicherung des Zahlers
-
Dem Versicherungsnehmer sind keine Fragebögen zugeordnet
Lösungen:
-
Stellen Sie sicher, dass die kanonische URL korrekt ist und der Fragebogen existiert
-
Vergewissern Sie sich, dass die Bestellcodes (CPT/HCPCS) korrekt angegeben sind
-
Vergewissern Sie sich, dass die Kostenträgerorganisation Fragebögen konfiguriert hat
Problem: Fehlende Abhängigkeiten im Package
Mögliche Ursachen:
-
Referenzierte Bibliothek oder ValueSet existiert nicht im Datenspeicher
-
Bibliotheksverweise sind defekt oder falsch
-
ValueSet Die Erweiterung ist fehlgeschlagen
Lösungen:
-
Überprüfen Sie den
OutcomeParameter auf Warnungen zu fehlenden Ressourcen -
Stellen Sie sicher, dass alle referenzierten Ressourcen in Ihrem Datenspeicher vorhanden sind
-
Stellen Sie sicher ValueSet URLs , dass sie korrekt und lösbar sind
Problem: Leeres Package mit ChangedSince
Mögliche Ursachen:
-
Dies ist erwartetes Verhalten — seit dem angegebenen Zeitstempel wurden keine Ressourcen geändert
Lösungen:
-
Verwenden Sie die zwischengespeicherte Version des Pakets
-
Entfernen Sie den
changedSinceParameter, um das vollständige Paket abzurufen
Problem: QuestionnaireResponse Nicht vorab ausgefüllt
Mögliche Ursachen:
-
Keine vorhandenen QuestionnaireResponse gefunden
-
Die Logik der CQL-Bibliothek konnte die erforderlichen Daten nicht extrahieren
-
Patientendaten fehlen oder sind unvollständig
Lösungen:
-
Das ist zu erwarten — nicht alle Fragebögen basieren auf einer Präpopulationslogik
-
Prüfen Sie, ob Patientendaten im Datenspeicher vorhanden sind
-
Überprüfen Sie die Anforderungen an die Datenextraktion in der Logik der CQL-Bibliothek
Best Practices
1. Verwenden Sie Canonical URLs mit Versionen
Geben Sie immer Versionsnummern an, wenn Sie bestimmte Fragebögen anfordern:
{ "name": "questionnaire", "valueCanonical": "http://example.org/fhir/Questionnaire/dme|2.1.0" }
Warum: Sorgt für Konsistenz und verhindert unerwartete Änderungen, wenn Fragebögen aktualisiert werden.
2. Nutzen Sie ChangedSince für mehr Leistung
Verwenden Sie für häufig aufgerufene Fragebögen Folgendes, changedSince um die Datenübertragung zu minimieren:
{ "name": "changedSince", "valueDateTime": "2024-03-10T15:30:00Z" }
Warum: Reduziert die Latenz und die Bandbreitennutzung, indem nur aktualisierte Ressourcen abgerufen werden.
3. Vollständige Deckungsinformationen einschließen
Geben Sie umfassende Angaben zum Umfang an, um sicherzustellen, dass der Fragebogen korrekt ausgewählt wird:
{ "name": "coverage", "resource": { "resourceType": "Coverage", "beneficiary": { "reference": "Patient/123" }, "payor": [{ "reference": "Organization/payer-abc" }], "class": [{ /* Group/plan information */ }] } }
Warum: Hilft bei der HealthLake Identifizierung von zahlerspezifischen Fragebögen und Anforderungen.
Zugehörige -Vorgänge
-
Claim/$submit- Reichen Sie vorherige Autorisierungsanfragen mit ausgefüllten Unterlagen ein -
Claim/$inquire- Überprüfen Sie den Status der eingereichten vorherigen Genehmigungen -
ValueSet/$expand- Erweitern Sie ValueSets die Antwortmöglichkeiten