View a markdown version of this page

Recherche de données DICOM dans HealthImaging - AWS HealthImaging

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.

Recherche de données DICOM dans HealthImaging

AWS HealthImaging propose des représentations des QIDO-RS API DICOMWeb permettant de rechercher des études, des séries et des instances par identifiant de patient, et de recevoir leurs identifiants uniques pour une utilisation ultérieure. HealthImagingles QIDO-RS API DICOMWeb offrent de la flexibilité dans la manière dont vous recherchez les données stockées HealthImaging et assurent l'interopérabilité avec les applications existantes.

Important

HealthImagingles API DICOMWeb peuvent être utilisées pour renvoyer des informations sur les ensembles d'images avec. QIDO-RS HealthImaging Les API DICOMWeb font référence uniquement aux ensembles d'images principaux, sauf indication contraire. Utilisez les actions natives du HealthImaging cloud ou le paramètre optionnel d'ensemble d'images des actions DICOMWeb pour récupérer des ensembles d'images non principaux. HealthImagingles API DICOMWeb peuvent être utilisées pour renvoyer des informations sur un ensemble d'images avec DICOMweb-conformant des réponses.

HealthImaging Les QIDO-RS actions DICOMWeb peuvent renvoyer un maximum de 10 000 enregistrements. Si plus de 10 000 ressources existent, elles ne seront pas récupérables via les QIDO-RS actions, mais peuvent être récupérées via des actions DICOMWeb ou des WADO-RS actions natives du cloud.

Les API répertoriées dans cette section sont conçues conformément à la norme DICOMWeb (QIDO-RS) pour l'imagerie médicale basée sur le Web. Ils ne sont pas proposés par le biais AWS CLI de AWS SDK.

API de recherche DICOMWeb pour HealthImaging

Le tableau suivant décrit toutes les HealthImaging représentations des QIDO-RS API DICOMWeb disponibles pour la recherche de données. HealthImaging

HealthImaging représentations des API DICOMWeb QIDO-RS
Nom Description
SearchDICOMStudies Recherchez des études DICOM en HealthImaging spécifiant les éléments de requête de recherche à l'aide d'une requête GET. Les résultats de recherche des études sont renvoyés au format JSON, triés par dernière mise à jour, date décroissante (de la plus récente à la plus ancienne). Consultez Rechercher des études.
SearchDICOMSeries Recherchez les séries DICOM en HealthImaging spécifiant les éléments de requête de recherche à l'aide d'une requête GET. Les résultats de recherche de séries sont renvoyés au format JSON, Series Number (0020, 0011) triés par ordre croissant (du plus ancien au plus récent). Consultez Rechercher une série.
SearchDICOMInstances Recherchez des instances DICOM en HealthImaging spécifiant les éléments de requête de recherche à l'aide d'une requête GET. Les résultats de recherche d'instance sont renvoyés au format JSON, Instance Number (0020, 0013) triés par ordre croissant (du plus ancien au plus récent). Consultez Rechercher des instances.

Types de requêtes DICOMWeb pris en charge pour HealthImaging

HealthImaging prend en charge les requêtes de ressources QIDO-RS hiérarchiques aux niveaux de l'étude, de la série et de l'instance SOP. Lorsque vous utilisez la recherche QIDO-RS hiérarchique pour HealthImaging :

  • La recherche d'études renvoie une liste d'études

  • La recherche d'une série d'études nécessite une série connue StudyInstanceUID et renvoie une liste de séries

  • La recherche dans une liste d'instances nécessite StudyInstanceUID une SeriesInstanceUID

Le tableau suivant décrit les types de requêtes QIDO-RS hiérarchiques pris en charge pour la recherche de données dans HealthImaging.

HealthImaging types de QIDO-RS requêtes pris en charge
Type de requête Exemple
Requêtes sur les valeurs d'attribut

Recherchez toutes les séries dans une étude oùmodality=CT.

