Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Αιτήματα πρόσβασης κλινικής με έγκριση ασθενούς (CIBA)
Η ροή OpenID CIBA πίσω από τα αιτήματα πρόσβασης κλινικής: η υποδοχή εισάγει το email του ασθενούς, ο ασθενής εγκρίνει στην εφαρμογή ή μέσω email για 30, 90 ή 365 ημέρες, και η εφαρμογή της κλινικής λαμβάνει tokens.
Μια κλινική φτάνει στο αρχείο ενός ασθενούς στο Anpheros μόνο όταν ο ασθενής το εγκρίνει. Η εφαρμογή της κλινικής στέλνει ένα αίτημα ονομάζοντας τη διεύθυνση email του ασθενούς και την πρόσβαση που χρειάζεται. Ο ασθενής το λαμβάνει στην εφαρμογή Anpheros και μέσω email, βλέπει ποιος ζητά και για τι, επιλέγει πόσο καιρό να το επιτρέψει, και εγκρίνει ή απορρίπτει. Εάν εγκρίνει, η εφαρμογή της κλινικής λαμβάνει tokens και μπορεί να διαβάσει το αρχείο μέχρι να λήξει η πρόσβαση ή ο ασθενής την αποσύρει.
Η ροή είναι η τυπική ροή OpenID Connect Client-Initiated Backchannel Authentication (CIBA), σε λειτουργία poll. Υπάρχει ώστε ένας ρεσεψιονίστ να μην χρειάζεται να δώσει στον ασθενή ένα τηλέφωνο ή έναν σύνδεσμο: το αίτημα πηγαίνει στον ασθενή, όχι μέσω της οθόνης της κλινικής.
Βήμα προς βήμα
- Η υποδοχή εισάγει το email του ασθενούς. Η εφαρμογή της κλινικής καλεί το
POST /oauth/bc-authorizeμε τα διαπιστευτήρια του πελάτη της, το email του ασθενούς ωςlogin_hint, τοscopeπου χρειάζεται και ένα σύντομοbinding_messageπου θα δει ο ασθενής. - Η πλατφόρμα απαντά με τον ίδιο τρόπο για κάθε διεύθυνση. Η απάντηση περιέχει ένα
auth_req_id, ημερομηνία λήξης και διάστημα δημοσκόπησης, ανεξάρτητα από το αν αυτό το email έχει λογαριασμό Anpheros. Δεν αποκαλύπτει ποιος έχει εγγραφή. Ένα αίτημα για άτομο χωρίς λογαριασμό απλώς λήγει. - Ο ασθενής αποφασίζει. Λαμβάνει μια ειδοποίηση στην εφαρμογή Anpheros και ένα email. Το αίτημα εμφανίζει τον οργανισμό, το εύρος και το μήνυμα. Επιλέγει μια περίοδο 30, 90 ή 365 ημερών και πατάει "επιτρέψτε" ή "αρνηθείτε". Ο σύνδεσμος στο email δεν εγκρίνει τίποτα όταν ανοίγει, επειδή οι σαρωτές email ανοίγουν συνδέσμους. ο ασθενής πρέπει να πατήσει το κουμπί.
- Η κλινική δημοσκοπεί. Η εφαρμογή καλεί το
POST /oauth/tokenμε τον τύπο χορήγησηςurn:openid:params:grant-type:cibaκαι τοauth_req_id. Ενώ ο ασθενής δεν έχει αποφασίσει, η απάντηση είναιauthorization_pending. Μετά την έγκριση, τα διακριτικά επιστρέφονται μία φορά. Μια άρνηση επιστρέφειaccess_deniedκαι ένα μη απαντημένο αίτημα επιστρέφειexpired_token. - Η κλινική διαβάζει και γράφει εντός του χορηγηθέντος εύρους. Κάθε ανάγνωση καταγράφεται και είναι ορατή στον ασθενή. Μια κλινική μπορεί να αλλάξει ή να διαγράψει μόνο ό,τι έγραψε η ίδια.
Τι προστατεύει τον ασθενή
- Μόνο επαληθευμένο email. Ένα αίτημα αντιστοιχεί μόνο σε έναν λογαριασμό του οποίου το email έχει επαληθευτεί, ώστε κανείς να μην μπορεί να λάβει αιτήματα άλλου ατόμου δημιουργώντας έναν λογαριασμό με τη διεύθυνσή του.
- Περιορισμένη εμβέλεια και διάρκεια. Η πρόσβαση είναι ανά τύπο πόρου και ενέργεια, για δηλωμένη περίοδο. Ένα αίτημα στο οποίο κανείς δεν απαντά λήγει εντός μιας ημέρας από προεπιλογή και το πολύ σε επτά ημέρες.
- Ανακλητή ανά πάσα στιγμή. Η ανάκληση τίθεται σε ισχύ στο επόμενο αίτημα. Η κλινική δεν μπορεί να ανανεώσει τον τρόπο εισόδου της.
- Ορατό. Ο ασθενής βλέπει κάθε σύνδεση και κάθε πρόσβαση στην εφαρμογή. Δείτε μοντέλο συναίνεσης και πρόσβασης.
Τι χρειάζεται μια κλινική για να δημιουργήσει
- Ένας εμπιστευτικός OAuth client εγγεγραμμένος στην πλατφόρμα, με το μυστικό του να φυλάσσεται στον διακομιστή.
- Ένας βρόχος δημοσκόπησης (polling loop) που σέβεται το διάστημα και χειρίζεται τις τέσσερις εκβάσεις.
- Ένας τρόπος να εμφανίζεται η απόφαση του ασθενούς στη ρεσεψιόν ("αναμονή για τον ασθενή", "εγκεκριμένο έως …", "απορρίφθηκε").
- Χειρισμός των επιστρεφόμενων tokens ως διαπιστευτηρίων μικρής διάρκειας: τα access tokens διαρκούν 30 λεπτά και τα refresh tokens εναλλάσσονται σε κάθε χρήση. Δείτε έλεγχο ταυτότητας και OAuth.
Για μια κλινική που προτιμά να ανοίξει μια σελίδα συναίνεσης μπροστά στον ασθενή, για παράδειγμα στο γραφείο, υποστηρίζεται επίσης η τυπική ροή authorization-code με PKCE και SMART on FHIR standalone launch.
Συχνές Ερωτήσεις
Πρέπει ο ασθενής να βρίσκεται στην κλινική;
Όχι. Μπορεί να εγκρίνει από το δικό του τηλέφωνο ή από τον σύνδεσμο του email, όπου κι αν βρίσκεται. Έτσι, ένα αίτημα μπορεί να σταλεί πριν από το ραντεβού, και ένας ασθενής που βρίσκεται στο εξωτερικό μπορεί ακόμα να το εγκρίνει.
Τι γίνεται αν ο ασθενής δεν έχει λογαριασμό Anpheros;
Το αίτημα γίνεται αποδεκτό και στη συνέχεια λήγει χωρίς απόφαση, και η κλινική δεν μπορεί να γνωρίζει αν υπάρχει λογαριασμός. Ο ασθενής μπορεί να δημιουργήσει έναν λογαριασμό και η κλινική μπορεί να στείλει ένα νέο αίτημα.
Πόσο διαρκεί η πρόσβαση;
Ο ασθενής επιλέγει 30, 90 ή 365 ημέρες όταν εγκρίνει. Μπορεί να την ανακαλέσει νωρίτερα.
Μπορεί η κλινική να δει τα πάντα στο αρχείο;
Μόνο το εύρος (scope) που ενέκρινε ο ασθενής. Τα εύρη ορίζονται ανά τύπο πόρου και ενέργεια, και μπορούν να φιλτραριστούν ανά κατηγορία.
Είναι η ροή αιτήματος ένα πρότυπο;
Ναι. Είναι OpenID Connect CIBA, οπότε μπορούν να χρησιμοποιηθούν υπάρχουσες βιβλιοθήκες OAuth. Δείτε τον οδηγό healthcare API με συναίνεση ασθενούς για το ευρύτερο μοντέλο.
Είναι αυτό σε ζωντανή λειτουργία;
Ναι, στην πλατφόρμα σε ιδιωτική beta. Η πρόσβαση στην παραγωγή απαιτεί επαληθευμένο οργανισμό και υπογεγραμμένη συμφωνία επεξεργασίας δεδομένων.
Σχετικά
- Πλατφόρμα δεδομένων ασθενών για κλινικές και νοσοκομεία
- Πλατφόρμα συναίνεσης ασθενών για εφαρμογές υγείας
- Πώς να υλοποιήσετε τη συναίνεση ασθενών με SMART on FHIR
- Ασφάλεια, ιδιωτικότητα και τοποθεσία δεδομένων
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card