8.4.0 • Published 1 year ago

@icure/api v8.4.0

Weekly downloads
1
License
MIT
Repository
-
Last release
1 year ago

Crypto model in iCure

Lexic

  • "ABCD" is a non encrypted key (uuid, ...)
  • {AB} is the encryption key of the pair AB, where hcParty A gives delegation to hcParty B. The encryption key is stored encrypted in the hcPartyKeys of hcParty A document (see below)
  • <ABCD>_{AB} is the key ABCD encrypted with encryption key {AB}
  • <{AB}>_{A} is the encryption key {AB} encrypted with the public key of hcParty A

The encryption keys are stored in the hcParty document that gives delegation to other user, since only the user can modify his hcParty document in CouchDB. The hcParty B needs to access the hcParty A document to decrypt (with his private key) the encryption key {AB} stored in the field hcPartyKeys.

## HCP A ##
hcPartyKeys: {
   A: [ <{AA}>_{A}, <{AA}>_{A} ]
   B: [ <{AB}>_{A}, <{AB}>_{B} ]
}

Document type relations

## Patient 1234 ##
ID: "1234"
Delegations: { A->A: <ABCD>_{AA}, A->B: <ABCD>_{AB} }
EncryptionKeys: { A->A: <DCBA>_{AA}, A->B: <DCBA>_{AB} }
## Contact 4567 ##
ID: "4567"
SecretForeignKeys: [ "ABCD" ]
CryptedForeignKeys: { A->A: <1234>_{AA}, A->B: <1234>_{AB} }
EncryptionKeys: { A->A: <EFGH>_{AA}, A->B: <EFGH>_{AB} }

The delegations of the patient document store the encrypted secretForeignKeys that you find in clear in the contact document. And allows, once decrypted, to find the contacts of a patient.

On the other side, the cryptedForeignKeys of the contact document allows, once decrypted, to find the corresponding patient document.

The encryptionKeys of a document are used to encrypt the content of the corresponding document. As for the delegations, the document encryption keys are stored encrypted with the encryption keys {AA}, {AB}, ...

The healthElement documents are linked to patient documents in the same way as the contact. This means that the healthElement documents have also SecretForeignKeys and CryptedForeignKeys, beside the encryptionKeys.

Delegations

  • Delegations === encrypted foreign key of all patient icureStoredDocument => it makes the link from a patient to a storedDocument
  • CryptedForeignKeys === encrypted patient.ID => it makes the link from a storedDocument to a patient
  • EncryptionKeys === encrypted encryptionKey (probably symmetric)

Multi profession

Contacts and delegations need to be segmented. => need to have segmented auto-delegations

Usage

Instalation

Install from npm

npm install --save icc-api

ES6 import

Example ES6 include

import * as IccApi from 'icc-api'
8.0.74

2 years ago

8.2.10

1 year ago

8.0.73

2 years ago

8.2.11

1 year ago

8.0.76

1 year ago

8.0.75

2 years ago

8.0.78

1 year ago

8.0.77

1 year ago

8.0.79

1 year ago

8.0.70

2 years ago

8.0.72

2 years ago

8.0.71

2 years ago

8.0.80

1 year ago

8.0.63

2 years ago

8.0.62

2 years ago

8.0.65

2 years ago

8.0.64

2 years ago

8.0.67

2 years ago

8.0.66

2 years ago

8.0.69

2 years ago

8.0.68

2 years ago

8.0.61

2 years ago

5.3.18

2 years ago

8.2.7

1 year ago

8.2.6

1 year ago

8.2.9

1 year ago

8.2.8

1 year ago

8.2.3

1 year ago

8.2.2

1 year ago

8.2.5

1 year ago

8.2.4

1 year ago

8.1.0

1 year ago

8.1.2

1 year ago

8.1.1

1 year ago

8.3.6

1 year ago

8.3.5

1 year ago

8.3.2

1 year ago

8.3.1

1 year ago

8.3.4

1 year ago

8.3.3

1 year ago

8.2.1

1 year ago

8.2.0

1 year ago

8.4.0

1 year ago

5.4.4

1 year ago

5.4.3

1 year ago

5.4.2

2 years ago

5.4.1

2 years ago

5.4.0

2 years ago

8.1.8

1 year ago

8.1.7

1 year ago

8.1.9

1 year ago

8.1.4

1 year ago

8.1.3

1 year ago

8.1.6

1 year ago

8.1.5

1 year ago

8.0.60

2 years ago

8.0.59

2 years ago

5.3.17

2 years ago

8.0.56

2 years ago

8.0.58

2 years ago

8.0.57

2 years ago

8.0.53

2 years ago

5.3.16

2 years ago

8.0.51

2 years ago

8.0.50

2 years ago

8.0.49

2 years ago

8.0.34

2 years ago

8.0.36

2 years ago

8.0.35

2 years ago

8.0.38

2 years ago

8.0.37

2 years ago

8.0.39

2 years ago

8.0.41

2 years ago

8.0.40

2 years ago

8.0.43

2 years ago

8.0.42