.../studies/1.3.6.1.4.1.14519.5.2.1.6279.6001.101370605276577556143013894866/series?00080060=CT

Effectuez une recherche dans toutes les études pour lesquelles l'identifiant du patient et la date de l'étude correspondent respectivement à ces valeurs.

…/studies?PatientID=11235813&StudyDate=20130509

Requêtes par mots clés

Recherchez toutes les séries à l'aide du SeriesInstanceUID mot-clé.

.../studies/1.3.6.1.4.1.14519.5.2.1.6279.6001.101370605276577556143013894866/series?SeriesInstanceUID=1.3.6.1.4.1.14519.5.2.1.6279.6001.101370605276577556143013894868

Requêtes de balises

Recherchez des balises à l'aide des paramètres de requête transmis dans le group/element formulaire.

{group} {element} comme 0020000D

Requêtes de plage

...?Modality=CT&StudyDate=AABBYYYY-BBCCYYYY

Pagination des résultats avec et limit offset

.../studies?limit=1&offset=0&00080020=20000101

Vous pouvez utiliser les paramètres de limite et de décalage pour paginer les réponses de recherche. La valeur par défaut de la limite est 1000, et HealthImaging Points de terminaison et quotas AWS vérifiez la valeur maximale.

Limite maximale = 1000, décalage maximal = 9000

Requêtes avec caractères génériques

Les requêtes Wildcard offrent une plus grande flexibilité lors de la recherche en utilisant « * » et « ? ». « * » correspond à n'importe quelle séquence de caractères (y compris une valeur de longueur nulle) et « ? » correspond à n'importe quel caractère.

Rechercher toutes les études dans une banque de données StudyDescription contenant le terme « Nucléaire » :

.../studies?StudyDescription=*Nuclear*

Recherchez toutes les études dont le texte StudyDescription se termine par « Nucléaire » :

.../studies?StudyDescription=*Nuclear

Recherchez toutes les études dont le nom StudyDescription commence par « Nucléaire » :

.../studies?StudyDescription=Nuclear*

Recherchez toutes les études dans lesquelles PatientID comporte exactement 3 caractères après 200965981 :

.../studies?PatientID=200965981???

FuzzyMatching requêtes

Activez la correspondance floue sur les attributs DICOM des noms ((0010,0010), PatientName ReferringPhysicianName (0008,0090)) en ajoutant le paramètre de requête optionnel fuzzymatching :

.../studies?fuzzymatching=true&PatientName="Thomas^Albert"

Cette requête effectue une correspondance de mots de préfixe sans distinction majuscules/minuscules sur n'importe quelle partie de la valeur. PatientName Il renvoie des résultats avec PatientName des valeurs telles que « thomas », « Albert », « Thomas Albert », « Thomas^Albert », mais pas « hom » ou « ber ».

IncludeField requêtes

Utilisez le paramètre de includefield requête pour demander des attributs DICOM supplémentaires au-delà du jeu de réponses par défaut.

Renvoie des attributs spécifiques par tag :

.../studies?PatientID=11235813&includefield=00101081&includefield=PatientWeight

Renvoie tous les attributs disponibles :

.../studies?PatientID=11235813&includefield=all

Renvoie les sous-attributs de séquence (SQ) à l'aide de la notation en pointillés :

.../studies?PatientID=11235813&includefield=00080096.00080100

Renvoyer des éléments de données privés :

.../instances?includefield=00191001&00190010=Philips

Utilisation IncludeField dans les QIDO-RS requêtes

Le paramètre de includefield requête vous permet de demander des attributs DICOM supplémentaires au-delà de la réponse par défaut définie dans les HealthImaging QIDO-RS requêtes. Vous pouvez l'utiliser includefield au niveau de l'étude, de la série et de l'instance.

Syntaxe

Utilisez le format de requête GET suivant pour inclure des champs supplémentaires dans vos QIDO-RS requêtes :