2 years ago

8.0.45

2 years ago

8.0.44

2 years ago

8.0.47

2 years ago

8.0.46

2 years ago

8.0.48

2 years ago

7.1.44

2 years ago

7.1.45

2 years ago

7.1.42

2 years ago

7.1.43

2 years ago

5.3.15

2 years ago

7.1.41

2 years ago

8.0.33

2 years ago

7.1.40

2 years ago

8.0.32

2 years ago

7.1.39

2 years ago

8.0.30

2 years ago

8.0.27

2 years ago

8.0.29

2 years ago

8.0.28

2 years ago

8.0.25

2 years ago

8.0.26

2 years ago

7.1.38

2 years ago

7.1.37

2 years ago

8.0.24

2 years ago

5.3.14

2 years ago

7.1.36

2 years ago

8.0.23

2 years ago

8.0.21

2 years ago

8.0.22

2 years ago

8.0.20

2 years ago

7.1.35

2 years ago

8.0.19

2 years ago

8.0.18

2 years ago

8.0.17

2 years ago

8.0.16

2 years ago

8.0.15

2 years ago

8.0.14

2 years ago

8.0.13

2 years ago

8.0.10

2 years ago

8.0.12

2 years ago

8.0.11

2 years ago

8.0.9

2 years ago

7.1.34

2 years ago

5.3.13

2 years ago

8.0.8

2 years ago

8.0.5

2 years ago

8.0.4

2 years ago

8.0.7

2 years ago

8.0.6

2 years ago

8.0.3

2 years ago

8.0.2

2 years ago

7.1.33

2 years ago

8.0.1

2 years ago

8.0.0

2 years ago

7.1.31

3 years ago

7.1.32

3 years ago

7.1.30

3 years ago

8.0.0-RC.3

3 years ago

8.0.0-RC.2

3 years ago

8.0.0-RC.1

3 years ago

8.0.0-RC.6

3 years ago

8.0.0-RC.5

3 years ago

8.0.0-RC.4

3 years ago

5.3.9

3 years ago

5.3.8

3 years ago

5.3.7

3 years ago

5.3.6

3 years ago

5.3.5

3 years ago

5.3.4

3 years ago

5.3.3

3 years ago

5.3.2

3 years ago

5.3.1

3 years ago

5.3.12

3 years ago

5.3.11

3 years ago

5.3.10

3 years ago

5.2.38

3 years ago

7.0.0

3 years ago

7.1.7

3 years ago

7.1.6

3 years ago

7.1.5

3 years ago

7.1.4

3 years ago

7.1.9

3 years ago

7.1.8

3 years ago

7.1.3

3 years ago

7.1.2

3 years ago

7.1.1

3 years ago

7.1.0

3 years ago

6.4.4

3 years ago

7.1.13

3 years ago

7.1.14

3 years ago

7.1.11

3 years ago

7.1.12

3 years ago

7.1.19

3 years ago

7.1.17

3 years ago

7.1.18

3 years ago

7.1.15

3 years ago

7.1.16

3 years ago

7.1.24

3 years ago

7.1.25

3 years ago

7.1.22

3 years ago

7.1.23

3 years ago

7.1.20

3 years ago

7.1.21

3 years ago

7.1.28

3 years ago

7.1.29

3 years ago

7.1.26

3 years ago

7.1.27

3 years ago

5.3.0

3 years ago

5.2.36

3 years ago

5.2.35

3 years ago

5.2.34

3 years ago

5.2.33

3 years ago

5.2.32

3 years ago

5.2.31

3 years ago

5.2.30

3 years ago

5.2.29

3 years ago

5.2.28

3 years ago

5.2.27

3 years ago

5.2.25

3 years ago

5.2.23

3 years ago

6.4.3

3 years ago

6.4.2

3 years ago

6.4.1

3 years ago

5.1.20

3 years ago

7.0.0-beta.4

3 years ago

7.0.0-beta.2

3 years ago

7.0.0-beta.3

3 years ago

7.0.0-beta.0

3 years ago

7.0.0-beta.1

3 years ago

6.3.1

3 years ago

6.4.0

3 years ago

5.1.19

3 years ago

5.1.18

3 years ago

5.1.17

3 years ago

5.1.16

3 years ago

6.3.0

3 years ago

5.1.15

3 years ago

5.1.14

3 years ago

5.1.13

3 years ago

6.2.1

3 years ago

6.2.0

3 years ago

5.1.9

4 years ago

5.1.8

4 years ago

5.1.7

4 years ago

5.1.6

4 years ago

5.1.5

4 years ago

5.1.4

4 years ago

5.1.3

4 years ago

5.1.2

4 years ago

5.1.1

4 years ago

5.1.0

4 years ago

6.0.6

4 years ago

6.0.3

4 years ago

6.0.2

4 years ago

6.0.4

4 years ago

5.1.11

3 years ago

5.1.10

4 years ago

5.0.30

4 years ago

5.0.31

4 years ago

5.0.32

4 years ago

5.0.33

4 years ago

5.0.34

4 years ago