GET .../studies?<query_params>&includefield=<tag_or_keyword> GET .../studies/<StudyInstanceUID>/series?<query_params>&includefield=<tag_or_keyword> GET .../studies/<StudyInstanceUID>/series/<SeriesInstanceUID>/instances?<query_params>&includefield=<tag_or_keyword>

Vous pouvez spécifier plusieurs includefield paramètres dans une seule demande :

GET .../studies?PatientID=11235813&includefield=00101081&includefield=00101030&includefield=00101010

Valeurs prises en charge pour includefield

Le tableau suivant décrit les valeurs prises en charge pour le includefield paramètre.

Valeurs de champ incluses prises en charge
Type de la valeur Description Exemple
Tag DICOM (8 caractères hexadécimaux) Demandez un attribut DICOM spécifique par son tag au format GGGGEEEE. includefield=00081030
all Demandez tous les attributs DICOM disponibles pour le niveau de ressource. includefield=all
Parcours SQ en pointillés <parent_tag>Demandez un sous-attribut spécifique dans un attribut de séquence (SQ) en utilisant la notation par points :. <child_tag>. includefield=00080096.00080100
Tag d'élément de données privé Demandez un tag privé (élément odd-group). Nécessite le privateCreatorElement paramètre. includefield=00191001
Attributs DICOM standard, y compris les données en masse Demandez un ou plusieurs attributs spécifiques par tag ou mot-clé. includefield=00102201

Comportement et règles

Les règles suivantes s'appliquent aux includefield requêtes :

  • Réponse par défaut — Sans réponseincludefield, la QIDO-RS réponse renvoie uniquement l'ensemble standard d'attributs.

  • includefield=all — Renvoie tous les attributs disponibles au niveau demandé. Lorsqu'il all est combiné avec d'autres includefield valeurs, all prend la priorité.

  • Nombre maximum de balises : une demande peut inclure jusqu'à 50 includefield paramètres.

  • Balises dupliquées : includefield les valeurs dupliquées sont dédupliquées et traitées comme une seule demande.

  • Balises non valides ou manquantes — Si une balise demandée n'existe pas dans les données DICOM ou n'est pas valide, elle est omise silencieusement dans la réponse. Les autres includefield attributs valides sont toujours renvoyés.

Attributs de séquence (SQ)

Utilisez la notation par points pour demander des attributs imbriqués dans un attribut Sequence (SQ) :

includefield=<parent_SQ_tag>.<child_tag>

Par exemple, pour récupérer CodeValue (0008 0100) dans (0008 0096 ReferringPhysicianIdentificationSequence ) :

GET .../studies?PatientID=11235813&includefield=00080096.00080100

Multi-level l'imbrication est prise en charge. Par exemple :

includefield=00081115.00081199.00081150

Tags privés

Les éléments de données DICOM privés (balises de groupe impair) sont pris en charge à tous les niveaux de ressources. Pour demander des balises privées, incluez le paramètre de privateCreatorElement requête.

Utilisez la syntaxe suivante :

GET .../instances?includefield=<private_tag>&<creator_tag>=<creator_name>

Par exemple :

GET .../instances?includefield=00191001&00190010=Philips

Les règles suivantes s'appliquent aux tags privés :

  • Le privateCreatorElement tag et le nom du créateur doivent être fournis en tant que paramètre de correspondance si le tag privé est demandé.

  • Si la valeur spécifiée n'privateCreatorElementest pas trouvée, la balise privée est omise silencieusement.

  • Le fait de demander uniquement une privateCreatorElement balise sans élément de données privé renvoie uniquement le nom et la valeur de l'élément créateur. Il ne renvoie pas toutes les balises appartenant au bloc de ce créateur.

Balises de données en masse

Les attributs DICOM contenant des données en masse (OB, OD, OF, OL, UN, OW, OV) dont la valeur binaire est supérieure à 1 Mo demandés dans le cadre du includefield sont renvoyés à la bulkdataURI place de la valeur binaire brute. Pour plus d'informations sur la récupération de données groupées, voir Extraction de données groupées DICOM dans. HealthImaging

Que renvoie includefield=all à chaque niveau ?

Lorsqu'elle includefield=all est spécifiée, la réponse inclut tous les attributs au niveau de ressource spécifique.

Niveau d'étude (includefield=all)

Le tableau suivant répertorie tous les attributs renvoyés au niveau de l'étude lorsqu'ils includefield=all sont spécifiés.

Attributs au niveau de l'étude pour includefield=all
Balise Nom VR
00080005SpecificCharacterSetCS
00080020StudyDateDA
00080030StudyTimeTM
00080050AccessionNumberSH
00080051IssuerOfAccessionNumberSequenceSQ.
00080056InstanceAvailabilityCS
00080061ModalitiesInStudyCS
00080062SOPClassesInStudyUI
00080090ReferringPhysicianNamePN
0008009CConsultingPhysicianNamePN
00080201TimezoneOffsetFromUTCSH
00081030StudyDescriptionLO
00081048PhysiciansOfRecordPN
00081060NameOfPhysiciansReadingStudyPN
00081080AdmittingDiagnosesDescriptionLO
00081190Extraire l'URLUR
00100010PatientNamePN
00100020Identifiant du patientLO
00100021IssuerOfPatientIDLO
00100022TypeOfPatientIDCS
00100026SourcePatientGroupIdentificationSequenceSQ.
00100027GroupOfPatientsIdentificationSequenceSQ.
00100028SubjectRelativePositionInImageETATS-UNIS
00100030PatientBirthDateDA
00100032PatientBirthTimeTM
00100033PatientBirthDateInAlternativeCalendarLO
00100034PatientDeathDateInAlternativeCalendarLO
00100035PatientAlternativeCalendarCS
00100040PatientSexCS
00100050PatientInsurancePlanCodeSequenceSQ.
00100101PatientPrimaryLanguageCodeSequenceSQ.
00100102PatientPrimaryLanguageModifierCodeSequenceSQ.
00100200QualityControlSubjectCS
00100201QualityControlSubjectTypeCodeSequenceSQ.
00100213StrainNomenclatureLO
00100214StrainStockNumberLO
00100215StrainSourceRegistryCodeSequenceSQ.
00100217StrainSourceLO
00100219StrainCodeSequenceSQ.
00100223GeneticModificationsNomenclatureLO
00100229GeneticModificationsCodeSequenceSQ.
00101001OtherPatientNamesPN
00101005PatientBirthNamePN
00101010PatientAgeAS
00101020PatientSizeSERGENT
00101021PatientSizeCodeSequenceSQ.
00101022PatientBodyMassIndexSERGENT
00101023Dimension AP mesuréeSERGENT
00101024MeasuredLateralDimensionSERGENT
00101030PatientWeightSERGENT
00101040PatientAddressLO
00101060PatientMotherBirthNamePN
00101080MilitaryRankLO
00101081BranchOfServiceLO
00102000MedicalAlertsLO
00102110AllergiesLO
00102150CountryOfResidenceLO
00102152RegionOfResidenceLO
00102154PatientTelephoneNumbersSH
00102160EthnicGroupSH
00102180ProfessionSH
001021A0SmokingStatusCS
001021C0PregnancyStatusETATS-UNIS
001021D0LastMenstrualDateDA
001021F0PatientReligiousPreferenceLO
00102201PatientSpeciesDescriptionLO
00102202PatientSpeciesCodeSequenceSQ.
00102203PatientSexNeuteredCS
00102210AnatomicalOrientationTypeCS
00102292PatientBreedDescriptionLO
00102293PatientBreedCodeSequenceSQ.
00102295BreedRegistrationNumberLO
00102296BreedRegistryCodeSequenceSQ.
00102297ResponsiblePersonPN
00102298ResponsiblePersonRoleCS
00102299ResponsibleOrganizationLO
00109431ExaminedBodyThicknessFL
0020000DStudyInstanceUIDUI
00200010ID de l'étudeSH
00201206NumberOfStudyRelatedSeriesIS
00201208NumberOfStudyRelatedInstancesIS
00321032RequestingPhysicianPN
00321033RequestingServiceLO
00321060RequestedProcedureDescriptionLO
00321070RequestedContrastAgentLO
00380010Numéro d'admissionLO
00380016RouteOfAdmissionsLO
00380020AdmittingDateDA
00380021AdmittingTimeTM
00380050SpecialNeedsLO
00380060ServiceEpisodeIDLO
00380062ServiceEpisodeDescriptionLO
00380300CurrentPatientLocationLO
00380400PatientInstitutionResidenceLO
00380500PatientStateLO
00400244PerformedProcedureStepStartDateDA
00400245PerformedProcedureStepStartTimeTM
00400250PerformedProcedureStepEndDateDA
00400251PerformedProcedureStepEndTimeTM
00400253PerformedProcedureStepIDSH
00081032ProcedureCodeSequenceSQ.
00100024IssuerOfPatientIDQualifiersSequenceSQ.
00321034RequestingServiceCodeSequenceSQ.
00321064RequestedProcedureCodeSequenceSQ.
00401012ReasonForPerformedProcedureCodeSequenceSQ.