5.0.35

4 years ago

5.0.36

4 years ago

5.0.37

4 years ago

5.0.38

4 years ago

5.0.25

4 years ago

5.0.26

4 years ago

5.0.27

4 years ago

5.0.28

4 years ago

5.0.29

4 years ago

4.2.39

4 years ago

6.0.1

4 years ago

6.0.0

4 years ago

5.0.20

4 years ago

5.0.21

4 years ago

5.0.22

4 years ago

5.0.23

4 years ago

5.0.24

4 years ago

5.0.15

4 years ago

5.0.16

4 years ago

5.0.17

4 years ago

5.0.18

4 years ago

5.0.19

4 years ago

4.2.38

4 years ago

5.0.9

4 years ago

5.0.7

4 years ago

5.0.6

4 years ago

5.0.5

4 years ago

5.0.4

4 years ago

5.0.3

4 years ago

5.0.2

4 years ago

5.0.1

4 years ago

5.0.10

4 years ago

5.0.11

4 years ago

5.0.12

4 years ago

5.0.13

4 years ago

5.0.14

4 years ago

4.2.29

4 years ago

4.2.26

4 years ago

4.2.27

4 years ago

4.2.31

4 years ago

4.2.32

4 years ago

4.2.33

4 years ago

4.2.34

4 years ago

4.2.35

4 years ago

4.2.36

4 years ago

4.2.37

4 years ago

4.2.20

4 years ago

4.2.21

4 years ago

4.2.22

4 years ago

4.2.23

4 years ago

4.2.24

4 years ago

4.2.25

4 years ago

4.2.10

4 years ago

4.2.11

4 years ago

4.2.17

4 years ago

4.2.18

4 years ago

4.2.13

4 years ago

4.2.14

4 years ago

4.2.15

4 years ago

4.2.16

4 years ago

4.2.9

4 years ago

4.1.8

4 years ago

4.1.7

4 years ago

4.1.9

4 years ago

4.2.3

4 years ago

4.2.2

4 years ago

4.2.5

4 years ago

4.2.4

4 years ago

4.2.1

4 years ago

4.2.0

4 years ago

4.2.7

4 years ago

4.2.6

4 years ago

4.2.8

4 years ago

4.1.10

4 years ago

4.1.11

4 years ago

4.1.16

4 years ago

4.1.17

4 years ago

4.1.18

4 years ago

4.1.12

4 years ago

4.1.13

4 years ago

4.1.14

4 years ago

4.1.15

4 years ago

4.1.6

4 years ago

4.1.5

4 years ago

4.0.99

4 years ago

4.1.4

4 years ago

4.1.3

4 years ago

4.1.0

4 years ago

4.1.2

4 years ago

4.1.1

4 years ago

4.0.90

4 years ago

4.0.96

4 years ago

4.0.95

4 years ago

4.0.98

4 years ago

4.0.97

4 years ago

4.0.92

4 years ago

4.0.91

4 years ago

4.0.94

4 years ago

4.0.93

4 years ago

4.0.85

4 years ago

4.0.84

4 years ago

4.0.87

4 years ago

4.0.81

4 years ago

4.0.80

4 years ago

4.0.83

4 years ago

4.0.82

4 years ago

4.0.89

4 years ago

4.0.88

4 years ago

4.0.78

5 years ago

4.0.77

5 years ago

4.0.74

5 years ago

4.0.76

5 years ago

4.0.75

5 years ago

4.0.66

5 years ago

4.0.69

5 years ago

4.0.73

5 years ago

4.0.72

5 years ago

4.0.71

5 years ago

4.0.65

5 years ago

4.0.64

5 years ago

4.0.63

5 years ago

4.0.62

5 years ago

4.0.61

5 years ago

4.0.54

5 years ago

4.0.60

5 years ago

4.0.41

5 years ago

4.0.40

5 years ago

4.0.43

5 years ago

4.0.42

5 years ago

4.0.38

5 years ago

4.0.37

5 years ago

4.0.32

5 years ago

4.0.31

5 years ago

4.0.34

5 years ago

4.0.33

5 years ago

4.0.36

5 years ago

4.0.35

5 years ago

4.0.30

5 years ago

4.0.29

5 years ago

4.0.28

5 years ago

4.0.19

5 years ago

4.0.21

5 years ago

4.0.20

5 years ago

4.0.27

5 years ago

4.0.23

5 years ago

4.0.22

5 years ago

4.0.25

5 years ago

4.0.24

5 years ago

4.0.18

5 years ago

4.0.16

5 years ago

4.0.17

5 years ago

4.0.15

5 years ago

4.0.14

5 years ago

4.0.13

5 years ago

4.0.12

5 years ago

4.0.10

5 years ago

4.0.11

5 years ago

4.0.9

5 years ago

4.0.7

6 years ago

4.0.8

6 years ago

4.0.5

6 years ago

4.0.6

6 years ago

4.0.4

6 years ago

4.0.3

6 years ago

4.0.2

6 years ago

4.0.1

6 years ago

4.0.0

6 years ago