Niveau de la série (includefield=all)

Le tableau suivant répertorie les attributs de niveau série renvoyés lorsqu'ils includefield=all sont spécifiés. Le niveau de la série renvoie également tous les attributs du niveau de l'étude répertoriés dans le tableau précédent.

Attributs au niveau de la série pour includefield=all
Balise Nom VR
00080021SeriesDateDA
00080031SeriesTimeTM
00080060ModalitéCS
00080064ConversionTypeCS
00080068PresentationIntentTypeCS
00080070FabricantLO
00080080InstitutionNameLO
00080082InstitutionCodeSequenceSQ.
00081010StationNameSH
0008103ESeriesDescriptionLO
0008103FSeriesDescriptionCodeSequenceSQ.
00081040InstitutionalDepartmentNameLO
00081041InstitutionalDepartmentTypeCodeSequenceSQ.
00081050PerformingPhysicianNamePN
00081070OperatorsNamePN
00081090ManufacturerModelNameLO
00180010ContrastBolusAgentLO
00180015BodyPartExaminedCS
00180050SliceThicknessSERGENT
00180088SpacingBetweenSlicesSERGENT
00181000DeviceSerialNumberLO
00181016SecondaryCaptureDeviceManufacturerLO
00181018SecondaryCaptureDeviceManufacturerModelNameLO
00181019SecondaryCaptureDeviceSoftwareVersionsLO
00181020SoftwareVersionsLO
00181030ProtocolNameLO
00181050SpatialResolutionSERGENT
00181200DateOfLastCalibrationDA
00181201TimeOfLastCalibrationTM
00185100PatientPositionCS
0020000DStudyInstanceUIDUI
0020000ESeriesInstanceUIDUI
00200011SeriesNumberIS
00200052FrameOfReferenceUIDUI
00200060LatéralitéCS
00201209NumberOfSeriesRelatedInstancesIS
00540081NumberOfSlicesETATS-UNIS
00540101NumberOfTimeSlicesETATS-UNIS
00541000SeriesTypeCS

Niveau de l'instance (includefield=all)

Au niveau de l'instance, includefield=all renvoie les métadonnées DICOM complètes au niveau de l'instance. Cela inclut tous les attributs stockés dans les métadonnées de l'instance HealthImaging stockées. Toutes les balises DICOM présentes dans le fichier DICOM d'origine pour cette instance sont renvoyées, à l'exception de l'attribut de données en pixels.