Documentation
¶
Overview ¶
Copyright 2021 Fundación UNID
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID ¶
Copyright 2021 Fundación UNID
Index ¶
- Constants
- Variables
- func Base64StringToBytes(str string) ([]byte, error)
- func Base64StringToBytes32(str string) ([32]byte, error)
- func BytesToBase64String(b []byte) string
- func BytesToString(b []byte) string
- func BytesToStringUTF8(b []byte) string
- func GeApiFhirParamTokenByCodeLOINC(paramToken *string) *string
- func GeApiFhirParamTokenByCodeSNOMED(paramToken *string) *string
- func GetCodeByApiFhirParamToken(paramToken, system *string) *string
- func GetDigestValue(algorithm string, data []byte) (digestValue string, err error)
- func GetHashKeccakShake256AsHexString(bytes []byte) string
- func GetHashKeccakShake256Bytes(bytes []byte) []byte
- func GetHashLegacySHA1AsHexString(bytes []byte) string
- func GetHashSHA3256AsHexString(bytes []byte) string
- func GetPeriodStartOrEndByApiFhirParamDate(paramDate *string, endPeriod bool) *string
- func HttpNotificationResponse(w http.ResponseWriter, code int, customCode int, customMessage string, ...)
- func HttpResponseJSON(w http.ResponseWriter, code int, customCode int, customMessage string, ...)
- func RemoveFhirBoundariesFromDateString(date *string) *string
- type AcceptedTerms
- type AcceptedTermsAndCondition
- type AddressClaim
- type AddressDataRegistrationRequest
- type AddressOfficialPhysicalHome
- type AddressOtherPhysicalHome
- type AddressPlain
- type AddressPostalHomeBilling
- type AddressTempPhysicalHome
- type ApiDocumentReferenceClaimsJWT
- type ApiDocumentReferenceOptions
- type AppTerms
- type ApplicationLicense
- type ApplicationPermission
- type AttachmentClaim
- type AttachmentPlain
- type AuthBearerTokenPayloadClaims
- type BaseDocumentReference
- type BiographyUHC
- type BirthClaim
- type BirthPlain
- type CategoryConceptPlain
- type ChangePasswordRequest
- type CodingConcept
- type ConceptPlain
- type ConfirmIndividualRegistrationRequest
- type ConfirmUserData
- type ConnectionCreationImplicitRequest
- type ConnectionExternalCreationRequest
- type ConnectionThreadCreationRequest
- type ConnectionUHC
- type ConnectionUHCResponse
- type ConnectionsWithInvitationsUHC
- type ConnectionsWithInvitationsUHCResponse
- type ContactEmailHomeAlternative
- type ContactEmailHomeMain
- type ContactEmailWorkAlternative
- type ContactEmailWorkMain
- type ContactMobilePhonePersonal
- type ContactMobilePhoneWork
- type ContactPhoneHome
- type ContactPhoneTemporal
- type ContactPhoneWork
- type ContactUrlWork
- type CredentialFHIR
- type CredentialVerifiableFHIR
- type CustomFields
- type DataAbsentReasonConceptPlain
- type DataResponse
- type DecryptedResult
- type DecryptedResultResponse
- type DecryptionRequest
- type DefaultResponse
- type DefaultResponseWithDataByte
- type Device
- type DeviceUHC
- type DeviceUHCResponse
- type Digest
- type DigestSigned
- type DigestToSign
- type DivorcePlaceAddress
- type Document
- type DocumentResponse
- type EncryptedEhr
- type EncryptedEhrCreationRequest
- type EncryptedEhrDecryptionRequest
- type EncryptedEhrDecryptionResponse
- type EncryptedEhrResponse
- type EncryptedResult
- type EncryptedResultResponse
- type EncryptionRequest
- type EncryptionRequirements
- type ExtensionBirthPlaceAddress
- type ExternalBase64MessageCreationRequest
- type ExternalFhirMessageCreationRequest
- type ExternalInvitationDetails
- type ExternalMessageCreationResult
- type ExternalMessageCreationResultResponse
- type ExternalMessageDirectives
- type ExternalSenderUserDetails
- type FhirCredentialSubject
- type HashDltOutput
- type HealthcareServiceCommon
- type HealthcareServiceEligibilityPlain
- type HealthcareServiceSheet
- type HealthcareServiceTree
- type Holder
- type I18nText
- type IdentifierAssigner
- type IdentifierClaim
- type IdentifierDataRegistrationRequest
- type IdentifierFullPlain
- type IdentifierSimplePlain
- type IdentifierType
- type ImmunizationApiParams
- type Invitation
- type InvitationAcceptationRequest
- type InvitationAndEmailWithPwdRequest
- type InvitationCreationRequest
- type InvitationUHC
- type InvitationUHCResponse
- type JWMPayload
- type Key
- type KeyCreationOrganizationRequest
- type KeyCreationRequest
- type KeyEncryptedRetrieval
- type KeyEncryptedRetrievalResponse
- type KeyResponse
- type KeyRetrievalRequest
- type KeysRetrieval
- type License
- type MaritalClaim
- type MaritalPlain
- type MarriagePlaceAddress
- type MessageUHC
- type MessageUHCResponse
- type NamingClaim
- type NamingDataRegistrationRequest
- type NamingPlainWithISO
- type NotificationType
- type NotificationUHC
- type NotificationUHCResponse
- type OfficialDataRegistrationRequest
- type OrgServiceClaim
- type OrgServicePermission
- type OrgServicePublicUHCExtensions
- type OrgServiceSubject
- type OrgServiceUHC
- type OrgServiceUHCAccess
- type OrgServiceUHCResponse
- type OrgServiceVC
- type OrgServiceVCResponse
- type OrgServiceVP
- type OrganizationPermission
- type OrganizationPublicUHCExtensions
- type OrganizationUHC
- type OrganizationUHCAccess
- type OrganizationUHCResponse
- type OrganizationVC
- type OrganizationVCResponse
- type OrganizationVP
- type Participant
- type PatientDonorIdentityPlain
- type PatientIdentityClaim
- type PatientTreeUHC
- type Permission
- type PermissionUHCAccessRequest
- type PermissionsRequestUHC
- type PermissionsUHC
- type PersonalContactPlain
- type PersonalDataRegistrationRequest
- type PersonalTelecomSheet
- type PersonalUserPreRegistrationRequest
- type PhotoAttachmentPlain
- type PractitionerRoleClaim
- type PractitionerRolePlain
- type Preferences
- type PresentationWithBundleInVC
- type ProfessionalPreRegistrationRequest
- type Proof
- type ProviderIdentifier
- type ProviderReferencePlain
- type PublicInfoFromActiveKey
- type PublicInfoFromKeyResponse
- type PushToken
- type PushTokensUHCResponse
- type QualificationClaim
- type QualificationPlain
- type Rate
- type ReferenceBasicPlain
- type ReferenceIdentifierAssignerBasic
- type ReferenceIdentifierConceptPlain
- type ReferenceIdentifierPlain
- type ReferencePlain
- type Service
- type SharedKey
- type SharedKeyCreationRequest
- type SharedKeyResponse
- type SpecialtyConceptPlain
- type TelecomBusinessContactsPlain
- type TelecomContactBasicPlain
- type TelecomContactFullPlain
- type TelecomContactPointClaim
- type TelecomFullPlain
- type TelecomPersonalContactsPlain
- type TelecomPlain
- type TermsAndConditions
- type TermsAndConditionsResponse
- type TermsDocumentData
- type ThreadSearchRequest
- type ThreadUHC
- type ThreadUHCResponse
- type Token
- type UHCPayload
- type User
- type UserConfigUHC
- type UserConfigUHCResponse
- type UserContact
- type UserContactComplete
- type UserContactsResponse
- type UserDeletionRequest
- type UserExternalCreationRequest
- type UserExternalID
- type UserRegisterRequest
- type UserRegisterV3ByUserRequest
- type UserResponse
- type UserTokensUHC
- type W3CPublicKeyExport
- type WalletKey
- type WalletKeyResponse
- type WalletPasswordChangeRequest
Constants ¶
const ( // From distinct API resources FhirApiAuthenticator = "authenticator" // Who/what has authenticated the data FhirApiAuthor = "author" // Who/what has authored the data FhirApiOrganizationCustodian = "custodian" // Organization which maintains the data FhirApiSubject = "subject" // Who/what is the subject data relates to FhirApiOrganization = "organization" // The organization custodian or responsible FhirApiManufacturer = "manufacturer" // Who manufacture FhirApiPerformer = "performer" // Who performs FhirApiAsserter = "asserter" // Source of the information FHirApiRecorder = "recorder" // Who recorder FhirApiDevice = "device" // Device identifier // DocumentReference FhirApiCategory = "category" // IPS / USCDI section (High-level kind of clinical document) e.g. "11369-6" (History of Immunization) FhirApiMimeContentType = "contenttype" // e.g. application/pdf FhirApiDate = "date" // When the FHIR resource was created in ISO format (FHIR dateTime) FhirApiDescription = "description" // Human-readable description FhirApiEncounter = "encounter" // Context of the document content FhirApiEvent = "event" // Main clinical acts documented FhirApiFacilityType = "facility" // Kind of facility where subject was seen FhirApiFormatCodeSet = "format" // Format/content rules for the document e.g. "urn:ihe:pcc:xphr:2007" or "urn:ihe:pcc:ic:2008" FhirApiIdentifier = "identifier" // Master Version Specific Identifier FhirApiLanguage = "language" // Language of the FHIR resource FhirApiLocation = "location" // URI where the data can be found FhirApiPeriod = "period" // FHIR dateTime: time of service that is being documented FhirApiRelated = "related" FhirApiRelatesTo = "relatesto" FhirApiRelation = "relation" FhirApiRelationShip = "relationship" FhirApiSecurityLabel = "security-label" FhirApiPracticeSetting = "setting" // Clinical Specialty: additional details about where the content was created (e.g. clinical specialty) FhirApiStatus = "status" // Current status (accepted values depends on each specific FHIR resource) // Procedure FhirApiBasedOn = "based-on" FhirApiCode = "code" FhirApiInstantiatesCanonical = "instantiates-canonical" FhirApiInstantiatesUri = "instantiates-uri" FhirApiPartOf = "part-of" FhirApiReasonCode = "reason-code" // Why occurred the healthcare process FhirApiReasonReference = "reason-reference" // Device FhirApiModel = "model" FhirApiType = "type" // Type for device, also for additional more precise type of document ... FhirApiDeviceUdiCarrierHRF = "udi-carrier" // UDI Barcode (RFID or other technology) string in *HRF* format FhirApiDeviceUdiDI = "udi-di" // The udi Device Identifier (DI) FhirApiURL = "url" // Network address to contact device // Immunization FhirApiLotNumber = "lot-number" // Vaccine lot number. FhirApiReaction = "reaction" // Observation with details on reaction FhirApiReactionDate = "reaction-date" // Both for immunization and for allergies and intolerances FhirStatusReason = "status-reason" // Not done reason code FhirTargetDisease = "target-disease" // Target disease. // Allergies and intolerances FhirApiClinicalStatus = "clinical-status" FhirApiCritically = "critically" FhirApiOccurrenceLastDate = "last-date" FhirApiReactionManifestation = "manifestation" FhirApiReactionOnset = "onset" FhirApiRoute = "route" // Path of substance FhirApiSeverity = "severity" FhirApiVerificationStatus = "verification-status" // MedicationAdministration FhirApiContext = "context" // reference to episode of care or encounter FhirApiEffectiveTime = "effective-time" FhirApiMedication = "medication" FhirApiReasonGiven = "reason-given" FhirApiReasonNotGiven = "reason-not-given" FhirApiRequest = "request" )
const ( UhcApiConnection = "connection" // ID of an existing UHC connection UhcApiTextTile = "text-title" // Title in plain text filed by a practitioner or device (no xhtml) UhcApiDocStatus = "docstatus" // e.g. "final", "preliminary", "amended", "entered-in-error" UhcApiSHA1Hex = "sha1-hex" // Legacy SHA1 digest in hexadecimal (FHIR Attachment Hash is Base64 SHA1,not Hex) UhcApiBytesSize = "size" // Number of bytes of content UhcApiCreationDateTime = "creation" // When the attached file or message was created (distinct from FhirApiDate for FHIR resources) UhcApiVaccineCodeCVX = "vaccine-cvx" // Vaccine Administered CVX code. UhcApiDoseNumber = "dose-number" // Dose number within series. UhcApiDosesRecommended = "doses-recommended" // Recommended number of doses for immunity. UhcApiExpirationDate = "expiration" // FHIR dateTime of expiration UhcApiDoseQuantity = "dose-quantity" // Amount of dose and international unit separated by "|" e.g.: 1|mL UhcApiSiteBody = "site" // Body site UhcApiAdministrationMethod = "method" // How drug was administered UhcApiRateRatioNumerator = "ratio-numerator" // Numerator value with international unit separated by "|" e.g.: 1|mL UhcApiRateRatioDenominator = "ratio-denominator" // Denominator value with international unit separated by "|" e.g.: 1|mL UhcApiRateQuantity = "rate-quantity" // Dose quantity per unit of time with international unit separated by "|" e.g.: 1|mL )
const ( DIDMethod = "did:unid:" CreatorParts = 2 X25519KeyType = "X25519KeyAgreementKey2019" Ed25519KeyType = "Ed25519VerificationKey2018" Ed25519SignatureType = "Ed25519Signature2018" DidSchemaV1 = "https://w3id.org/did/v1" DidContext = "https://www.w3.org/ns/did/v1" SecurityContext = "https://w3id.org/security/v2" X25519pub = 0xec // Curve25519 public key in multicodec table https://github.com/multiformats/multicodec/blob/master/table.csv. )
const ( SignatureEdDSA = "EdDSA" // signatureEdDSA defines EdDSA alg. JwtPartsNumber = 3 JwtHeaderPart = 0 JwtSignaturePart = 2 )
const ( OrganizationUHCAccessNONE = "NONE" OrganizationUHCAccessADMIN = "ADMIN" )
const ( OrganizationUHCStatusINACTIVE = "INACTIVE" OrganizationUHCStatusADMIN = "ACTIVE" )
const ( // for 'Usage' EncryptionKeyTypeEncryption = "ENCRYPTION" // Please avoid this name and use KeyUsageEncryption EncryptionKeyTypeSigning = "SIGN" // Please avoid this name and use KeyUsageSigning KeyUsageEncryption = "ENCRYPTION" // Use this one instead of EncryptionKeyTypeEncryption KeyUsageSigning = "SIGN" // Use this one instead of EncryptionKeyTypeSigning )
const ( UserTypePersonal = "USER" UserTypePractitioner = "PROFESSIONAL" UserTypeDevice = "DEVICE" UserTypeDepartment = "ORGSERVICE" UserTypeOrganization = "ORGANIZATION" )
const DidDocSchema = `` /* 3053-byte string literal not displayed */
const HL7CodeSystemLOINC = "http://loinc.org"
const HL7CodeSystemSNOMED = "http://snomed.info/sct"
const HeaderFHIR = "x-fhir-"
const HeaderUHC = "x-uhc-"
const ReadStatus = "READ"
const SecurityV1DocSchema = `` /* 2059-byte string literal not displayed */
const SecurityV2DocSchema = `` /* 3230-byte string literal not displayed */
const TrustblocContext = `` /* 1600-byte string literal not displayed */
const UhcCodeTagCovidData = "COVID_DATA"
const UnreadStatus = "UNREAD"
Variables ¶
var JsonldCache = map[string]interface{}{ "https://w3id.org/security/v1": SecurityV1DocSchema, "https://w3id.org/security/v2": SecurityV2DocSchema, "https://trustbloc.github.io/context/vc/credentials-v1.jsonld": TrustblocContext, }
Functions ¶
func Base64StringToBytes ¶ added in v1.1.41
func Base64StringToBytes32 ¶ added in v1.1.41
func BytesToBase64String ¶ added in v1.1.41
func BytesToString ¶ added in v1.1.41
func BytesToStringUTF8 ¶ added in v1.1.41
func GeApiFhirParamTokenByCodeLOINC ¶ added in v1.0.60
func GeApiFhirParamTokenByCodeSNOMED ¶ added in v1.0.60
func GetCodeByApiFhirParamToken ¶ added in v1.0.60
Method returns the code after splitting paramCode by "|" (system|code): https://www.hl7.org/fhir/search.html#token
func GetDigestValue ¶
GetDigestValue returns the digest of some data, using a specified algorithm. It only returns an error when an invalid algorithm is used. The valid ones are: SHA1, SHA256, SHA512, SHA3256, and SHA3512.
func GetPeriodStartOrEndByApiFhirParamDate ¶ added in v1.0.60
returns a date 'start' (false) or 'end' (true) from a Period date parameter removing boundaries
func HttpNotificationResponse ¶ added in v1.1.78
func HttpNotificationResponse(w http.ResponseWriter, code int, customCode int, customMessage string, data []NotificationUHC)
func HttpResponseJSON ¶ added in v1.1.76
func HttpResponseJSON(w http.ResponseWriter, code int, customCode int, customMessage string, data *[]interface{})
func RemoveFhirBoundariesFromDateString ¶ added in v1.0.60
Types ¶
type AcceptedTerms ¶ added in v1.1.43
type AcceptedTerms struct {
AcceptedTimestampISO string `json:"acceptedTimestampISO,omitempty" bson:"acceptedTimestampISO,omitempty"`
AppTerms AppTerms `bson:",inline"`
}
stored in backend / output from backend
type AcceptedTermsAndCondition ¶
type AcceptedTermsAndCondition struct {
TermsAndConditionsId string `json:"termsAndConditionsId,omitempty" bson:"termsAndConditionsId,omitempty"`
AcceptedDate time.Time `json:"acceptedDate,omitempty" bson:"acceptedDate,omitempty"`
}
deprecated, use AcceptedTerms
type AddressClaim ¶ added in v1.1.28
type AddressClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data AddressPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
If Data.extensionVcId does not exists then there is no blockchain certification If blockchain certification every modification generates a new Data.extensionVcId Data.ExtensionVcId is the Credential.ID from the blockchain
type AddressDataRegistrationRequest ¶ added in v1.1.38
type AddressDataRegistrationRequest struct {
IndividualUserId string `bson:"individualUserId,omitempty" json:"individualUserId,omitempty"` // only for patients
PractitionerId string `bson:"practitionerId,omitempty" json:"practitionerId,omitempty"` // only for practitioners
AddressCity string `bson:"addressCity,omitempty" json:"addressCity,omitempty"` // City or town
AddressCountry string `bson:"addressCountry,omitempty" json:"addressCountry,omitempty"`
AddressDistrict string `bson:"addressDistrict,omitempty" json:"addressDistrict,omitempty"` // Province
AddressLine1 string `bson:"addressLine1,omitempty" json:"addressLine1,omitempty"` // principal line
AddressLine2 string `bson:"addressLine2,omitempty" json:"addressLine2,omitempty"` // additional line
AddressPostalCode string `bson:"addressPostalCode,omitempty" json:"addressPostalCode,omitempty"`
AddressState string `bson:"addressState,omitempty" json:"addressState,omitempty"` // Region
AddressUse string `bson:"addressUse,omitempty" json:"addressUse,omitempty"` // home | work | temp | old | billing
}
TODO: address ISO https://build.fhir.org/iso-21090.html
type AddressOfficialPhysicalHome ¶ added in v1.1.24
type AddressOfficialPhysicalHome struct {
AddressOfficialPhysicalHomeCity string `bson:"addressOfficialPhysicalHomeCity,omitempty" json:"addressOfficialPhysicalHomeCity,omitempty"` // City or Town
AddressOfficialPhysicalHomeCountry string `bson:"addressOfficialPhysicalHomeCountry,omitempty" json:"addressOfficialPhysicalHomeCountry,omitempty"`
AddressOfficialPhysicalHomeDistrict string `bson:"addressOfficialPhysicalHomeDistrict,omitempty" json:"addressOfficialPhysicalHomeDistrict,omitempty"` // Province
AddressOfficialPhysicalHomeLine []string `bson:"addressOfficialPhysicalHomeLine,omitempty" json:"addressOfficialPhysicalHomeLine,omitempty"` // One or several address lines
AddressOfficialPhysicalHomePostalCode string `bson:"addressOfficialPhysicalHomePostalCode,omitempty" json:"addressOfficialPhysicalHomePostalCode,omitempty"`
AddressOfficialPhysicalHomeState string `bson:"addressOfficialPhysicalHomeState,omitempty" json:"addressOfficialPhysicalHomeState,omitempty"` // Region
AddressOfficialPhysicalHomeText string `bson:"addressOfficialPhysicalHomeText,omitempty" json:"addressOfficialPhysicalHomeText,omitempty"`
}
type AddressOtherPhysicalHome ¶ added in v1.1.24
type AddressOtherPhysicalHome struct {
AddressOtherPhysicalHomeCity string `bson:"addressOtherPhysicalHomeCity,omitempty" json:"addressOtherPhysicalHomeCity,omitempty"` // City or Town
AddressOtherPhysicalHomeCountry string `bson:"addressOtherPhysicalHomeCountry,omitempty" json:"addressOtherPhysicalHomeCountry,omitempty"`
AddressOtherPhysicalHomeDistrict string `bson:"addressOtherPhysicalHomeDistrict,omitempty" json:"addressOtherPhysicalHomeDistrict,omitempty"` // Province
AddressOtherPhysicalHomeLine []string `bson:"addressOtherPhysicalHomeLine,omitempty" json:"addressOtherPhysicalHomeLine,omitempty"` // One or several address lines
AddressOtherPhysicalHomePostalCode string `bson:"addressOtherPhysicalHomePostalCode,omitempty" json:"addressOtherPhysicalHomePostalCode,omitempty"`
AddressOtherPhysicalHomeState string `bson:"addressOtherPhysicalHomeState,omitempty" json:"addressOtherPhysicalHomeState,omitempty"` // Region
AddressOtherPhysicalHomeText string `bson:"addressOtherPhysicalHomeText,omitempty" json:"addressOtherPhysicalHomeText,omitempty"`
}
type AddressPlain ¶ added in v1.1.28
type AddressPlain struct {
AddressCity string `bson:"addressCity,omitempty" json:"addressCity,omitempty"` // Only one address is allowed per Location
AddressCountry string `bson:"addressCountry,omitempty" json:"addressCountry,omitempty"`
AddressDistrict string `bson:"addressDistrict,omitempty" json:"addressDistrict,omitempty"` // Province
AddressLine1 string `bson:"addressLine1,omitempty" json:"addressLine1,omitempty"` // principal line
AddressLine2 string `bson:"addressLine2,omitempty" json:"addressLine2,omitempty"` // additional line
AddressPostalCode string `bson:"addressPostalCode,omitempty" json:"addressPostalCode,omitempty"`
AddressState string `bson:"addressState,omitempty" json:"addressState,omitempty"` // Region
AddressText string `bson:"addressText,omitempty" json:"addressText,omitempty"`
AddressType string `bson:"addressType,omitempty" json:"addressType,omitempty"` // postal | physical | both
AddressUse string `bson:"addressUse,omitempty" json:"addressUse,omitempty"` // home | work | temp | old | billing
AddressValidFrom string `bson:"addressValidFrom,omitempty" json:"addressValidFrom,omitempty"`
AddressValidUntil string `bson:"addressValidUntil,omitempty" json:"addressValidUntil,omitempty"`
AddressUniversalId string `bson:"addressUniversalId,omitempty" json:"addressUniversalId,omitempty"` // internal storage ID of the data resource
}
it is used in LocationSheetUHC
type AddressPostalHomeBilling ¶ added in v1.1.24
type AddressPostalHomeBilling struct {
AddressPostalHomeBillingCity string `bson:"addressPostalHomeBillingCity,omitempty" json:"addressPostalHomeBillingCity,omitempty"` // City or Town
AddressPostalHomeBillingCountry string `bson:"addressPostalHomeBillingCountry,omitempty" json:"addressPostalHomeBillingCountry,omitempty"`
AddressPostalHomeBillingDistrict string `bson:"addressPostalHomeBillingDistrict,omitempty" json:"addressPostalHomeBillingDistrict,omitempty"` // Province
AddressPostalHomeBillingLine []string `bson:"addressPostalHomeBillingLine,omitempty" json:"addressPostalHomeBillingLine,omitempty"` // One or several address lines
AddressPostalHomeBillingPostalCode string `bson:"addressPostalHomeBillingPostalCode,omitempty" json:"addressPostalHomeBillingPostalCode,omitempty"`
AddressPostalHomeBillingState string `bson:"addressPostalHomeBillingState,omitempty" json:"addressPostalHomeBillingState,omitempty"` // Region
AddressPostalHomeBillingText string `bson:"addressPostalHomeBillingText,omitempty" json:"addressPostalHomeBillingText,omitempty"`
}
type AddressTempPhysicalHome ¶ added in v1.1.24
type AddressTempPhysicalHome struct {
AddressTempPhysicalHomeCity string `bson:"addressTempPhysicalHomeCity,omitempty" json:"addressTempPhysicalHomeCity,omitempty"` // City or Town
AddressTempPhysicalHomeCountry string `bson:"addressTempPhysicalHomeCountry,omitempty" json:"addressTempPhysicalHomeCountry,omitempty"`
AddressTempPhysicalHomeDistrict string `bson:"addressTempPhysicalHomeDistrict,omitempty" json:"addressTempPhysicalHomeDistrict,omitempty"` // Province
AddressTempPhysicalHomeLine []string `bson:"addressTempPhysicalHomeLine,omitempty" json:"addressTempPhysicalHomeLine,omitempty"` // One or several address lines
AddressTempPhysicalHomePostalCode string `bson:"addressTempPhysicalHomePostalCode,omitempty" json:"addressTempPhysicalHomePostalCode,omitempty"`
AddressTempPhysicalHomeState string `bson:"addressTempPhysicalHomeState,omitempty" json:"addressTempPhysicalHomeState,omitempty"` // Region
AddressTempPhysicalHomeText string `bson:"addressTempPhysicalHomeText,omitempty" json:"addressTempPhysicalHomeText,omitempty"`
}
type ApiDocumentReferenceClaimsJWT ¶
type ApiDocumentReferenceClaimsJWT struct {
// gojwt.Claims
jwt.StandardClaims
ApiDocumentReferenceOptions
}
type ApiDocumentReferenceOptions ¶
type ApiDocumentReferenceOptions struct {
// UHC specific
ConnectionUHC string // UHC private connection e.g. http://api.unid.es/v1/connection/987
DocStatus string // e.g. "final", "preliminary", "amended", "entered-in-error"
TextTitle string // Title in plain text filed by a practitioner or device (no xhtml)
FileSHA1Hex string // Legacy SHA1 digest in hexadecimal (FHIR Attachment Hash is Base64 SHA1,not Hex)
FileSize string // Number of bytes of content
FileDate string // Number of bytes of content
// DocumentReference
Authenticator string // Who signs the data e.g. http://unid.es/api/v1/fhir/R4/Person/123
Author string // Who created the data e.g. http://unid.es/api/v1/fhir/R4/Practitioner/234
CategoryLOINC string // IPS / USCDI section (High-level kind of clinical document) e.g. "http://loinc.org|11369-6" (History of Immunization)
ContentMimeType string // e.g. "application/pdf"
CustodianOrganization string // Organization which maintains the document e.g. http://unid.es/api/v1/fhir/R4/Organization/345
DateTime string // When was created (FHIR dateTime stored as FHIR ISO format)
FacilityTypeSNOMED string // Kind of facility where subject was seen
FormatCodeSet string // e.g. "urn:ihe:pcc:xphr:2007" or "urn:ihe:pcc:ic:2008"
Identifier string // Master Version Specific Identifier
Language string // Human language of attached file content (BCP-47)
Location string // URI where the data can be found
Period string // Time service that is being documented e.g. "date=eq2010-01-01&date=eq2011-12-31"
PracticeSettingSNOMED string // Clinical Specialty: details about where the content was created
SecurityLabelHL7 string // Document security-tag e.g. "http://terminology.hl7.org/CodeSystem/v3-ActReason|HLEGAL"
StatusHL7 string // Current status (accepted values depends on each specific FHIR resource)
Subject string // Who/what is the subject of the document
TypeLOINC string // Additional more precise type of clinical document filed by practitioner or device
}
func (*ApiDocumentReferenceOptions) GetBaseDocumentReferenceByHttpRequest ¶ added in v1.0.60
func (apiImmunization *ApiDocumentReferenceOptions) GetBaseDocumentReferenceByHttpRequest(r *http.Request) BaseDocumentReference
Method GetBaseDocumentReferenceByRequestForm returns a BaseDocumentReference created with the ApiOptions received by an API
func (*ApiDocumentReferenceOptions) GetDocumentReferenceApiTags ¶ added in v1.0.60
func (apiImmunization *ApiDocumentReferenceOptions) GetDocumentReferenceApiTags() ApiDocumentReferenceOptions
Method GetDocumentReferenceApiTags returns the valid headers to be used for a FHIR DocumentReference API
type AppTerms ¶ added in v1.1.43
type AppTerms struct {
AppName string `json:"appName,omitempty" bson:"AppName,omitempty"`
TermsDocumentData TermsDocumentData `bson:",inline"`
}
input to backend
type ApplicationLicense ¶
type ApplicationPermission ¶
type ApplicationPermission struct {
ServiceName string `bson:"serviceName,omitempty" json:"serviceName,omitempty"`
ServiceRole string `bson:"serviceRole,omitempty" json:"serviceRole,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
}
type AttachmentClaim ¶ added in v1.1.28
type AttachmentClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data AttachmentPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
only Data.AttachmentBase64Data for certification / verification
type AttachmentPlain ¶ added in v1.1.24
type AttachmentPlain struct {
AttachmentBase64Data string `bson:"attachmentBase64Data,omitempty" json:"attachmentBase64Data,omitempty"` // Data inline, base64ed
AttachmentCreationDateTime string `bson:"attachmentCreationDateTime,omitempty" json:"attachmentCreationDateTime,omitempty"` // Date attachment was first created
AttachmentMimeType string `bson:"attachmentMimeType,omitempty" json:"attachmentMimeType,omitempty"` // Mime type of the content, with charset etc.
AttachmentSha1Base64 string `bson:"attachmentSha1Base64,omitempty" json:"attachmentSha1Base64,omitempty"` // Hash of the data (sha-1, base64ed)
AttachmentSizeBytes int `bson:"attachmentSizeBytes,omitempty" json:"attachmentSizeBytes,omitempty"` // Number of bytes of content (if url provided)
AttachmentTitle string `bson:"attachmentTitle,omitempty" json:"attachmentTitle,omitempty"` // Label to display in place of the data
AttachmentUniversalId string `bson:"attachmentUniversalId,omitempty" json:"attachmentUniversalId,omitempty"` // UUID for Attachment.id
AttachmentUrl string `bson:"attachmentUrl,omitempty" json:"attachmentUrl,omitempty"` // Uri where the data can be found
}
type AuthBearerTokenPayloadClaims ¶ added in v1.1.73
type AuthBearerTokenPayloadClaims struct {
jwt.StandardClaims // inline, 'aud' is the appId
OrgId string `json:"org_id,omitempty"`
OrgServiceIds []string `json:"org_service_ids,omitempty"`
RoleUHC string `json:"role_uhc,omitempty"`
RolesSNOMED []string `json:"roles_snomed,omitempty"`
UserId string `json:"user_id,omitempty"`
UserType string `json:"user_type,omitempty"`
GivenName []string `json:"given_name,omitempty"` // It is an array in FHIR
FamilyName string `json:"family_name,omitempty"`
MothersFamilyName string `json:"mothers_family_name,omitempty"`
Email string `json:"email,omitempty"`
EmailVerified bool `json:"email_verified,omitempty"`
PhoneNumber string `json:"phone_number,omitempty"`
PhoneNumberVerified bool `json:"phone_number_verified,omitempty"`
}
using snake_case because of JWT standard claims: https://www.iana.org/assignments/jwt/jwt.xhtml#claims
type BaseDocumentReference ¶
type BaseDocumentReference struct {
TextTitle *string // Text title of the resource (FHIR text is xhtml) filed by a practitioner or device
Language *string // Language of the document
Status *fhir4.DocumentReferenceStatus // Fix to "current" when creating (other are: superseded, entered-in-error)
DocStatus *fhir4.CompositionStatus // Fixed to "final" (other are: preliminary, amended, entered-in-error)
CategoryLOINC *string // The health history section goes to array[0], e.g. "11369-6" (History of Immunization)
Date *string // When the document was created
FileDataB64 *string // The data encoded in Base64 format
FileMimeContentType *string // e.g. application/pdf
FileHexSHA1 *string // Legacy SHA1 digest in hexadecimal (FHIR Attachment is BASE64 SHA1)
FileSize *int // Number of bytes of content
TypeLOINC *string // Kind of document or Health Section, e.g.: "48765-2" (Allergies and adverse reactions Document)
ContextPeriodStart *string // FHIR dateTime: time of service that is being documented
ContextPeriodEnd *string // FHIR dateTime: end of time service that is being documented
ContentFormatCodeSet *string // e.g. "urn:ihe:pcc:xphr:2007" or "urn:ihe:pcc:ic:2008"
FacilitySNOMED *string // Kind of facility where patient was seen
PracticeSettingSNOMED *string // Clinical Specialty: details about where the content was created
// SecurityLabelsFHIR *[]string // Document security-tags
Description *string // Description generated by Practitioner / Device
SubjectUHC *string // Who/what is the subject of the document
AuthorReference *string // Who and/or what authored the document
AuthenticatorReference *string // Who/what authenticated the document
CustodianReference *string // Organization which maintains the document
}
func (*BaseDocumentReference) CreateDocumentReferenceFHIR ¶
func (docRefParams *BaseDocumentReference) CreateDocumentReferenceFHIR(fileBytes *[]byte) (fhir4.DocumentReference, error)
Method CreateDocumentReferenceFHIR creates a FHIR DocumentReference using the initialized BaseDocumentReference and given fileBytes
func (*BaseDocumentReference) GetParams ¶
func (docRefParams *BaseDocumentReference) GetParams() *BaseDocumentReference
type BiographyUHC ¶ added in v1.0.77
type BiographyUHC struct {
ID string `json:"id,omitempty" bson:"id,omitempty"` // It should be the same as...
UhcUserId string `json:"uhcUserId,omitempty" bson:"uhcUserId,omitempty"`
ResourceLanguage string `json:"resourceLanguage,omitempty" bson:"resourceLanguage,omitempty"`
Title string `json:"title,omitempty" bson:"title,omitempty"`
Description string `json:"description,omitempty" bson:"description,omitempty"`
Section string `json:"section,omitempty" bson:"section,omitempty"`
UhcCodeTags []string `json:"uhcCodeTags,omitempty" bson:"uhcCodeTags,omitempty"`
LastUpdated string `json:"lastUpdated,omitempty" bson:"lastUpdated,omitempty"`
SectionUSCDI string `json:"sectionUSCDI,omitempty" bson:"sectionUSCDI,omitempty"`
SectionIPS string `json:"sectionIPS,omitempty" bson:"sectionIPS,omitempty"`
Presentation PresentationWithBundleInVC `json:"presentation,omitempty" bson:"presentation,omitempty"`
}
type BirthClaim ¶ added in v1.1.28
type BirthClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data BirthPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
Universal Donor Identifier is the Birth Claim Holder UUID
type BirthPlain ¶ added in v1.1.28
type BirthPlain struct {
BirthDate string `bson:"birthDate,omitempty" json:"birthDate,omitempty"` // ISO date: yyyy-mm-dd
BirthObservationId string `bson:"birthObservationId,omitempty" json:"birthObservationId,omitempty"`
BirthObservationWeightValue string `bson:"birthObservationWeightValue,omitempty" json:"birthObservationWeightValue,omitempty"`
BirthObservationWeightUnit string `bson:"birthObservationWeightUnit,omitempty" json:"birthObservationWeightUnit,omitempty"`
BirthObservationUniversalDonorId string `bson:"universalDonorId,omitempty" json:"universalDonorId,omitempty"`
ExtensionBirthCertificateId string `bson:"extensionBirthCertificateId,omitempty" json:"extensionBirthCertificateId,omitempty"` // US core extension http://hl7.org/fhir/us/bfdr/StructureDefinition/Extension-birth-certificate-id
ExtensionBirthCertificateFileNumber string `bson:"extensionBirthCertificateFileNumber,omitempty" json:"extensionBirthCertificateFileNumber,omitempty"`
ExtensionBirthPlaceAddress ExtensionBirthPlaceAddress `bson:",inline"`
ExtensionBirthSex string `bson:"extensionBirthSex,omitempty" json:"extensionBirthSex,omitempty"` // US core extension http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex terminology http://hl7.org/fhir/us/core/ValueSet-birthsex.html
ExtensionBirthTime string `bson:"extensionBirthTime,omitempty" json:"extensionBirthTime,omitempty"` // ISO time
ExtensionMultipleBirthNumber int `bson:"extensionMultipleBirthNumber,omitempty" json:"extensionMultipleBirthNumber,omitempty"` // 2 (twin), 3 (triplet), etc.
ExtensionMultipleBirthOrder int `bson:"extensionMultipleBirthOrder,omitempty" json:"extensionMultipleBirthOrder,omitempty"` // 1 (first), 2 (second)
FatherNaturalGivenName string `bson:"fatherNaturalGivenName,omitempty" json:"fatherNaturalGivenName,omitempty"`
FatherNaturalUniversalId string `bson:"fatherNaturalUniversalId,omitempty" json:"fatherNaturalUniversalId,omitempty"`
MotherNaturalGivenName string `bson:"motherNaturalGivenName,omitempty" json:"motherNaturalGivenName,omitempty"`
MotherNaturalUniversalId string `bson:"motherNaturalUniversalId,omitempty" json:"motherNaturalUniversalId,omitempty"`
}
Provider live birth record: http://hl7.org/fhir/us/bfdr/2021Jan/StructureDefinition-Composition-provider-live-birth-report.html
type CategoryConceptPlain ¶ added in v1.1.78
type CategoryConceptPlain struct {
CategoryConceptCustomText string `bson:"categoryConceptCustomText,omitempty" json:"categoryConceptCustomText,omitempty"` // Text in the original language
// the coding data:
CategoryConceptCode string `bson:"categoryConceptCode,omitempty" json:"categoryConceptCode,omitempty"` // Symbol in syntax defined by the system
CategoryConceptDisplay string `bson:"categoryConceptDisplay,omitempty" json:"categoryConceptDisplay,omitempty"` // Internationally standarized descriptive text of the code in english
CategoryConceptSystem string `bson:"categoryConceptSystem,omitempty" json:"categoryConceptSystem,omitempty"` // Namespace for the code
CategoryConceptVersion string `bson:"categoryConceptVersion,omitempty" json:"categoryConceptVersion,omitempty"` // Version of the system - if relevant
CategoryConceptUserSelected bool `bson:"categoryConceptUserSelected,omitempty" json:"categoryConceptUserSelected,omitempty"` // If this coding was chosen directly by the user
}
type ChangePasswordRequest ¶
type CodingConcept ¶ added in v1.1.78
type CodingConcept struct {
ConceptCode string `bson:"conceptCode,omitempty" json:"conceptCode,omitempty"` // Symbol in syntax defined by the system
ConceptDisplay string `bson:"conceptDisplay,omitempty" json:"conceptDisplay,omitempty"` // Internationally standarized descriptive text of the code in english
ConceptSystem string `bson:"conceptSystem,omitempty" json:"conceptSystem,omitempty"` // Namespace for the code
ConceptVersion string `bson:"conceptVersion,omitempty" json:"conceptVersion,omitempty"` // Version of the system - if relevant
ConceptUserSelected bool `bson:"conceptUserSelected,omitempty" json:"conceptUserSelected,omitempty"` // If this coding was chosen directly by the user
}
CodeableConcept.coding[] is named 'concept' for simplicity
type ConceptPlain ¶ added in v1.1.78
type ConceptPlain struct {
CodingConcept `bson:",inline"`
ConceptCustomText string `bson:"conceptCustomText,omitempty" json:"conceptCustomText,omitempty"` // Text in the original language
}
CodeableConcept.coding[] is named conceptType for simplicity
type ConfirmIndividualRegistrationRequest ¶ added in v1.1.38
type ConfirmIndividualRegistrationRequest struct {
ConfirmAuthenticationCode string `json:"confirmAuthenticationCode,omitempty"` // only used for verification when confirming user identity
ConfirmCodeMFA string `json:"confirmCodeMFA,omitempty"` // only used for verification when confirming user identity, usually by SMS (additional to the authenticationCode)
AcceptedTerms AcceptedTerms
PlainPassword string
// Common for preregistration and for confirmation purpusoses
Email string `bson:"email,omitempty" json:"email,omitempty"`
Mobile string `bson:"mobile,omitempty" json:"mobile,omitempty"`
Mfa string `bson:"mfa,omitempty" json:"mfa,omitempty"` // MultiFactor Authentication: email or mobile
Permissions []Permission `bson:"permissions,omitempty" json:"permissions,omitempty"`
PreferredLanguage string `bson:"preferredLanguage,omitempty" json:"preferredLanguage,omitempty"`
// IdentifierAssignerSystemTerritoryISO string `bson:"identifierAssignerSystemTerritoryISO,omitempty" json:"identifierAssignerSystemTerritoryISO,omitempty"` // ISO '3166-1' (for alfa-3 codes, e.g., 'ESP') or regional '3166-2:<alfa-2 code>' (e.g., '3166-2:US' for 'US-NY')
// IdentifierAssignerValueTerritoryISO string `bson:"identifierAssignerValueTerritoryISO,omitempty" json:"identifierAssignerValueTerritoryISO,omitempty"` // e.g., 'ESP' or 'US-NY'
// IdentifierTypeCodeHL7 string `bson:"identifierTypeCodeHL7,omitempty" json:"identifierTypeCodeHL7,omitempty"` // e.g., "DL" for a driver license or "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
Birthdate string `bson:"birthdate,omitempty" json:"birthdate,omitempty"`
GenderOfficial string `bson:"genderOfficial,omitempty" json:"genderOfficial,omitempty"`
}
type ConfirmUserData ¶
type ConnectionCreationImplicitRequest ¶
type ConnectionCreationImplicitRequest struct {
Type string `json:"type" bson:"type"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Goal string `json:"goal,omitempty" bson:"goal,omitempty"`
GoalCode string `json:"goal-code,omitempty" bson:"goal-code,omitempty"`
ImplicitInitiatorUserId string `json:"implicitInitiatorUserId" bson:"implicitInitiatorUserId"`
ImplicitInvitationTokenInitiator string `json:"implicitInvitationTokenInitiator" bson:"implicitInvitationTokenInitiator"`
}
type ConnectionExternalCreationRequest ¶
type ConnectionExternalCreationRequest struct {
Type string `json:"type" bson:"type"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Goal string `json:"goal,omitempty" bson:"goal,omitempty"`
GoalCode string `json:"goal-code,omitempty" bson:"goal-code,omitempty"`
ExternalInvitationDetails *ExternalInvitationDetails `json:"externalInvitationDetails,omitempty" bson:"externalInvitationDetails,omitempty"`
InvitedUserId string `json:"invitedUserId" bson:"invitedUserId"`
InvitedUserEmail string `json:"invitedUserEmail" bson:"invitedUserEmail"`
EncryptionKeyOrganizationId string `json:"encryptionKeyOrganizationId" bson:"encryptionKeyOrganizationId"`
}
type ConnectionThreadCreationRequest ¶ added in v1.1.69
type ConnectionThreadCreationRequest struct {
OtherPartId string `bson:"otherPartId,omitempty" json:"otherPartId,omitempty"`
}
type ConnectionUHC ¶
type ConnectionUHC struct {
ID string `json:"id" bson:"id"`
InvitationUhcId string `json:"invitationUhcId,omitempty" bson:"invitationUhcID,omitempty"`
Active *bool `json:"active" bson:"active"`
ActiveUntil *time.Time `json:"activeUntil" bson:"activeUntil"`
Participants []Participant `json:"participants" bson:"participants"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt" bson:"updatedAt"`
Status string `json:"status" bson:"status"`
ExternalInvitationDetails *ExternalInvitationDetails `json:"externalInvitationDetails,omitempty" bson:"externalInvitationDetails,omitempty"`
// TODO: deprecate the following data (moved to every Participant)
// the initiator will be always Participants[0], so it is not needed right now
InitiatorUserId string `json:"initiatorUserId,omitempty" bson:"initiatorUserId,omitempty"`
InvitedUserId string `json:"invitedUserId,omitempty" bson:"invitedUserId,omitempty"`
PendingPermissionsRequest *[]PermissionsRequestUHC `json:"requestedPendingPermissions" bson:"requestedPendingPermissions"`
EncryptionRequirements EncryptionRequirements `json:"encryptionRequirements" bson:"encryptionRequirements"`
ActivePermissions *[]PermissionsUHC `json:"activePermissions" bson:"activePermissions"`
ReadStatus string `json:"readStatus,omitempty" bson:"readStatus,omitempty"`
}
externalInvitationDetails data is needed to send invitation email when a new user is invited and the default connection is created
type ConnectionUHCResponse ¶
type ConnectionUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []ConnectionUHC `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type ConnectionsWithInvitationsUHC ¶ added in v1.0.92
type ConnectionsWithInvitationsUHC struct {
Connections []ConnectionUHC `bson:"connections,omitempty" json:"connections,omitempty"`
Invitations []InvitationUHC `bson:"invitations,omitempty" json:"invitations,omitempty"`
}
type ConnectionsWithInvitationsUHCResponse ¶ added in v1.0.92
type ConnectionsWithInvitationsUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []ConnectionsWithInvitationsUHC `bson:"data,omitempty" json:"data,omitempty"`
}
type ContactEmailHomeAlternative ¶ added in v1.1.78
type ContactEmailHomeAlternative struct {
EmailHomeAlternativeValue string `bson:"emailHomeAlternativeValue,omitempty" json:"emailHomeAlternativeValue,omitempty"`
EmailHomeAlternativeValidFrom string `bson:"emailHomeAlternativeValidFrom,omitempty" json:"emailHomeAlternativeValidFrom,omitempty"`
EmailHomeAlternativeValidUntil string `bson:"emailHomeAlternativeValidUntil,omitempty" json:"emailHomeAlternativeValidUntil,omitempty"`
EmailHomeAlternativeVcId string `bson:"emailHomeAlternativeVcId,omitempty" json:"emailHomeAlternativeVcId,omitempty"`
}
type ContactEmailHomeMain ¶ added in v1.1.78
type ContactEmailHomeMain struct {
EmailHomeMainValue string `bson:"emailHomeMainValue,omitempty" json:"emailHomeMainValue,omitempty"`
EmailHomeMainValidFrom string `bson:"emailHomeMainValidFrom,omitempty" json:"emailHomeMainValidFrom,omitempty"`
EmailHomeMainValidUntil string `bson:"emailHomeMainValidUntil,omitempty" json:"emailHomeMainValidUntil,omitempty"`
EmailHomeMainVcId string `bson:"emailHomeMainVcId,omitempty" json:"emailHomeMainVcId,omitempty"`
}
type ContactEmailWorkAlternative ¶ added in v1.1.78
type ContactEmailWorkAlternative struct {
EmailWorkAlternativeValue string `bson:"emailWorkAlternativeValue,omitempty" json:"emailWorkAlternativeValue,omitempty"`
EmailWorkAlternativeValidFrom string `bson:"emailWorkAlternativeValidFrom,omitempty" json:"emailWorkAlternativeValidFrom,omitempty"`
EmailWorkAlternativeValidUntil string `bson:"emailWorkAlternativeValidUntil,omitempty" json:"emailWorkAlternativeValidUntil,omitempty"`
EmailWorkAlternativeVcId string `bson:"emailWorkAlternativeVcId,omitempty" json:"emailWorkAlternativeVcId,omitempty"`
}
type ContactEmailWorkMain ¶ added in v1.1.78
type ContactEmailWorkMain struct {
EmailWorkMainValue string `bson:"emailWorkMainValue,omitempty" json:"emailWorkMainValue,omitempty"`
EmailWorkMainValidFrom string `bson:"emailWorkMainValidFrom,omitempty" json:"emailWorkMainValidFrom,omitempty"`
EmailWorkMainValidUntil string `bson:"emailWorkMainValidUntil,omitempty" json:"emailWorkMainValidUntil,omitempty"`
EmailWorkMainVcId string `bson:"emailWorkMainVcId,omitempty" json:"emailWorkMainVcId,omitempty"`
}
type ContactMobilePhonePersonal ¶ added in v1.1.78
type ContactMobilePhonePersonal struct {
MobilePersonalPhoneValue string `bson:"mobilePersonalPhoneValue,omitempty" json:"mobilePersonalPhoneValue,omitempty"`
MobilePersonalPhoneValidFrom string `bson:"mobilePersonalPhoneValidFrom,omitempty" json:"mobilePersonalPhoneValidFrom,omitempty"`
MobilePersonalPhoneValidUntil string `bson:"mobilePersonalPhoneValidUntil,omitempty" json:"mobilePersonalPhoneValidUntil,omitempty"`
MobilePersonalPhoneVcId string `bson:"mobilePersonalPhoneVcId,omitempty" json:"mobilePersonalPhoneVcId,omitempty"`
}
type ContactMobilePhoneWork ¶ added in v1.1.78
type ContactMobilePhoneWork struct {
MobileWorkPhoneValue string `bson:"mobileWorkPhoneValue,omitempty" json:"mobileWorkPhoneValue,omitempty"`
MobileWorkPhoneValidFrom string `bson:"mobileWorkPhoneValidFrom,omitempty" json:"mobileWorkPhoneValidFrom,omitempty"`
MobileWorkPhoneValidUntil string `bson:"mobileWorkPhoneValidUntil,omitempty" json:"mobileWorkPhoneValidUntil,omitempty"`
MobileWorkPhoneVcId string `bson:"mobileWorkPhoneVcId,omitempty" json:"mobileWorkPhoneVcId,omitempty"`
}
type ContactPhoneHome ¶ added in v1.1.78
type ContactPhoneHome struct {
PhoneHomeValue string `bson:"phoneHomeValue,omitempty" json:"phoneHomeValue,omitempty"`
PhoneHomeValidFrom string `bson:"phoneHomeValidFrom,omitempty" json:"phoneHomeValidFrom,omitempty"`
PhoneHomeValidUntil string `bson:"phoneHomeValidUntil,omitempty" json:"phoneHomeValidUntil,omitempty"`
PhoneHomeVcId string `bson:"phoneHomeVcId,omitempty" json:"phoneHomeVcId,omitempty"`
}
type ContactPhoneTemporal ¶ added in v1.1.78
type ContactPhoneTemporal struct {
PhoneTemporalValue string `bson:"phoneTemporalValue,omitempty" json:"phoneTemporalValue,omitempty"`
PhoneTemporalValidFrom string `bson:"phoneTemporalValidFrom,omitempty" json:"phoneTemporalValidFrom,omitempty"`
PhoneTemporalValidUntil string `bson:"phoneTemporalValidUntil,omitempty" json:"phoneTemporalValidUntil,omitempty"`
PhoneTemporalVcId string `bson:"phoneTemporalVcId,omitempty" json:"phoneTemporalVcId,omitempty"`
}
type ContactPhoneWork ¶ added in v1.1.78
type ContactPhoneWork struct {
PhoneWorkValue string `bson:"phoneWorkValue,omitempty" json:"phoneWorkValue,omitempty"`
PhoneWorkValidFrom string `bson:"phoneWorkValidFrom,omitempty" json:"phoneWorkValidFrom,omitempty"`
PhoneWorkValidUntil string `bson:"phoneWorkValidUntil,omitempty" json:"phoneWorkValidUntil,omitempty"`
PhoneWorkVcId string `bson:"phoneWorkVcId,omitempty" json:"phoneWorkVcId,omitempty"`
}
type ContactUrlWork ¶ added in v1.1.78
type ContactUrlWork struct {
UrlWorkValue string `bson:"urlWorkValue,omitempty" json:"urlWorkValue,omitempty"`
UrlWorkValidFrom string `bson:"urlWorkValidFrom,omitempty" json:"urlWorkValidFrom,omitempty"`
UrlWorkValidUntil string `bson:"urlWorkValidUntil,omitempty" json:"urlWorkValidUntil,omitempty"`
UrlWorkVcId string `bson:"urlWorkVcId,omitempty" json:"urlWorkVcId,omitempty"`
}
type CredentialFHIR ¶ added in v1.0.77
type CredentialFHIR struct {
Context []string `json:"@context,omitempty" bson:"@context,omitempty"`
ID string `json:"id,omitempty" bson:"id,omitempty"`
Types []string `json:"type,omitempty" bson:"type,omitempty"`
Issuer verifiable.Issuer `json:"issuer,omitempty" bson:"issuer,omitempty"`
Issued string `json:"issuanceDate,omitempty" bson:"issuanceDate,omitempty"`
Expired string `json:"expirationDate,omitempty" bson:"expirationDate,omitempty"`
Proofs []proof.Proof `json:"proof,omitempty" bson:"proof,omitempty"`
Status *verifiable.TypedID `json:"credentialStatus,omitempty" bson:"credentialStatus,omitempty"`
Schemas []verifiable.TypedID `json:"credentialSchema,omitempty" bson:"credentialSchema,omitempty"`
Evidence verifiable.Evidence `json:"evidence,omitempty" bson:"evidence,omitempty"`
TermsOfUse []verifiable.TypedID `json:"termsOfUse,omitempty" bson:"termsOfUse,omitempty"`
RefreshService []verifiable.TypedID `json:"refreshService,omitempty" bson:"refreshService,omitempty"`
CustomFields CustomFields `json:"-" bson:"customFields,omitempty"` // All unmapped fields are put here.
CredentialSubjectFHIR CredentialVerifiableFHIR `json:"credentialSubject,omitempty" bson:"credentialSubject,omitempty"`
}
type CredentialVerifiableFHIR ¶ added in v1.0.77
type CustomFields ¶ added in v1.0.77
type CustomFields map[string]interface{} // CustomFields is a map of extra fields of struct build when unmarshalling JSON which are not mapped to the struct fields.
type DataAbsentReasonConceptPlain ¶ added in v1.1.78
type DataAbsentReasonConceptPlain struct {
DataAbsentConceptCustomText string `bson:"dataAbsentConceptCustomText,omitempty" json:"dataAbsentConceptCustomText,omitempty"` // Text in the original language, e.g. "Documento Nacional de Identidad"
DataAbsentConceptCode string `bson:"dataAbsentConceptCode,omitempty" json:"dataAbsentConceptCode,omitempty"` // Symbol in syntax defined by the system, e.g. "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
DataAbsentConceptDisplay string `bson:"dataAbsentConceptDisplay,omitempty" json:"dataAbsentConceptDisplay,omitempty"` // Internationally standarized descriptive text in english, e.g. "Tax ID Number"
DataAbsentConceptSystem string `bson:"dataAbsentConceptSystem,omitempty" json:"dataAbsentConceptSystem,omitempty"` // Namespace for the Use, e.g. "http://terminology.hl7.org/CodeSystem/v2-0203"
DataAbsentConceptVersion string `bson:"dataAbsentConceptVersion,omitempty" json:"dataAbsentConceptVersion,omitempty"` // Version of the system - if relevant
DataAbsentConceptUserSelected bool `bson:"dataAbsentConceptUserSelected,omitempty" json:"dataAbsentConceptUserSelected,omitempty"` // If this coding was chosen directly by the user
}
type DataResponse ¶ added in v1.1.76
type DataResponse struct {
Code int `json:"code,omitempty"`
Count int64 `json:"count,omitempty"`
Message string `json:"message,omitempty"`
Data []interface{} `json:"data,omitempty"` // an array such as in all responses (it has no sense here)
}
data array response in JSON format should be []map[string]interface{}
type DecryptedResult ¶
type DecryptedResult struct {
DecryptedMessage string `bson:"decryptedMessage,omitempty" json:"decryptedMessage,omitempty"`
}
type DecryptedResultResponse ¶
type DecryptedResultResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []DecryptedResult `bson:"data,omitempty" json:"data,omitempty"`
}
type DecryptionRequest ¶
type DecryptionRequest struct {
Payload string `bson:"payload,omitempty" json:"payload,omitempty"`
EncryptionKeyId string `bson:"encryptionKeyId,omitempty" json:"encryptionKeyId,omitempty"`
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
OtherPartPublicKeyBase64 string `bson:"otherPartPublicKeyBase64,omitempty" json:"otherPartPublicKeyBase64,omitempty"`
}
type DefaultResponse ¶
type DefaultResponseWithDataByte ¶
func (*DefaultResponseWithDataByte) ReturnCustomResponse ¶
func (rawJson *DefaultResponseWithDataByte) ReturnCustomResponse(w http.ResponseWriter, code int, customCode int, customMessage string, jsonData *json.RawMessage)
type DeviceUHC ¶ added in v1.1.60
type DeviceUHC struct {
ID string `json:"id,omitempty" bson:"id,omitempty"`
// DeviceId string `json:"deviceId,omitempty" bson:"deviceId,omitempty"`
AccessToken string `json:"accessToken,omitempty" bson:"accessToken,omitempty"`
OwnerId string `json:"ownerId,omitempty" bson:"ownerId,omitempty"`
OwnerType string `json:"ownerType,omitempty" bson:"ownerType,omitempty"`
ApplicationsPermissions *[]ApplicationPermission `bson:"applicationsPermissions,omitempty" json:"applicationsPermissions,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
Status string `bson:"status,omitempty" json:"status,omitempty"`
}
func (*DeviceUHC) AddOrUpdateAccessToService ¶ added in v1.1.60
func (*DeviceUHC) GetApplicationPermission ¶ added in v1.1.60
func (deviceUhcToken *DeviceUHC) GetApplicationPermission(serviceName string) (*ApplicationPermission, error)
func (*DeviceUHC) RoleAccessToService ¶ added in v1.1.60
type DeviceUHCResponse ¶ added in v1.1.60
type Digest ¶ added in v1.1.28
type Digest struct {
CanonicalizationAlgorithm string `bson:"canonicalizationAlgorithm,omitempty" json:"canonicalizationAlgorithm,omitempty"`
Created string `bson:"created,omitempty" json:"created,omitempty"` // ISO 8601, e.g. "2019-08-13T15:09:00+01:00" (in Aries go framework use *util.TimeWithTrailingZeroMsec instead of time.Time)
DigestAlgorithm string `bson:"digestAlgorithm,omitempty" json:"digestAlgorithm,omitempty"` // hash function used when generating document's digest value (e.g., "SHA-256", "SHAKE-128")
DigestValue string `bson:"digestValue,omitempty" json:"digestValue,omitempty"` // hexadecimal digest value in base-16 format
}
type DigestSigned ¶
type DigestSigned struct {
DigestToSign DigestToSign `bson:",inline"`
Proof []proof.Proof `bson:"proof,omitempty" json:"proof,omitempty"` // the signature proof
}
type DigestToSign ¶
type DigestToSign struct {
Type string `bson:"type,omitempty" json:"type,omitempty"` // "@type": "Digest"
Context []string `bson:"context,omitempty" json:"@context,omitempty"` // "@context": ["https://w3id.org/security/v1"]
DigestValue string `bson:"digestValue,omitempty" json:"digestValue,omitempty"` // hexadecimal SHA3-256 digest value (base-16 format) or UUID random v4 strings
DigestAlgorithm string `bson:"digestAlgorithm,omitempty" json:"digestAlgorithm,omitempty"` // if challenge is a digest: "sha3-256"
Capability string `bson:"capability,omitempty" json:"capability,omitempty"` // to use the cryptographic keys associated with the required capability
ProofPurpose string `bson:"proofPurpose,omitempty" json:"proofPurpose,omitempty"` // the purpose of the signature: "digest", "authentication", "assertionMethod" ...
}
type DivorcePlaceAddress ¶ added in v1.1.28
type DivorcePlaceAddress struct {
DivorcePlaceCity string `bson:"divorcePlaceCity,omitempty" json:"divorcePlaceCity,omitempty"` // City or Town
DivorcePlaceCountry string `bson:"divorcePlaceCountry,omitempty" json:"divorcelaceCountry,omitempty"` // Country ISO 3 characters
DivorcePlaceDistrict string `bson:"divorcePlaceDistrict,omitempty" json:"divorcePlaceDistrict,omitempty"` // Province
DivorcePlaceState string `bson:"divorcePlaceState,omitempty" json:"divorcePlaceState,omitempty"` // Region
DivorcePlaceLines []string `bson:"divorcePlaceLines,omitempty" json:"divorcePlaceLines,omitempty"`
DivorcePlaceText string `bson:"divorcePlaceText,omitempty" json:"divorcePlaceText,omitempty"`
}
type Document ¶ added in v1.0.91
type Document struct {
ID string `json:"id,omitempty" bson:"id,omitempty"`
ProfileType string `json:"profileType,omitempty" bson:"profileType,omitempty"`
Title string `json:"title,omitempty" bson:"title,omitempty"`
Description string `json:"description,omitempty" bson:"description,omitempty"`
OriginalFilename string `json:"originalFilename,omitempty" bson:"originalFilename,omitempty"`
FileType string `json:"fileType,omitempty" bson:"filetType,omitempty"`
S3Filename string `json:"s3Filename,omitempty" bson:"s3Filename,omitempty"`
TemporaryUrl string `json:"temporaryUrl,omitempty" bson:"temporaryUrl,omitempty"`
Date time.Time `json:"date,omitempty" bson:"date,omitempty"`
LastUpdated time.Time `json:"lastUpdated,omitempty" bson:"lastUpdated,omitempty"`
}
type DocumentResponse ¶ added in v1.0.91
type EncryptedEhr ¶ added in v1.0.78
type EncryptedEhr struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
UhcUserId string `json:"uhcUserId,omitempty" bson:"uhcUserId,omitempty"`
EncryptionKeyId string `json:"encryptionKeyId,omitempty" bson:"encryptionKeyId,omitempty"`
EncryptedPayloadBase64 string `bson:"encryptedPayloadBase64,omitempty" json:"encryptedPayloadBase64,omitempty"`
Codes []string `bson:"codes,omitempty" json:"codes,omitempty"`
UhcCodeTags []string `bson:"uhcCodeTags,omitempty" json:"uhcCodeTags,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
}
type EncryptedEhrCreationRequest ¶ added in v1.0.81
type EncryptedEhrCreationRequest struct {
BiographyUHC BiographyUHC `bson:"biographyUHC,omitempty" json:"biographyUHC,omitempty"`
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
}
type EncryptedEhrDecryptionRequest ¶ added in v1.0.83
type EncryptedEhrDecryptionRequest struct {
EncryptedEhrId *string `bson:"encryptedEhrId,omitempty" json:"encryptedEhrId,omitempty"`
UhcCodeTags *[]string `bson:"uhcCodeTags,omitempty" json:"uhcCodeTags,omitempty"`
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
Limit *int `bson:"limit,omitempty" json:"limit,omitempty"`
Skip *int `bson:"skip,omitempty" json:"skip,omitempty"`
}
type EncryptedEhrDecryptionResponse ¶ added in v1.0.83
type EncryptedEhrDecryptionResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []BiographyUHC `bson:"data,omitempty" json:"data,omitempty"`
}
type EncryptedEhrResponse ¶ added in v1.0.78
type EncryptedEhrResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []EncryptedEhr `bson:"data,omitempty" json:"data,omitempty"`
}
type EncryptedResult ¶
type EncryptedResult struct {
EncryptedMessageBase64 string `bson:"encryptedMessageBase64,omitempty" json:"encryptedMessageBase64,omitempty"`
}
type EncryptedResultResponse ¶
type EncryptedResultResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []EncryptedResult `bson:"data,omitempty" json:"data,omitempty"`
}
type EncryptionRequest ¶
type EncryptionRequest struct {
Payload string `bson:"payload,omitempty" json:"payload,omitempty"`
EncryptionKeyId string `bson:"encryptionKeyId,omitempty" json:"encryptionKeyId,omitempty"`
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
OtherPartPublicKeyBase64 string `bson:"otherPartPublicKeyBase64,omitempty" json:"otherPartPublicKeyBase64,omitempty"`
}
type EncryptionRequirements ¶
type EncryptionRequirements struct {
InitiatorPublicKey string `bson:"initiatorPublicKey,omitempty" json:"initiatorPublicKey,omitempty"`
InvitedPublicKey string `bson:"invitedPublicKey,omitempty" json:"invitedPublicKey,omitempty"`
InitiatorEncryptionKeyId *string `json:"initiatorEncryptionKeyId" bson:"initiatorEncryptionKeyId"`
InvitedEncryptionKeyId *string `json:"invitedEncryptionKeyId" bson:"invitedEncryptionKeyId"`
}
type ExtensionBirthPlaceAddress ¶ added in v1.1.28
type ExtensionBirthPlaceAddress struct {
ExtensionBirthPlaceCity string `bson:"extensionBirthPlaceCity,omitempty" json:"extensionBirthPlaceCity,omitempty"` // City or Town
ExtensionBirthPlaceCountry string `bson:"extensionBirthPlaceCountry,omitempty" json:"extensionBirthPlaceCountry,omitempty"` // Country ISO 3 characters
ExtensionBirthPlaceDistrict string `bson:"extensionBirthPlaceDistrict,omitempty" json:"extensionBirthPlaceDistrict,omitempty"` // Province
ExtensionBirthPlaceState string `bson:"extensionBirthPlaceState,omitempty" json:"extensionBirthPlaceState,omitempty"` // Region
ExtensionBirthPlaceText string `bson:"extensionBirthPlaceText,omitempty" json:"extensionBirthPlaceText,omitempty"` // Region
}
type ExternalBase64MessageCreationRequest ¶
type ExternalBase64MessageCreationRequest struct {
ExternalMessageDirectives ExternalMessageDirectives `json:"externalDirectives" bson:"externalDirectives"`
Base64Message string `json:"base64Message,omitempty" bson:"base64Message,omitempty"`
Type string `json:"type,omitempty" bson:"type,omitempty"`
FileType *string `json:"FileType,omitempty" bson:"FileType,omitempty"`
}
type ExternalFhirMessageCreationRequest ¶
type ExternalFhirMessageCreationRequest struct {
ExternalMessageDirectives ExternalMessageDirectives `json:"externalDirectives" bson:"externalDirectives"`
FhirMessage fhir4.Bundle `json:"fhirMessage,omitempty" bson:"fhirMessage,omitempty"`
}
type ExternalInvitationDetails ¶ added in v1.0.65
type ExternalInvitationDetails struct {
ExternalSenderUserDetails *ExternalSenderUserDetails `json:"externalSenderUserDetails,omitempty" bson:"externalSenderUserDetails,omitempty"`
OrganizationId string `json:"organizationId,omitempty" bson:"organizationId,omitempty"`
}
type ExternalMessageCreationResult ¶
type ExternalMessageCreationResult struct {
SentMessageUhc *MessageUHC `json:"sentMessage,omitempty" bson:"sentMessage,omitempty"`
CreatedConnectionUhc *ConnectionUHC `json:"createdConnectionUHC,omitempty" bson:"createdConnectionUHC,omitempty"`
CreatedUserUhc *ExternalMessageDirectives `json:"createdUserUhc,omitempty" bson:"createdUserUhc,omitempty"`
}
type ExternalMessageCreationResultResponse ¶
type ExternalMessageCreationResultResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []ExternalMessageCreationResult `bson:"data,omitempty" json:"data,omitempty"`
}
type ExternalMessageDirectives ¶
type ExternalMessageDirectives struct {
ToEmail string `json:"toEmail,omitempty" bson:"toEmail,omitempty"`
ToUserId *string `json:"toUserId,omitempty" bson:"toUserId,omitempty"`
ExternalSenderUserDetails *ExternalSenderUserDetails `json:"externalSenderUserDetails,omitempty" bson:"externalSenderUserDetails,omitempty"`
}
type ExternalSenderUserDetails ¶ added in v1.0.65
type ExternalSenderUserDetails struct {
FromEmail string `json:"fromEmail,omitempty" bson:"fromEmail,omitempty"`
FirstName string `json:"firstName,omitempty" bson:"firstName,omitempty"`
LastName string `json:"lastName,omitempty" bson:"lastName,omitempty"`
TitleInOrganization *string `json:"titleInOrganization,omitempty" bson:"titleInOrganization,omitempty"`
}
type FhirCredentialSubject ¶
type FhirCredentialSubject struct {
FhirOrganization *fhir4.Organization `bson:"fhir,omitempty" json:"fhir,omitempty"`
UhcPublicExtensions *OrganizationPublicUHCExtensions `bson:"uhcPublicExtensions,omitempty" json:"uhcPublicExtensions,omitempty"` //dlt: no
}
type HashDltOutput ¶
type HashDltOutput struct {
Id string `bson:"id,omitempty" json:"id,omitempty"` // UUID random v4 identifying document's digest value
DigestValue string `bson:"digestValue,omitempty" json:"digestValue,omitempty"` // hexadecimal digest value in base-16 format
DigestAlgorithm string `bson:"digestAlgorithm,omitempty" json:"digestAlgorithm,omitempty"` // "sha3-256" or other hash function used when generating document's digest value
TxTimestampISO string `bson:"txTimestamp,omitempty" json:"txTimestamp,omitempty"` // the timestamp of the blockchain transaction
TxId string `bson:"txId,omitempty" json:"txId,omitempty"` // the identifier of the blockchain transaction
}
type HealthcareServiceCommon ¶ added in v1.1.78
type HealthcareServiceCommon struct {
Active bool `bson:"active,omitempty" json:"active,omitempty"` // Whether this HealthcareService record is in active use
AppointmentRequired bool `bson:"appointmentRequired,omitempty" json:"appointmentRequired,omitempty"`
AvailabilityExceptions string `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
Comment string `bson:"comment,omitempty" json:"comment,omitempty"` // use to inform about available times
DetailsMarkDown string `bson:"detailsMarkDown,omitempty" json:"detailsMarkDown,omitempty"` // use to inform about available times
Name string `bson:"name,omitempty" json:"name,omitempty"`
}
type HealthcareServiceEligibilityPlain ¶ added in v1.1.78
type HealthcareServiceEligibilityPlain struct {
EligibilityCodeDisplay string `bson:"eligibilityCodeDisplay,omitempty" json:"eligibilityCodeDisplay,omitempty"` // Internationally standarized descriptive text of the code in english
EligibilityCodeSystem string `bson:"eligibilityCodeSystem,omitempty" json:"eligibilityCodeSystem,omitempty"` // Namespace for the code
EligibilityCodeType string `bson:"eligibilityCodeType,omitempty" json:"eligibilityCodeType,omitempty"` // Symbol in syntax defined by the system
EligibilityCodeUserSelected bool `bson:"eligibilityCodeUserSelected,omitempty" json:"eligibilityCodeUserSelected,omitempty"` // If this coding was chosen directly by the user
EligibilityCodeVersion string `bson:"eligibilityCodeVersion,omitempty" json:"eligibilityCodeVersion,omitempty"` // Version of the system - if relevant
EligibilityConceptCustomText string `bson:"eligibilityConceptCustomText,omitempty" json:"eligibilityConceptCustomText,omitempty"` // Text in the original language
EligibilityCommentMarkDown string `bson:"eligibilityCommentMarkDown,omitempty" json:"eligibilityCommentMarkDown,omitempty"`
}
type HealthcareServiceSheet ¶ added in v1.1.78
type HealthcareServiceSheet struct {
// CategorySimpleConceptSheet
// SpecialtySimpleConceptSheet
// CoverageAreaReferenceLocationPlain
HealthcareServiceCommon `bson:",inline"`
ProviderReferencePlain `bson:",inline"`
PhotoAttachmentPlain `bson:",inline"`
PersonalTelecomSheet `bson:",inline"` // instead of TelecomContactPlain[]
ResourceUniversalId string `bson:"ResourceUniversalId,omitempty" json:"ResourceUniversalId,omitempty"`
CategoryConceptCustomText string `bson:"categoryConceptCustomText,omitempty" json:"categoryConceptCustomText,omitempty"`
CategoryConceptCodeHL7 string `bson:"categoryConceptCodeHL7,omitempty" json:"categoryConceptCodeHL7,omitempty"`
SpecialtyConceptCustomText string `bson:"specialtyConceptCustomText,omitempty" json:"specialtyConceptCustomText,omitempty"`
SpecialtyConceptCodeSNOMED string `bson:"specialtyConceptCodeSNOMED,omitempty" json:"specialtyConceptCodeSNOMED,omitempty"`
LocationReferenceURIs []string `bson:"locationReferenceURIs,omitempty" json:"locationReferenceURIs,omitempty"`
CoverageAreaCodesIso3166 []string `bson:"coverageAreaCodesIso3166,omitempty" json:"coverageAreaCodesIso3166,omitempty"` // Tree - coverageAreas ReferencePlain[]
ServiceProvisionCodesHL7 []string `bson:"serviceProvisionCodesHL7,omitempty" json:"serviceProvisionCodesHL7,omitempty"`
ServiceProvisionConceptCustomTexts []string `bson:"serviceProvisionConceptCustomTexts,omitempty" json:"serviceProvisionConceptCustomTexts,omitempty"`
ProgramCodesHL7 []string `bson:"programCodesHL7,omitempty" json:"programCodesHL7,omitempty"`
ProgramConceptCustomTexts []string `bson:"programConceptCustomTexts,omitempty" json:"programConceptCustomTexts,omitempty"`
CharacteristicCodeTypes []string `bson:"characteristicCodeTypes,omitempty" json:"characteristicCodeTypes,omitempty"` // not defined anywhere
CharacteristicCodeSystems []string `bson:"characteristicCodeSystems,omitempty" json:"characteristicCodeSystems,omitempty"` // not defined anywhere
CharacteristicConceptCustomTexts []string `bson:"characteristicConceptCustomTexts,omitempty" json:"characteristicConceptCustomTexts,omitempty"` // e.g.: Wheelchair access
CommunicationCodesBCP47 []string `bson:"communicationCodesBCP47,omitempty" json:"communicationCodesBCP47,omitempty"` // e.g.: ["en","es"]
CommunicationConceptCustomTexts []string `bson:"communicationConceptCustomTexts,omitempty" json:"communicationConceptCustomTexts,omitempty"` // e.g.: ["English","Español"]
ReferralMethodCodesHL7 []string `bson:"referralMethodCodesHL7,omitempty" json:"referralMethodCodesHL7,omitempty"`
ReferralMethodConceptCustomTexts []string `bson:"referralMethodConceptCustomTexts,omitempty" json:"referralMethodConceptCustomTexts,omitempty"`
NotAvailableStrings []string `bson:"notAvailableStrings,omitempty" json:"notAvailableStrings,omitempty"`
EndpointReferenceURIs []string `bson:"endpointReferenceURIs,omitempty" json:"endpointReferenceURIs,omitempty"`
}
type HealthcareServiceTree ¶ added in v1.1.78
type HealthcareServiceTree struct {
HealthcareServiceCommon `bson:",inline"`
ProviderReferencePlain `bson:",inline"`
CategoryConceptPlain `bson:",inline"`
SpecialtyConceptPlain `bson:",inline"`
PhotoAttachmentPlain `bson:",inline"`
Identifiers []IdentifierFullPlain `bson:"identifiers,omitempty" json:"identifiers,omitempty"` // e.g. urn:uuid:<uuid>
Locations []ReferencePlain `bson:"locations,omitempty" json:"locations,omitempty"`
Telecoms []PersonalTelecomSheet `bson:"telecoms,omitempty" json:"telecoms,omitempty"`
CoverageAreas []ReferencePlain `bson:"coverageAreas,omitempty" json:"coverageAreas,omitempty"`
Programs []ConceptPlain `bson:"programs,omitempty" json:"programs,omitempty"`
Characteristics []ConceptPlain `bson:"characteristics,omitempty" json:"characteristics,omitempty"`
CommunicationLanguages []ConceptPlain `bson:"communicationLanguages,omitempty" json:"communicationLanguages,omitempty"`
ReferralMethods []ConceptPlain `bson:"referralMethods,omitempty" json:"referralMethods,omitempty"`
}
type Holder ¶ added in v1.1.33
type Holder struct {
Id string `bson:"id,omitempty" json:"id,omitempty"` // e.g.: urn:uuid:<uuid-v4> or did:example:ebfeb1276e12ec21f712ebc6f1c
Type string `bson:"type,omitempty" json:"type,omitempty"` // Subject, Parent, Pet Owner, Travel Agent, Law Enforcement, Recruiter
}
https://www.w3.org/TR/vc-data-model/#subject-holder-relationships
type IdentifierAssigner ¶ added in v1.1.28
type IdentifierAssigner struct {
IdentifierAssignerDisplay string `bson:"identifierAssignerDisplay,omitempty" json:"identifierAssignerDisplay,omitempty"` // Organization that issued ID, e.g. "Goverment of Country" or "Laboratory Company"
IdentifierAssignerIdentitySystem string `bson:"identifierAssignerIdentitySystem,omitempty" json:"identifierAssignerIdentitySystem,omitempty"` // Namespace for the identifier value, e.g. "urn:ietf:rfc:3986" or "1.3.6.1.4.1.19126.3" (Spanish Tax ID number)
IdentifierAssignerIdentityValue string `bson:"identifierAssignerIdentityValue,omitempty" json:"identifierAssignerIdentityValue,omitempty"` // The value that is unique, e.g. "urn:oid:<oid>", "urn:uuid:<uuid>","urn:did:<did>" or Tax ID number of the assigner organization
IdentifierAssignerReferenceURI string `bson:"identifierAssignerReferenceURI,omitempty" json:"identifierAssignerReferenceURI,omitempty"` // A FHIR Reference.reference value, e.g. "Organization/<uuid>"
IdentifierAssignerType string `bson:"identifierAssignerType,omitempty" json:"identifierAssignerType,omitempty"` // A FHIR Resource type, e.g. "Organization"
}
'OfficialIdentifierAssigner' is a FHIR 'Reference' within a FHIR 'OfficialIdentifier'
type IdentifierClaim ¶ added in v1.1.28
type IdentifierClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data IdentifierFullPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type IdentifierDataRegistrationRequest ¶ added in v1.1.38
type IdentifierDataRegistrationRequest struct {
IndividualUserId string `bson:"individualUserId,omitempty" json:"individualUserId,omitempty"` // only for patients
PractitionerId string `bson:"practitionerId,omitempty" json:"practitionerId,omitempty"` // only for practitioners
IdentifierAssignerIdentitySytemISO string `bson:"identifierAssignerIdentitySytemISO,omitempty" json:"identifierAssignerIdentitySytemISO,omitempty"` // ISO '3166-1' (for alfa-3 codes, e.g., 'ESP') or regional '3166-2:<alfa-2 code>' (e.g., '3166-2:US' for 'US-NY')
IdentifierAssignerIdentityValueISO string `bson:"identifierAssignerIdentityValueISO,omitempty" json:"identifierAssignerIdentityValueISO,omitempty"` // e.g., 'ESP' or 'US-NY'
IdentifierTypeCodeHL7 string `bson:"identifierTypeCodeHL7,omitempty" json:"identifierTypeCodeHL7,omitempty"` // e.g., "DL" for a driver license or "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierValidFrom string `bson:"identifierValidFrom,omitempty" json:"identifierValidFrom,omitempty"` // Starting time when the identifier is/was valid for use
IdentifierValidUntil string `bson:"identifierValidUntil,omitempty" json:"identifierValidUntil,omitempty"` // Ending time when the identifier is/was valid for use
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
}
type IdentifierFullPlain ¶ added in v1.1.31
type IdentifierFullPlain struct {
IdentifierAssignerDisplay string `bson:"identifierAssignerDisplay,omitempty" json:"identifierAssignerDisplay,omitempty"` // Organization that issued ID, e.g. "Goverment of Country" or "Laboratory Company"
IdentifierAssignerIdentitySystem string `bson:"identifierAssignerIdentitySystem,omitempty" json:"identifierAssignerIdentitySystem,omitempty"` // e.g.: "urn:ietf:rfc:3986", "1.3.6.1.4.1.19126.3" (Spanish Tax ID number), ISO 3166-1 alfa-3 country code (e.g.: ESP) or 3166-2:<alfa-2> regional code (e.g., US-NY from 3166-2:US)
IdentifierAssignerIdentityValue string `bson:"identifierAssignerIdentityValue,omitempty" json:"identifierAssignerIdentityValue,omitempty"` // The value that is unique, e.g. "urn:oid:<oid>", "urn:uuid:<uuid>","urn:did:<did>" or Tax ID number of the assigner organization
IdentifierAssignerReferenceURI string `bson:"identifierAssignerReferenceURI,omitempty" json:"identifierAssignerReferenceURI,omitempty"` // A FHIR Reference.reference value, e.g. "Organization/<uuid>"
IdentifierAssignerType string `bson:"identifierAssignerType,omitempty" json:"identifierAssignerType,omitempty"` // A FHIR Resource type, e.g. "Organization"
IdentifierCustomText string `bson:"identifierCustomText,omitempty" json:"identifierCustomText,omitempty"` // Descriptive type of code text in the original language, e.g. "Documento Nacional de Identidad"
IdentifierSystem string `bson:"identifierSystem,omitempty" json:"identifierSystem,omitempty"` // Entity's namespace for 'identifierValue', e.g.: 1.3.6.1.4.1.19126.3 for spanish NIF / DNI (Tax ID number)
IdentifierTypeCode string `bson:"identifierTypeCode,omitempty" json:"identifierTypeCode,omitempty"` // Type of Code as defined by 'identifierTypeSystem' (HL7), e.g. "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierTypeDisplay string `bson:"identifierTypeDisplay,omitempty" json:"identifierTypeDisplay,omitempty"` // Internationally standarized descriptive type of code text in english, e.g. "Tax ID Number"
IdentifierTypeSystem string `bson:"identifierTypeSystem,omitempty" json:"identifierTypeSystem,omitempty"` // Namespace for the type of code, e.g. "http://terminology.hl7.org/CodeSystem/v2-0203"
IdentifierTypeUserSelected bool `bson:"identifierTypeUserSelected,omitempty" json:"identifierTypeUserSelected,omitempty"` // If the type of code was chosen directly by the user
IdentifierTypeVersion string `bson:"identifierTypeVersion,omitempty" json:"identifierTypeVersion,omitempty"` // Version of the system for the type of code (if relevant)
IdentifierUniversalId string `bson:"identifierUniversalId,omitempty" json:"identifierUniversalId,omitempty"` // Identifier.id = identifierUniversalId as fixed storage ID of the identifier
IdentifierUse string `bson:"identifierUse,omitempty" json:"identifierUse,omitempty"` // "official", "usual", "secondary", "temp" or "old"
IdentifierValidFrom string `bson:"identifierValidFrom,omitempty" json:"identifierValidFrom,omitempty"` // Starting time when the identifier is/was valid for use
IdentifierValidUntil string `bson:"identifierValidUntil,omitempty" json:"identifierValidUntil,omitempty"` // Ending time when the identifier is/was valid for use
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
}
IdentifierExtensionVcId is the Claim.id
type IdentifierSimplePlain ¶ added in v1.1.31
type IdentifierSimplePlain struct {
IdentifierValidFrom string `bson:"identifierValidFrom,omitempty" json:"identifierValidFrom,omitempty"` // Starting time when the identifier is/was valid for use
IdentifierValidUntil string `bson:"identifierValidUntil,omitempty" json:"identifierValidUntil,omitempty"` // Ending time when the identifier is/was valid for use
IdentifierSystem string `bson:"identifierSystem,omitempty" json:"identifierSystem,omitempty"` // Entity's namespace for 'identifierValue', e.g.: 1.3.6.1.4.1.19126.3 for spanish NIF / DNI (Tax ID number)
IdentifierUse string `bson:"identifierUse,omitempty" json:"identifierUse,omitempty"` // "official", "usual", "secondary", "temp" or "old"
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
IdentifierExtensionVcId string `bson:"identifierExtensionVcId,omitempty" json:"identifierExtensionVcId,omitempty"` // VC's ID valueString as version ID ('meta' is not allowed within a FHIR identifier)
IdentifierUniversalId string `bson:"identifierUniversalId,omitempty" json:"identifierUniversalId,omitempty"` // internal storage ID of the data resource
}
type IdentifierType ¶ added in v1.1.28
type IdentifierType struct {
IdentifierTypeCode string `bson:"identifierTypeCode,omitempty" json:"identifierTypeCode,omitempty"` // Type of Code as defined by 'identifierTypeSystem' (HL7), e.g. "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierTypeDisplay string `bson:"identifierTypeDisplay,omitempty" json:"identifierTypeDisplay,omitempty"` // Internationally standarized descriptive type of code text in english, e.g. "Tax ID Number"
IdentifierTypeSystem string `bson:"identifierTypeSystem,omitempty" json:"identifierTypeSystem,omitempty"` // Namespace for the type of code, e.g. "http://terminology.hl7.org/CodeSystem/v2-0203"
IdentifierTypeUserSelected bool `bson:"identifierTypeUserSelected,omitempty" json:"identifierTypeUserSelected,omitempty"` // If the type of code was chosen directly by the user
IdentifierTypeVersion string `bson:"identifierTypeVersion,omitempty" json:"identifierTypeVersion,omitempty"` // Version of the system for the type of code (if relevant)
}
type ImmunizationApiParams ¶ added in v1.0.77
type ImmunizationApiParams struct {
// UHC specific
ConnectionUHC string // UHC private connection e.g. http://api.unid.es/v1/connection/987
RecipientMessageUHC string
// Immunization Terminology Bindings
VaccineCode string // system|code
ImmunizationSite string
ImmunizationRoute string
// Immunization Search Params
OccurrenceDate string // Vaccination (non)-Administration Date
Identifier string // Cross border identifier (not internal ID)
Location string // The service delivery location or facility in which the vaccine was / was to be administered
LotNumber string // Vaccine lot number.
Manufacturer string // Vaccine Manufacturer Organization Reference URI
Patient string // Who/what is the patient for the resource
Performer string // The practitioner or organization who played a role in the vaccination
Reaction string // Observation with details on reaction
ReactionDate string // Both for immunization and for allergies and intolerances
ReasonCode string // Reason why the vaccine was administered
ReasonReference string // Resource about why immunization occurred
Series string // The series being followed by the provider
StatusHL7 string // Immunization event status
StatusReason string // Not done reason code
TargetDiseases string // Target diseases.
// Added Params
SerieDosesRecommended string // Recommended number of doses for immunity.
SerieDoseNumber string // Dose number within series e.g.: 1
ValueQuantity string // Amount administered as quantity|unitcode e.g.: 1|mL
}
func (*ImmunizationApiParams) GetImmunizationApiTags ¶ added in v1.0.77
func (apiImmunization *ImmunizationApiParams) GetImmunizationApiTags() ImmunizationApiParams
Method GetImmunizationApiTags returns the valid params to be used
func (*ImmunizationApiParams) GetImmunizationFormByHttpRequest ¶ added in v1.0.77
func (apiImmunization *ImmunizationApiParams) GetImmunizationFormByHttpRequest(r *http.Request)
Method GetImmunizationFormByHttpRequest returns a BaseImmunization created with the params received
type Invitation ¶
type Invitation struct {
ID string `json:"@id" bson:"@id"`
Type string `json:"@type" bson:"@type"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Goal string `json:"goal,omitempty" bson:"goal,omitempty"`
GoalCode string `json:"goal-code,omitempty" bson:"goal-code,omitempty"`
Service []interface{} `json:"serviceClient" bson:"serviceClient"`
Protocols []string `json:"protocols" bson:"protocols"`
}
type InvitationAcceptationRequest ¶
type InvitationAcceptationRequest struct {
InvitationUhcId string `json:"invitationUhcId" bson:"invitationUhcId"`
Password string `json:"password" bson:"password"`
InvitedPublicKey string `bson:"invitedPublicKey,omitempty" json:"invitedPublicKey,omitempty"`
InvitedEncryptionKeyId *string `json:"invitedEncryptionKeyId" bson:"invitedEncryptionKeyId"`
}
type InvitationAndEmailWithPwdRequest ¶ added in v1.1.22
type InvitationCreationRequest ¶
type InvitationCreationRequest struct {
Type string `json:"type" bson:"type"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Goal string `json:"goal,omitempty" bson:"goal,omitempty"`
GoalCode string `json:"goal-code,omitempty" bson:"goal-code,omitempty"`
Password string `json:"password" bson:"password"`
InitiatorUserId string `json:"initiatorUserId" bson:"initiatorUserId"`
InvitedUserId string `json:"invitedUserId" bson:"invitedUserId"`
InitiatorPublicKey string `bson:"initiatorPublicKey,omitempty" json:"initiatorPublicKey,omitempty"`
InitiatorEncryptionKeyId *string `json:"initiatorEncryptionKeyId" bson:"initiatorEncryptionKeyId"`
OrganizationId string `json:"organizationId" bson:"organizationId"`
}
type InvitationUHC ¶
type InvitationUHC struct {
ID string `json:"id" bson:"id"`
ShortId string `json:"shortId" bson:"shortId"`
Type string `json:"type" bson:"type"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Goal string `json:"goal,omitempty" bson:"goal,omitempty"`
GoalCode string `json:"goal-code,omitempty" bson:"goal-code,omitempty"`
Protocols []string `json:"protocols" bson:"protocols"`
Password string `json:"password" bson:"password"`
Status string `json:"status" bson:"status"`
InitiatorUserId string `json:"initiatorUserId,omitempty" bson:"initiatorUserId,omitempty"`
InvitedUserId string `json:"invitedUserId,omitempty" bson:"invitedUserId,omitempty"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt" bson:"updatedAt"`
EncryptionRequirements EncryptionRequirements `json:"encryptionRequirements" bson:"encryptionRequirements"`
ExternalInvitationDetails *ExternalInvitationDetails `json:"externalInvitationDetails,omitempty" bson:"externalInvitationDetails,omitempty"`
ReadStatus string `json:"readStatus,omitempty" bson:"readStatus,omitempty"`
}
type InvitationUHCResponse ¶
type InvitationUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []InvitationUHC `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type JWMPayload ¶
type Key ¶
type Key struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
WalletKeyId string `bson:"walletKeyId,omitempty" json:"walletKeyId,omitempty"` // Parent Wallet ID
Tag string `bson:"tag,omitempty" json:"tag,omitempty"`
Purposes []string `bson:"capability,omitempty" json:"capability,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"` // e.g.: X25519KeyAgreementKey2019, Ed25519VerificationKey2018
Usage string `bson:"usage,omitempty" json:"usage,omitempty"` // SIGN or ENCRYPTION
PublicKeyBase64 string `bson:"publicKeyBase64,omitempty" json:"publicKeyBase64,omitempty"`
PrivateKeyBase64 string `bson:"privateKeyBase64,omitempty" json:"privateKeyBase64,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
ControllerDID string `bson:"controllerDid,omitempty" json:"controllerDid,omitempty"` // "did:v1:uuid:" + uhcUserId
PublicKeyDID string `bson:"publicKeyDid,omitempty" json:"publicKeyDid,omitempty"` // "did:v1:uuid:" + uhcUserId + "#" + Key.ID
Expires *time.Time `bson:"expires,omitempty" json:"expires,omitempty"`
Revoked *time.Time `bson:"revoked,omitempty" json:"revoked,omitempty"`
}
ouput for KeySecured
type KeyCreationOrganizationRequest ¶
type KeyCreationOrganizationRequest struct {
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
AccessPassword *string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
Tag string `bson:"tag,omitempty" json:"tag,omitempty"`
Usage string `bson:"usage,omitempty" json:"usage,omitempty"`
}
type KeyCreationRequest ¶
type KeyCreationRequest struct {
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
Tag string `bson:"tag,omitempty" json:"tag,omitempty"`
Purposes []string `bson:"capability,omitempty" json:"capability,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"` // e.g.: X25519KeyAgreementKey2019, Ed25519VerificationKey2018
Usage string `bson:"usage,omitempty" json:"usage,omitempty"` // SIGN or ENCRYPTION
}
type KeyEncryptedRetrieval ¶ added in v1.0.85
type KeyEncryptedRetrieval struct {
ActiveKeysEncrypted string `bson:"activeKeysEncrypted,omitempty" json:"activeKeysEncrypted,omitempty"`
}
type KeyEncryptedRetrievalResponse ¶ added in v1.0.85
type KeyEncryptedRetrievalResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []KeyEncryptedRetrieval `bson:"data,omitempty" json:"data,omitempty"`
}
type KeyResponse ¶
type KeyRetrievalRequest ¶
type KeysRetrieval ¶ added in v1.0.87
type License ¶
type License struct {
LicenseID string `bson:"id,omitempty" json:"id,omitempty"`
Period fhir4.Period `bson:"period,omitempty" json:"period,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
}
type MaritalClaim ¶ added in v1.1.28
type MaritalClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data MaritalPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
PatientClaim = some PatientBase data + specific PatientProfile (destructured claims: Addresses, Contacts, Identifiers, Telecom)
type MaritalPlain ¶ added in v1.1.28
type MaritalPlain struct {
MaritalStatus string `bson:"maritalStatus,omitempty" json:"maritalStatus,omitempty"`
ExtensionDivorceDate string `bson:"extensionDivorceDate,omitempty" json:"extensionDivorceDate,omitempty"` // ISO date: yyyy-mm-dd
ExtensionDivorceAddress *MarriagePlaceAddress `bson:",inline"`
ExtensionDivorceCertificateId string `bson:"extensionDivorceCertificateId,omitempty" json:"extensionDivorceCertificateId,omitempty"` // US core extension http://hl7.org/fhir/us/bfdr/StructureDefinition/Extension-birth-certificate-id
ExtensionDivorceCertificateFileNumber string `bson:"extensionDivorceCertificateFileNumber,omitempty" json:"extensionDivorceCertificateFileNumber,omitempty"`
ExtensionMarriageDate string `bson:"extensionMarriageDate,omitempty" json:"extensionMarriageDate,omitempty"` // ISO date: yyyy-mm-dd
ExtensionMarriageAddress *MarriagePlaceAddress `bson:",inline"`
ExtensionMarriageCertificateId string `bson:"extensionMarriageCertificateId,omitempty" json:"extensionMarriageCertificateId,omitempty"` // US core extension http://hl7.org/fhir/us/bfdr/StructureDefinition/Extension-birth-certificate-id
ExtensionMarriageCertificateFileNumber string `bson:"extensionMarriageCertificateFileNumber,omitempty" json:"extensionMarriageCertificateFileNumber,omitempty"`
ExtensionMateNaturalGivenName string `bson:"extensionMateNaturalGivenName,omitempty" json:"extensionMateNaturalGivenName,omitempty"`
MaritalUniversalId string `bson:"maritalUniversalId,omitempty" json:"maritalUniversalId,omitempty"`
RelatedSpouseUniversalId string `bson:"relatedSpouseUniversalId,omitempty" json:"relatedSpouseUniversalId,omitempty"`
}
type MarriagePlaceAddress ¶ added in v1.1.28
type MarriagePlaceAddress struct {
MarriagePlaceCity string `bson:"marriagePlaceCity,omitempty" json:"marriagePlaceCity,omitempty"` // City or Town
MarriagePlaceCountry string `bson:"marriagePlaceCountry,omitempty" json:"marriagePlaceCountry,omitempty"` // Country ISO 3 characters
MarriagePlaceDistrict string `bson:"marriagePlaceDistrict,omitempty" json:"marriagePlaceDistrict,omitempty"` // Province
MarriagePlaceState string `bson:"marriagePlaceState,omitempty" json:"marriagePlaceState,omitempty"` // Region
MarriagePlaceLines []string `bson:"marriagePlaceLines,omitempty" json:"marriagePlaceLines,omitempty"`
MarriagePlaceText string `bson:"marriagePlaceText,omitempty" json:"marriagePlaceText,omitempty"`
}
type MessageUHC ¶
type MessageUHC struct {
ID string `json:"id" bson:"id"`
ConnectionUhcId string `json:"connectionUhcId" bson:"connectionUhcId"`
Thread string `json:"thread" bson:"thread"`
RespondsToMessageId string `json:"respondsToMessageId" bson:"respondsToMessageId"`
Type string `json:"type" bson:"type"`
Label string `json:"label" bson:"label"`
FromUserId string `json:"fromUserId,omitempty" bson:"fromUserId,omitempty"`
FromOrganizationId string `json:"fromOrganizationId,omitempty" bson:"fromOrganizationId,omitempty"`
ToUserId string `json:"toUserId,omitempty" bson:"toUserId,omitempty"`
JWMPayload *JWMPayload `json:"jwmPayload" bson:"jwmPayload"`
UHCPayload *UHCPayload `json:"uhcPayload" bson:"uhcPayload"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
Status string `json:"status" bson:"status"`
}
type MessageUHCResponse ¶
type MessageUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []MessageUHC `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type NamingClaim ¶ added in v1.1.28
type NamingClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest *Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data *NamingPlainWithISO `bson:"data,omitempty" json:"data,omitempty"` // https://build.fhir.org/iso-21090.html
Holder *Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs *[]Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type NamingDataRegistrationRequest ¶ added in v1.1.38
type NamingDataRegistrationRequest struct {
IndividualUserId string `bson:"individualUserId,omitempty" json:"individualUserId,omitempty"` // only for patients
PractitionerId string `bson:"practitionerId,omitempty" json:"practitionerId,omitempty"` // only for practitioners
NamingOfficialGivenNames []string `bson:"namingOfficialGivenNames,omitempty" json:"namingOfficialGivenNames,omitempty"`
NamingOfficialGivenNamesExtensionENISO []string `bson:"namingOfficialGivenNamesExtensionENISO,omitempty" json:"namingOfficialGivenNamesExtensionENISO,omitempty"`
NamingOfficialFamilyName string `bson:"namingOfficialFamilyName,omitempty" json:"namingOfficialFamilyName,omitempty"`
NamingOfficialFamilyNameExtensionENISO string `bson:"namingOfficialFamilyNameExtensionENISO,omitempty" json:"namingOfficialFamilyNameExtensionENISO,omitempty"`
NamingExtensionFamilyOwnName string `bson:"namingExtensionFamilyOwnName,omitempty" json:"namingExtensionFamilyOwnName,omitempty"`
NamingExtensionFamilyOwnNameENISO string `bson:"namingExtensionFamilyOwnNameENISO,omitempty" json:"namingExtensionFamilyOwnNameENISO,omitempty"`
NamingExtensionFamilyMothersName string `bson:"namingExtensionFamilyMothersName,omitempty" json:"namingExtensionFamilyMothersName,omitempty"`
NamingExtensionFamilyMothersNameENISO string `bson:"namingExtensionFamilyMothersNameENISO,omitempty" json:"namingExtensionFamilyMothersNameENISO,omitempty"`
}
type NamingPlainWithISO ¶ added in v1.1.34
type NamingPlainWithISO struct {
// Array of NamingOfficialGivenNames should ever exists if NamingPlainWithISO and NamingClaim are created
NamingOfficialGivenNames *[]string `bson:"namingOfficialGivenNames,omitempty" json:"namingOfficialGivenNames,omitempty"`
NamingOfficialGivenNamesExtensionENISO *[]string `bson:"namingOfficialGivenNamesExtensionENISO,omitempty" json:"namingOfficialGivenNamesExtensionENISO,omitempty"`
NamingOfficialFamilyName *string `bson:"namingOfficialFamilyName,omitempty" json:"namingOfficialFamilyName,omitempty"`
NamingOfficialFamilyNameExtensionENISO *string `bson:"namingOfficialFamilyNameExtensionENISO,omitempty" json:"namingOfficialFamilyNameExtensionENISO,omitempty"`
// family name that is derived from the person's own surname (father's family name or maiden name)
NamingExtensionFamilyOwnName *string `bson:"namingExtensionFamilyOwnName,omitempty" json:"namingExtensionFamilyOwnName,omitempty"`
NamingExtensionFamilyOwnNameENISO *string `bson:"namingExtensionFamilyOwnNameENISO,omitempty" json:"namingExtensionFamilyOwnNameENISO,omitempty"`
// second surname, e.g., in Spain, Chile, etc.
NamingExtensionFamilyMothersName *string `bson:"namingExtensionFamilyMothersName,omitempty" json:"namingExtensionFamilyMothersName,omitempty"`
NamingExtensionFamilyMothersNameENISO *string `bson:"namingExtensionFamilyMothersNameENISO,omitempty" json:"namingExtensionFamilyMothersNameENISO,omitempty"`
// family name that is derived from the person's partner's surname
// FamilyPartnerName string
// ExtensionFamilyPartnerNameISO string
NamingUniversalId string `bson:"namingUniversalId,omitempty" json:"namingUniversalId,omitempty"`
}
If the person's surname has legally changed to become (or incorporate) the surname of the person's partner or spouse, the family own-name is the person's surname immediately prior to such change. Often this is the person's "maiden name"
type NotificationType ¶ added in v1.1.9
type NotificationType string
const ( OrganizationType NotificationType = "organization" MessageType NotificationType = "message" AlertType NotificationType = "alert" )
type NotificationUHC ¶ added in v1.1.9
type NotificationUHC struct {
Type NotificationType `json:"type" bson:"type"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
Name *string `json:"name" bson:"name"`
// Additional information
// Message connection id or organization id, depending on type)
SubjectID string `json:"subjectId" bson:"subjectId"`
}
type NotificationUHCResponse ¶ added in v1.1.14
type NotificationUHCResponse struct {
Code int `json:"code" bson:"code"`
Count int `json:"count" bson:"count"`
Message string `json:"message" bson:"message"`
Data []NotificationUHC `json:"data" bson:"data"`
}
type OfficialDataRegistrationRequest ¶ added in v1.1.38
type OfficialDataRegistrationRequest struct {
Email string `bson:"email,omitempty" json:"email,omitempty"`
PersonalData PersonalDataRegistrationRequest `bson:",inline"`
AddressData AddressDataRegistrationRequest `bson:",inline"`
IdentifierData IdentifierDataRegistrationRequest `bson:",inline"`
NamingData NamingDataRegistrationRequest `bson:",inline"`
}
TODO: address ISO https://build.fhir.org/iso-21090.html
type OrgServiceClaim ¶ added in v1.1.78
type OrgServiceClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data BirthPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type OrgServicePermission ¶ added in v1.1.13
type OrgServicePermission struct {
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
OrganizationRole string `bson:"organizationRole,omitempty" json:"organizationRole,omitempty"`
ConfirmedRole bool `bson:"confirmedRole" json:"confirmedRole"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
}
TODO: remove?
type OrgServicePublicUHCExtensions ¶ added in v1.1.10
type OrgServicePublicUHCExtensions struct {
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
DescriptionI18n *[]I18nText `bson:"description~i18n,omitempty" json:"description~i18n,omitempty"`
Tags *[]string `bson:"tags,omitempty" json:"tags,omitempty"`
LogoUrl string `bson:"logoUrl,omitempty" json:"logoUrl,omitempty"`
OrganizationImageDocumentId string `bson:"organizationImageDocumentId,omitempty" json:"organizationImageDocumentId,omitempty"`
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
ActiveTermsAndConditionsId string `bson:"termsAndConditionsId,omitempty" json:"termsAndConditionsId,omitempty"`
}
type OrgServiceSubject ¶ added in v1.1.10
type OrgServiceSubject struct {
Fhir *fhir4.HealthcareService `bson:"fhir,omitempty" json:"fhir,omitempty"`
UhcPublicExtensions *OrgServicePublicUHCExtensions `bson:"uhcPublicExtensions,omitempty" json:"uhcPublicExtensions,omitempty"` //dlt: no
}
type OrgServiceUHC ¶ added in v1.1.10
type OrgServiceUHC struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
ActiveCredentialID string `bson:"activeCredential,omitempty" json:"activeCredential,omitempty"`
OrganizationService *fhir4.HealthcareService `bson:"fhir,omitempty" json:"fhir,omitempty"`
UhcPublicExtensions *OrgServicePublicUHCExtensions `bson:"uhcPublicExtensions,omitempty" json:"uhcPublicExtensions,omitempty"` //dlt: no
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
}
type OrgServiceUHCAccess ¶ added in v1.1.10
type OrgServiceUHCAccess struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
OrgServiceUhcId string `bson:"orgServiceUhcId,omitempty" json:"organizationUhcId,omitempty"`
ActiveEncryptionKeyID *string `bson:"activeEncryptionKeyID,omitempty" json:"activeEncryptionKeyID,omitempty"`
ActiveSigningKeyID *string `bson:"activeSigningKeyID,omitempty" json:"activeSigningKeyID,omitempty"`
ActiveOrgServiceAccessTokenId *string `bson:"activeOrgServiceAccessTokenId,omitempty" json:"activeOrganizationAccessTokenId,omitempty"`
ApplicationsLicenses *[]ApplicationLicense `bson:"ApplicationsLicenses,omitempty" json:"applications,omitempty"`
ApplicationsPermissions *[]ApplicationPermission `bson:"applicationsPermissions,omitempty" json:"applicationsPermissions,omitempty"`
}
type OrgServiceUHCResponse ¶ added in v1.1.10
type OrgServiceUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []OrgServiceUHC `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type OrgServiceVC ¶ added in v1.1.10
type OrgServiceVC struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
Subject OrgServiceSubject `bson:"credentialSubject,omitempty" json:"credentialSubject,omitempty"`
Type []string `bson:"type,omitempty" json:"type,omitempty"`
Issuer verifiable.Issuer `bson:"issuer,omitempty" json:"issuer,omitempty"`
Issued *time.Time `bson:"issuanceDate,omitempty" json:"issuanceDate,omitempty"`
Expired *time.Time `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
ListOfProof []proof.Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Status *verifiable.TypedID `bson:"credentialStatus,omitempty" json:"credentialStatus,omitempty"`
Schemas []verifiable.TypedID `bson:"credentialSchema,omitempty" json:"credentialSchema,omitempty"`
TermsOfUse []verifiable.TypedID `bson:"termsOfUse,omitempty" json:"termsOfUse,omitempty"`
RefreshService []verifiable.TypedID `bson:"refreshService,omitempty" json:"refreshService,omitempty"`
}
type OrgServiceVCResponse ¶ added in v1.1.10
type OrgServiceVCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []OrgServiceVC `bson:"data,omitempty" json:"data,omitempty"`
}
type OrgServiceVP ¶ added in v1.1.10
type OrgServiceVP struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
Type []string `bson:"type,omitempty" json:"type,omitempty"`
VerifiableCredentials []OrgServiceVC `bson:"verifiableCredential,omitempty" json:"verifiableCredential,omitempty"`
Holder string `bson:"holder,omitempty" json:"holder,omitempty"`
ListOfProof []proof.Proof `bson:"proof,omitempty" json:"proof,omitempty"`
}
type OrganizationPermission ¶
type OrganizationPermission struct {
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
OrganizationRole string `bson:"organizationRole,omitempty" json:"organizationRole,omitempty"`
RoleUHC string `bson:"roleUHC,omitempty" json:"roleUHC,omitempty"`
RolesSNOMED []string `bson:"rolesSNOMED,omitempty" json:"rolesSNOMED,omitempty"`
OrgServiceIds []string `bson:"orgServiceIds,omitempty" json:"orgServiceIds,omitempty"`
ConfirmedRole bool `bson:"confirmedRole" json:"confirmedRole"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
}
TODO: deprecate OrganizationRole to RoleUHC, rename to UhcPermission
type OrganizationPublicUHCExtensions ¶
type OrganizationPublicUHCExtensions struct {
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
DescriptionI18n *[]I18nText `bson:"description~i18n,omitempty" json:"description~i18n,omitempty"`
Tags *[]string `bson:"tags,omitempty" json:"tags,omitempty"`
LogoUrl string `bson:"logoUrl,omitempty" json:"logoUrl,omitempty"`
LogoBase64Data string `bson:"logoBase64Data,omitempty" json:"logoBase64Data,omitempty"`
OrganizationImageDocumentId string `bson:"organizationImageDocumentId,omitempty" json:"organizationImageDocumentId,omitempty"`
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
ActiveTermsAndConditionsId string `bson:"termsAndConditionsId,omitempty" json:"termsAndConditionsId,omitempty"`
}
type OrganizationUHC ¶
type OrganizationUHC struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
ActiveCredentialID string `bson:"activeCredentialId,omitempty" json:"activeCredentialId,omitempty"`
FhirOrganization *fhir4.Organization `bson:"fhir,omitempty" json:"fhir,omitempty"`
UhcPublicExtensions *OrganizationPublicUHCExtensions `bson:"uhcPublicExtensions,omitempty" json:"uhcPublicExtensions,omitempty"` //dlt: no
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
}
type OrganizationUHCAccess ¶
type OrganizationUHCAccess struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
OrganizationUhcId string `bson:"organizationUhcId,omitempty" json:"organizationUhcId,omitempty"`
ActiveEncryptionKeyID *string `bson:"activeEncryptionKeyID,omitempty" json:"activeEncryptionKeyID,omitempty"`
ActiveSigningKeyID *string `bson:"activeSigningKeyID,omitempty" json:"activeSigningKeyID,omitempty"`
ActiveOrganizationAccessTokenId *string `bson:"activeOrganizationAccessTokenId,omitempty" json:"activeOrganizationAccessTokenId,omitempty"`
ApplicationsLicenses *[]ApplicationLicense `bson:"ApplicationsLicenses,omitempty" json:"applications,omitempty"`
ApplicationsPermissions *[]ApplicationPermission `bson:"applicationsPermissions,omitempty" json:"applicationsPermissions,omitempty"`
}
type OrganizationUHCResponse ¶
type OrganizationUHCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []OrganizationUHC `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type OrganizationVC ¶
type OrganizationVC struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
Subject FhirCredentialSubject `bson:"credentialSubject,omitempty" json:"credentialSubject,omitempty"`
Type []string `bson:"type,omitempty" json:"type,omitempty"`
Issuer verifiable.Issuer `bson:"issuer,omitempty" json:"issuer,omitempty"`
Issued *time.Time `bson:"issuanceDate,omitempty" json:"issuanceDate,omitempty"`
Expired *time.Time `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
ListOfProof []proof.Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Status *verifiable.TypedID `bson:"credentialStatus,omitempty" json:"credentialStatus,omitempty"`
Schemas []verifiable.TypedID `bson:"credentialSchema,omitempty" json:"credentialSchema,omitempty"`
TermsOfUse []verifiable.TypedID `bson:"termsOfUse,omitempty" json:"termsOfUse,omitempty"`
RefreshService []verifiable.TypedID `bson:"refreshService,omitempty" json:"refreshService,omitempty"`
}
type OrganizationVCResponse ¶
type OrganizationVCResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []OrganizationVC `bson:"data,omitempty" json:"data,omitempty"`
}
type OrganizationVP ¶
type OrganizationVP struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
Type []string `bson:"type,omitempty" json:"type,omitempty"`
VerifiableCredentials []OrganizationVC `bson:"verifiableCredential,omitempty" json:"verifiableCredential,omitempty"`
Holder string `bson:"holder,omitempty" json:"holder,omitempty"`
ListOfProof []proof.Proof `bson:"proof,omitempty" json:"proof,omitempty"`
}
type Participant ¶ added in v1.1.45
type Participant struct {
ParticipantId string `json:"participantId" bson:"participantId"`
ParticipantType int `json:"participantType" bson:"participantType"`
ReadStatus string `json:"readStatus,omitempty" bson:"readStatus,omitempty"`
// ActivePermissions *[]PermissionsUHC `json:"activePermissions" bson:"activePermissions"`
AccessCode string `json:"accessCode" bson:"accessCode"`
Active *bool `json:"active" bson:"active"`
// PendingPermissionsRequest *[]PermissionsRequestUHC `json:"requestedPendingPermissions" bson:"requestedPendingPermissions"`
ActiveUntil *time.Time `json:"activeUntil" bson:"activeUntil"`
Goal string `json:"goal" bson:"goal"`
// PermissionsRequested *[]PermissionsUHC `json:"permissionsRequested" bson:"permissionsRequested"`
Scopes []string `json:"scopes" bson:"scopes"` // granular access rights for scpecific data, e.g., IPS sections
}
type PatientDonorIdentityPlain ¶ added in v1.1.32
type PatientDonorIdentityPlain struct {
Active bool `bson:"active,omitempty" json:"active,omitempty"` // Current patient identity or not
Address AddressPlain `bson:",inline"` // Patient.address home
Birth BirthPlain `bson:",inline"` // FHIR date (not datetime), e.g. "1978-12-30"
ExtensionBirthPlaceAddress ExtensionBirthPlaceAddress `bson:",inline"` // FHIR birthPlace is a FHIR patient's extension required for VCs
ExtensionNationalityCode string `bson:"extensionNationalityCode,omitempty" json:"extensionNationalityCode,omitempty"` // ISO 3166 Part 1 Numeric codes, but not 3-letter codes: http://hl7.org/fhir/ValueSet/iso3166-1-N
Gender string `bson:"gender,omitempty" json:"gender,omitempty"` // Official gender (it can be different to BirthSex or to patient's GenderIdentity)
Identifier IdentifierFullPlain `bson:",inline"` // Official identifier: type (e.g., 'NNESP'), value (e.g., 'DNInumber') and assigner (goverment)
Naming NamingPlainWithISO `bson:",inline"` // both Alphabetic, Abjad, Ideographic and Sylabic naming systems
Photo PhotoAttachmentPlain `bson:",inline"` // Patient.photo attachment
UniversalId string `bson:"universalId,omitempty" json:"universalId,omitempty"` // internal identifier (FHIR Patient.id = identityId)
}
OUTPUT: most of FHIR Patient properties as 'Sheet': it contains only one official identifier as identity; 'birthDate' must be copied from BirthPlain (certificate)
type PatientIdentityClaim ¶ added in v1.1.28
type PatientIdentityClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data PatientDonorIdentityPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
Patient = PatientRoot + PatientIdentityPlain + (destructured claims: Addresses, Contacts, Identifiers, Telecom)
type PatientTreeUHC ¶ added in v1.1.28
type PatientTreeUHC struct {
// PatientRoot PatientInfoUHC `bson:",inline"` // typescript: extends PatientRootUHC
AddressBillingPostalHome *AddressPlain `bson:"addressBillingPostalHome,omitempty" json:"addressBillingPostalHome,omitempty"` // Personal billing / postal address if different to the usual address
AddressSecondPhysicalHome *AddressPlain `bson:"addressSecondPhysicalHome,omitempty" json:"addressSecondPhysicalHome,omitempty"` // Second residence
AddressTempPhysicalHome *AddressPlain `bson:"addressTempPhysicalHome,omitempty" json:"addressTempPhysicalHome,omitempty"` // Temporary residence (e.g., vacation)
CommunicationLangCodesBCP47 []string `bson:"communicationLanguages,omitempty" json:"communicationLanguages,omitempty"` // BCP47 codes, the preferred order is the array order, e.g. '["es","en"]
ContactPersons *[]PersonalContactPlain `bson:"contactPersons,omitempty" json:"contactPersons,omitempty"`
ExtensionGenderIdentity string `bson:"extensionGenderIdentity,omitempty" json:"extensionGenderIdentity,omitempty"` // Extension Gender identity terminology https://www.hl7.org/fhir/valueset-gender-identity.html
InterpreterRequired bool `bson:"interpreterRequired,omitempty" json:"interpreterRequired,omitempty"` // extension http://hl7.org/fhir/StructureDefinition/-interpreterRequired
EmailAlternatives *[]TelecomPlain `bson:"emailAlternatives,omitempty" json:"emailAlternatives,omitempty"` // other verified email addresses (of the same user)
EmailMain TelecomPlain `bson:"emailMain,omitempty" json:"emailMain,omitempty"` // verified email address
MetaVcId string `bson:"metaVcId,omitempty" json:"metaVcId,omitempty"` // FHIR Patient.meta.version = certified version ID on blockchain (txId)
PatientIdentities []PatientDonorIdentityPlain `bson:"patientIdentit¡es,omitempty" json:"patientIdentities,omitempty"`
PhoneAlternatives *[]TelecomPlain `bson:"phoneAlternatives,omitempty" json:"phoneAlternatives,omitempty"` // verified phones on blockchain
PhoneMobile TelecomPlain `bson:"phoneMobile,omitempty" json:"phoneMobile,omitempty"` // verified mobile phone
}
OUTPUT data to create PatientTree and FHIR Patient
type Permission ¶ added in v1.1.66
type Permission struct {
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
OrgServiceIds []string `bson:"orgServiceIds,omitempty" json:"orgServiceIds,omitempty"`
OrganizationRole string `bson:"organizationRole,omitempty" json:"organizationRole,omitempty"`
RoleUHC string `bson:"roleUHC,omitempty" json:"roleUHC,omitempty"`
RolesSNOMED []string `bson:"rolesSNOMED,omitempty" json:"rolesSNOMED,omitempty"`
ConfirmedRole bool `bson:"confirmedRole" json:"confirmedRole"`
CreatedAt *time.Time `json:"createdAt" bson:"createdAt"`
}
TODO: deprecate OrganizationRole to RoleUHC, rename to UhcPermission
type PermissionUHCAccessRequest ¶
type PermissionUHCAccessRequest struct {
Permissions []PermissionsUHC `json:"permissions" bson:"permissions"`
Until time.Time `json:"until" bson:"until"`
}
type PermissionsRequestUHC ¶
type PermissionsRequestUHC struct {
ID string `json:"id" bson:"id"`
ConnectionId string `json:"connectionId" bson:"connectionId"`
PermissionsRequested *[]PermissionsUHC `json:"permissionsRequested" bson:"permissionsRequested"`
ActiveUntil *time.Time `json:"activeUntil" bson:"activeUntil"`
Goal string `json:"goal" bson:"goal"`
Status string `json:"status" bson:"status"`
}
type PermissionsUHC ¶
type PersonalContactPlain ¶ added in v1.1.24
type PersonalDataRegistrationRequest ¶ added in v1.1.38
type PersonalDataRegistrationRequest struct {
IndividualUserId string `bson:"individualUserId,omitempty" json:"individualUserId,omitempty"` // only for patients
PractitionerId string `bson:"practitionerId,omitempty" json:"practitionerId,omitempty"` // only for practitioners
BirthDate string `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
Gender string `bson:"gender,omitempty" json:"gender,omitempty"`
}
type PersonalTelecomSheet ¶ added in v1.1.78
type PersonalTelecomSheet struct {
TelecomPersonalContactsPlain `bson:",inline"`
TelecomBusinessContactsPlain `bson:",inline"`
}
type PersonalUserPreRegistrationRequest ¶ added in v1.1.66
type PersonalUserPreRegistrationRequest struct {
Invited bool `bson:"invited,omitempty" json:"invited,omitempty"` // It is true if the patient or practitioner has been invited and false if self registration
Email string `bson:"email,omitempty" json:"email,omitempty"`
Mobile string `bson:"mobile,omitempty" json:"mobile,omitempty"`
Mfa string `bson:"mfa,omitempty" json:"mfa,omitempty"` // MultiFactor Authentication: email or mobile
Permissions []Permission `bson:"permissions,omitempty" json:"permissions,omitempty"`
PreferredLanguage string `bson:"preferredLanguage,omitempty" json:"preferredLanguage,omitempty"`
IdentifierAssignerSystemTerritoryISO string `bson:"identifierAssignerSystemTerritoryISO,omitempty" json:"identifierAssignerSystemTerritoryISO,omitempty"` // ISO '3166-1' (for alfa-3 codes, e.g., 'ESP') or regional '3166-2:<alfa-2 code>' (e.g., '3166-2:US' for 'US-NY')
IdentifierAssignerValueTerritoryISO string `bson:"identifierAssignerValueTerritoryISO,omitempty" json:"identifierAssignerValueTerritoryISO,omitempty"` // e.g., 'ESP' or 'US-NY'
IdentifierTypeCodeHL7 string `bson:"identifierTypeCodeHL7,omitempty" json:"identifierTypeCodeHL7,omitempty"` // e.g., "DL" for a driver license or "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
Birthdate string `bson:"birthdate,omitempty" json:"birthdate,omitempty"`
GenderOfficial string `bson:"genderOfficial,omitempty" json:"genderOfficial,omitempty"`
GuardianshipUhcUserIds []string `bson:"guardianshipUhcUserIds,omitempty" json:"guardianshipUhcUserIds,omitempty"` // only for dependant users (e.g.: child, older people)
GuardianshipDocumentsVcIds string `bson:"guardianshipDocumentsVcIds,omitempty" json:"guardianshipDocumentsVcIds,omitempty"`
}
OrganizationPermission includes AppId, AppOrganizationId, AppRoleUHC
type PhotoAttachmentPlain ¶ added in v1.1.24
type PhotoAttachmentPlain struct {
PhotoBase64Data string `bson:"photoBase64Data,omitempty" json:"photoBase64Data,omitempty"` // Data inline, base64ed
PhotoCreationDateTime string `bson:"photoCreationDateTime,omitempty" json:"photoCreationDateTime,omitempty"` // Date attachment was first created
PhotoMimeType string `bson:"photoMimeType,omitempty" json:"photoMimeType,omitempty"` // Mime type of the content, with charset etc.
PhotoSha1Base64 string `bson:"photoSha1Base64,omitempty" json:"photoSha1Base64,omitempty"` // Hash of the data (sha-1, base64ed)
PhotoSizeBytes int `bson:"photoSizeBytes,omitempty" json:"photoSizeBytes,omitempty"` // Number of bytes of content (if url provided)
PhotoTitle string `bson:"photoTitle,omitempty" json:"photoTitle,omitempty"` // Label to display in place of the data
PhotoUrl string `bson:"photoUrl,omitempty" json:"photoUrl,omitempty"` // Uri where the data can be found
}
type PractitionerRoleClaim ¶ added in v1.1.44
type PractitionerRoleClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data PractitionerRolePlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
Patient = PatientRoot + PatientIdentityPlain + (destructured claims: Addresses, Contacts, Identifiers, Telecom)
type PractitionerRolePlain ¶ added in v1.1.44
type PractitionerRolePlain struct {
Active bool `bson:"active,omitempty" json:"active,omitempty"` // Whether this practitioner role record is in active use
UniversalId string `bson:"universalId,omitempty" json:"universalId,omitempty"` // UUID v4 for this PractitionerRole
RoleCodesSNOMED []string `bson:"rolesSNOMED,omitempty" json:"rolesSNOMED,omitempty"` // SNOMED Roles which this practitioner may perform
EmailId string `bson:"emailId,omitempty" json:"emailId,omitempty"` // Contact details that are specific to the role/location/service
PhoneId string `bson:"phoneId,omitempty" json:"phoneId,omitempty"` // Contact details that are specific to the role/location/service
MobilePhoneId string `bson:"mobilePhoneId,omitempty" json:"mobilePhoneId,omitempty"` // Contact details that are specific to the role/location/service
PractitionerId string `bson:"practitionerId,omitempty" json:"practitionerId,omitempty"` // Practitioner that is able to provide the defined services for the organization
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"` // Organization where the roles are available
BussinessIdentifierIds []string `bson:"bussinessIdentifiersIndex,omitempty" json:"bussinessIdentifiersIndex,omitempty"` // Business Identifiers that are specific to a role/location
ValidFrom string `bson:"validFrom,omitempty" json:"validFrom,omitempty"` // The period during which the practitioner is authorized to perform in these role(s)
ValidUntil string `bson:"validUntil,omitempty" json:"validUntil,omitempty"` // The period during which the practitioner is authorized to perform in these role(s)
SpecialtyCodesHL7 []string `bson:"specialtiesHL7,omitempty" json:"specialtiesHL7,omitempty"` // Specific specialty of the practitioner: HL7 Practice Setting Code (Preferred)
LocationIds []string `bson:"locationsIndex,omitempty" json:"locationsIndex,omitempty"` // The location(s) ID(s) at which this practitioner provides care
OrganizationServiceIds []string `bson:"servicesIndex,omitempty" json:"servicesIndex,omitempty"` // The list of bussiness services (healthcare services) that this worker provides for this role's Organization/Location(s)
}
type Preferences ¶ added in v1.1.24
type Preferences struct {
PreferredLanguage string `bson:"preferredLanguage,omitempty" json:"preferredLanguage,omitempty"`
CurrentAddressId string `bson:"currentAddressId,omitempty" json:"currentAddressId,omitempty"` // Current selected address in preferences
CurrentIdentityId string `bson:"currentIdentityId,omitempty" json:"currentIdentityId,omitempty"` // Current selected official identity in preferences
}
type PresentationWithBundleInVC ¶ added in v1.0.77
type PresentationWithBundleInVC struct {
Context []string `json:"@context,omitempty"`
ID string `json:"id,omitempty" bson:"id,omitempty"`
Type []string `json:"type,omitempty" bson:"type,omitempty"`
Holder string `json:"holder,omitempty" bson:"holder,omitempty"`
Proof []proof.Proof `json:"proof,omitempty" bson:"proof,omitempty"`
CustomFields CustomFields `json:"-" bson:"customFields,omitempty"` // All unmapped fields are put here.
Credential []CredentialFHIR `json:"verifiableCredential" bson:"verifiableCredential,omitempty"`
}
type ProfessionalPreRegistrationRequest ¶ added in v1.1.40
type ProfessionalPreRegistrationRequest struct {
Invited bool `bson:"invited,omitempty" json:"invited,omitempty"` // It is true if the patient or practitioner has been invited and false if self registration
Email string `bson:"email,omitempty" json:"email,omitempty"`
Mobile string `bson:"mobile,omitempty" json:"mobile,omitempty"`
Mfa string `bson:"mfa,omitempty" json:"mfa,omitempty"` // MultiFactor Authentication: email or mobile
Permissions []Permission `bson:"permissions,omitempty" json:"permissions,omitempty"`
PreferredLanguage string `bson:"preferredLanguage,omitempty" json:"preferredLanguage,omitempty"`
IdentifierAssignerSystemTerritoryISO string `bson:"identifierAssignerSystemTerritoryISO,omitempty" json:"identifierAssignerSystemTerritoryISO,omitempty"` // ISO '3166-1' (for alfa-3 codes, e.g., 'ESP') or regional '3166-2:<alfa-2 code>' (e.g., '3166-2:US' for 'US-NY')
IdentifierAssignerValueTerritoryISO string `bson:"identifierAssignerValueTerritoryISO,omitempty" json:"identifierAssignerValueTerritoryISO,omitempty"` // e.g., 'ESP' or 'US-NY'
IdentifierTypeCodeHL7 string `bson:"identifierTypeCodeHL7,omitempty" json:"identifierTypeCodeHL7,omitempty"` // e.g., "DL" for a driver license or "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
IdentifierValue string `bson:"identifierValue,omitempty" json:"identifierValue,omitempty"` // The unique value in the responsible entity, e.g.: unique identifier value of a National Identity Document
Birthdate string `bson:"birthdate,omitempty" json:"birthdate,omitempty"`
GenderOfficial string `bson:"genderOfficial,omitempty" json:"genderOfficial,omitempty"`
LinkedToUhcUserId string `bson:"linkedToUhcUserId,omitempty" json:"linkedToUhcUserId,omitempty"` // only for professionals
LocationIds []string `bson:"locationIds,omitempty" json:"locationIds,omitempty"`
SpecialtyCodesHL7 []string `bson:"specialtyCodesHL7,omitempty" json:"specialtyCodesHL7,omitempty"`
ValidUntil string `bson:"validUntil,omitempty" json:"validUntil,omitempty"` // role expiration datetime
}
type Proof ¶ added in v1.1.28
type Proof struct {
CapabilityChain []interface{} `bson:"capabilityChain,omitempty" json:"capabilityChain,omitempty"` // typescript string[]
Challenge string `bson:"challenge,omitempty" json:"challenge,omitempty"` // e.g. "d1b23d3...3d23d32d2",
Created string `bson:"created,omitempty" json:"created,omitempty"` // ISO 8601, e.g. "2019-08-13T15:09:00+01:00" (in Aries go framework use *util.TimeWithTrailingZeroMsec instead of time.Time)
Creator string `bson:"creator,omitempty" json:"creator,omitempty"`
Domain string `bson:"domain,omitempty" json:"domain,omitempty"` // "https://example.com"
Id string `bson:"id,omitempty" json:"id,omitempty"`
Jws string `bson:"jws,omitempty" json:"jws,omitempty"`
Nonce string `bson:"nonce,omitempty" json:"nonce,omitempty"` // base64
ProofPurpose string `bson:"proofPurpose,omitempty" json:"proofPurpose,omitempty"` // e.g. "assertionMethod" or "authentication"
ProofValue string `bson:"proofValue,omitempty" json:"proofValue,omitempty"` // base64
Signature string `bson:"signature,omitempty" json:"signatureValue,omitempty"` // if "BbsBlsSignature2020"
SignatureValue string `bson:"signatureValue,omitempty" json:"signature,omitempty"` // Jcs2020
RequiredRevealStatements string `bson:"requiredRevealStatements,omitempty" json:"requiredRevealStatements,omitempty"` // if "BbsBlsSignature2020", e.g.: [0,1]
Type string `bson:"type,omitempty" json:"type,omitempty"` // "Ed25519Signature2018", "BbsBlsSignature2020", "BbsBlsSignatureProof2020",
VerificationMethod string `bson:"verificationMethod,omitempty" json:"verificationMethod,omitempty"` // e.g. "https://w3id.org/people/dave/keys/2" or "did:example:489398593#test",
}
type ProviderIdentifier ¶ added in v1.1.78
type ProviderIdentifier struct {
ProviderIdentifierAssignerDisplay string `bson:"providerIdentifierAssignerDisplay,omitempty" json:"providerIdentifierAssignerDisplay,omitempty"` // Organization that issued ID, e.g. "Goverment of Country" or "Laboratory Company"
ProviderIdentifierAssignerIdentitySystem string `bson:"providerIdentifierAssignerIdentitySystem,omitempty" json:"providerIdentifierAssignerIdentitySystem,omitempty"` // Namespace for the identifier value, e.g. "urn:ietf:rfc:3986" or "1.3.6.1.4.1.19126.3" (Spanish Tax ID number)
ProviderIdentifierAssignerIdentityValue string `bson:"providerIdentifierAssignerIdentityValue,omitempty" json:"providerIdentifierAssignerIdentityValue,omitempty"` // The value that is unique, e.g. "urn:oid:<oid>", "urn:uuid:<uuid>","urn:did:<did>" or Tax ID number of the assigner organization
ProviderIdentifierAssignerReferenceURI string `bson:"providerIdentifierAssignerReferenceURI,omitempty" json:"providerIdentifierAssignerReferenceURI,omitempty"` // A FHIR Reference.reference value, e.g. "Organization/<uuid>"
ProviderIdentifierAssignerType string `bson:"providerIdentifierAssignerType,omitempty" json:"providerIdentifierAssignerType,omitempty"` // A FHIR Resource type, e.g. "Organization"
ProviderIdentifierTypeConceptCustomText string `bson:"providerIdentifierTypeConceptCustomText,omitempty" json:"providerIdentifierTypeConceptCustomText,omitempty"` // Text in the original language, e.g. "Documento Nacional de Identidad"
ProviderIdentifierConceptDisplay string `bson:"providerIdentifierConceptDisplay,omitempty" json:"providerIdentifierConceptDisplay,omitempty"` // Internationally standarized descriptive text in english, e.g. "Tax ID Number"
ProviderIdentifierConceptSystem string `bson:"providerIdentifierConceptSystem,omitempty" json:"providerIdentifierConceptSystem,omitempty"` // Namespace for the code, e.g. "http://terminology.hl7.org/CodeSystem/v2-0203"
ProviderIdentifierTypeType string `bson:"providerIdentifierTypeType,omitempty" json:"providerIdentifierTypeType,omitempty"` // Symbol in syntax defined by the system, e.g. "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
ProviderIdentifierConceptUserSelected bool `bson:"providerIdentifierConceptUserSelected,omitempty" json:"providerIdentifierConceptUserSelected,omitempty"` // If this coding was chosen directly by the user
ProviderIdentifierConceptVersion string `bson:"providerIdentifierConceptVersion,omitempty" json:"providerIdentifierConceptVersion,omitempty"` // Version of the system - if relevant
ProviderIdentifierValidUntil string `bson:"providerIdentifierValidUntil,omitempty" json:"providerIdentifierValidUntil,omitempty"` // Ending time when the identifier is/was valid for use
ProviderIdentifierValidFrom string `bson:"providerIdentifierValidFrom,omitempty" json:"providerIdentifierValidFrom,omitempty"` // Starting time when the identifier is/was valid for use
ProviderIdentifierSystem string `bson:"providerIdentifierSystem,omitempty" json:"providerIdentifierSystem,omitempty"` // The namespace for the identifier value, e.g. 1.3.6.1.4.1.19126.3 for spanish NIF / DNI (Tax ID number)
ProviderIdentifierUse fhir4.IdentifierUse `bson:"providerIdentifierUse,omitempty" json:"providerIdentifierUse,omitempty"` // "official", "usual", "secondary", "temp" or "old"
ProviderIdentifierValue string `bson:"providerIdentifierValue,omitempty" json:"providerIdentifierValue,omitempty"` // The value that is unique, e.g. the identifier value of the National Identity Document
}
providerIdentifier to be used only when literal reference string is not known
type ProviderReferencePlain ¶ added in v1.1.78
type ProviderReferencePlain struct {
ProviderIdentifier `bson:",inline"`
ProviderReferenceDisplay string `bson:"providerReferenceDisplay,omitempty" json:"providerReferenceDisplay,omitempty"` // International alternative text for the resource
ProviderReferenceURI string `bson:"providerReferenceURI,omitempty" json:"providerReferenceURI,omitempty"` // Literal reference: relative, internal or absolute URL
ProviderReferenceType string `bson:"providerReferenceType,omitempty" json:"providerReferenceType,omitempty"` // Type the reference refers to
}
type PublicInfoFromActiveKey ¶
type PublicInfoFromActiveKey struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
Tag string `bson:"tag,omitempty" json:"tag,omitempty"`
OwnerUserId string `bson:"ownerUserId,omitempty" json:"ownerUserId,omitempty"`
PublicKeyBase64 string `bson:"publicKeyBase64,omitempty" json:"publicKeyBase64,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
}
type PublicInfoFromKeyResponse ¶
type PublicInfoFromKeyResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []PublicInfoFromActiveKey `bson:"data,omitempty" json:"data,omitempty"`
}
type PushTokensUHCResponse ¶
type PushTokensUHCResponse struct {
Code int `json:"code,omitempty" bson:"code,omitempty"`
Message string `json:"message,omitempty" bson:"message,omitempty"`
DataResponse []UserTokensUHC `json:"data,omitempty" bson:"data,omitempty"`
Count int64 `json:"count,omitempty" bson:"count,omitempty"`
}
type QualificationClaim ¶ added in v1.1.31
type QualificationClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data QualificationPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type QualificationPlain ¶ added in v1.1.24
type QualificationPlain struct {
IdentifierPlain IdentifierFullPlain `bson:",inline"`
IssuerReferenceDisplay string `bson:"issuerReferenceDisplay,omitempty" json:"issuerReferenceDisplay,omitempty"` // International alternative text for the resource
IssuerReferenceType string `bson:"issuerReferenceType,omitempty" json:"issuerReferenceType,omitempty"` // Type the reference refers to (e.g. "Organization")
IssuerReferenceURI string `bson:"issuerReferenceURI,omitempty" json:"issuerReferenceURI,omitempty"` // Literal reference: universal or relative (e.g., urn:uuid:<uuid> or "Organization/<uuid>")
IssuerReferenceIdentifierSystem string `bson:"issuerReferenceIdentifierSystem,omitempty" json:"issuerReferenceIdentifierSystem,omitempty"` // The namespace for the identifier value, e.g. IANA or UNID URN or OID
IssuerReferenceIdentifierUse string `bson:"issuerReferenceIdentifierUse,omitempty" json:"issuerReferenceIdentifierUse,omitempty"` // "official", "usual", "secondary", "temp" or "old"
IssuerReferenceIdentifierValue string `bson:"issuerReferenceIdentifierValue,omitempty" json:"issuerReferenceIdentifierValue,omitempty"` // The value that is unique (e.g., the OID value for the issuer organization)
QualificationHl7CustomText string `bson:"qualificationHl7CustomText,omitempty" json:"qualificationHl7CustomText,omitempty"` // Text in the original language
QualificationHl7TypeCode string `bson:"qualificationHl7TypeCode,omitempty" json:"qualificationHl7TypeCode,omitempty"` // Symbol in syntax defined by the system
QualificationHl7TypeDisplay string `bson:"qualificationHl7TypeDisplay,omitempty" json:"qualificationHl7TypeDisplay,omitempty"` // Internationally standarized descriptive text of the code in english
QualificationHl7TypeSystem string `bson:"qualificationHl7TypeSystem,omitempty" json:"qualificationHl7TypeSystem,omitempty"` // Namespace for the code
QualificationHl7TypeUserSelected bool `bson:"qualificationHl7TypeUserSelected,omitempty" json:"qualificationHl7TypeUserSelected,omitempty"` // If this coding was chosen directly by the user, so validated or not
QualificationHl7TypeVersion string `bson:"qualificationHl7TypeVersion,omitempty" json:"qualificationHl7TypeVersion,omitempty"` // Version of the system - if relevant
QualificationUniversalId string `bson:"qualificationUniversalId,omitempty" json:"qualificationUniversalId,omitempty"`
QualificationValidFrom string `bson:"qualificationValidFrom,omitempty" json:"qualificationValidFrom,omitempty"`
QualificationValidUntil string `bson:"qualificationValidUntil,omitempty" json:"qualificationValidUntil,omitempty"`
}
type ReferenceBasicPlain ¶ added in v1.1.78
type ReferenceBasicPlain struct {
ReferenceDisplay string `bson:"referenceDisplay,omitempty" json:"referenceDisplay,omitempty"` // International alternative text for the resource
ReferenceURI string `bson:"referenceURI,omitempty" json:"referenceURI,omitempty"` // Literal reference: universal or relative (e.g., urn:uuid:<uuid> or "Patient/<uuid>")
ReferenceType string `bson:"referenceType,omitempty" json:"referenceType,omitempty"` // Type the reference refers to (e.g. "Patient")
}
type ReferenceIdentifierAssignerBasic ¶ added in v1.1.78
type ReferenceIdentifierAssignerBasic struct {
ReferenceIdentifierAssignerDisplay string `bson:"referenceIdentifierAssignerDisplay,omitempty" json:"referenceIdentifierAssignerDisplay,omitempty"` // Organization that issued ID, e.g. "Goverment of Country" or "Laboratory Company"
ReferenceIdentifierAssignerIdentitySystem string `bson:"referenceIdentifierAssignerIdentitySystem,omitempty" json:"referenceIdentifierAssignerIdentitySystem,omitempty"` // Namespace for the identifier value, e.g. "urn:ietf:rfc:3986" or "1.3.6.1.4.1.19126.3" (Spanish Tax ID number)
ReferenceIdentifierAssignerIdentityValue string `bson:"referenceIdentifierAssignerIdentityValue,omitempty" json:"referenceIdentifierAssignerIdentityValue,omitempty"` // The value that is unique, e.g. "urn:oid:<oid>", "urn:uuid:<uuid>","urn:did:<did>" or Tax ID number of the assigner organization
ReferenceIdentifierAssignerReferenceURI string `bson:"referenceIdentifierAssignerReferenceURI,omitempty" json:"referenceIdentifierAssignerReferenceURI,omitempty"` // A FHIR Reference.reference value, e.g. "Organization/<uuid>"
ReferenceIdentifierAssignerType string `bson:"referenceIdentifierAssignerType,omitempty" json:"referenceIdentifierAssignerType,omitempty"` // A FHIR Resource type, e.g. "Organization"
}
'ReferenceIdentifierAssigner' is a FHIR 'Reference' within a FHIR 'Identifier' of a main FHIR 'Reference'...
type ReferenceIdentifierConceptPlain ¶ added in v1.1.78
type ReferenceIdentifierConceptPlain struct {
ReferenceIdentifierConceptCustomText string `bson:"referenceIdentifierConceptCustomText,omitempty" json:"referenceIdentifierConceptCustomText,omitempty"` // Text in the original language, e.g. "Documento Nacional de Identidad"
ReferenceIdentifierConceptCode string `bson:"referenceIdentifierConceptCode,omitempty" json:"referenceIdentifierConceptCode,omitempty"` // Symbol in syntax defined by the system, e.g. "NNESP" for the Spanish National Identity Document / Spanish Tax ID Number
ReferenceIdentifierConceptDisplay string `bson:"referenceIdentifierConceptDisplay,omitempty" json:"referenceIdentifierConceptDisplay,omitempty"` // Internationally standarized descriptive text in english, e.g. "Tax ID Number"
ReferenceIdentifierConceptSystem string `bson:"referenceIdentifierConceptSystem,omitempty" json:"referenceIdentifierConceptSystem,omitempty"` // Namespace for the code, e.g. "http://terminology.hl7.org/CodeSystem/v2-0203"
ReferenceIdentifierConceptVersion string `bson:"referenceIdentifierConceptVersion,omitempty" json:"referenceIdentifierConceptVersion,omitempty"` // Version of the system - if relevant
ReferenceIdentifierConceptUserSelected bool `bson:"referenceIdentifierConceptUserSelected,omitempty" json:"referenceIdentifierConceptUserSelected,omitempty"` // If this coding was chosen directly by the user
}
type ReferenceIdentifierPlain ¶ added in v1.1.78
type ReferenceIdentifierPlain struct {
ReferenceIdentifierAssignerBasic `bson:",inline"`
ReferenceIdentifierConceptPlain `bson:",inline"`
ReferenceIdentifierValidUntil string `bson:"referenceIdentifierValidUntil,omitempty" json:"referenceIdentifierValidUntil,omitempty"` // Ending time when the identifier is/was valid for use
ReferenceIdentifierValidFrom string `bson:"referenceIdentifierValidFrom,omitempty" json:"referenceIdentifierValidFrom,omitempty"` // Starting time when the identifier is/was valid for use
ReferenceIdentifierSystem string `bson:"referenceIdentifierSystem,omitempty" json:"referenceIdentifierSystem,omitempty"` // The namespace for the identifier value, e.g. 1.3.6.1.4.1.19126.3 for spanish NIF / DNI (Tax ID number)
ReferenceIdentifierUse fhir4.IdentifierUse `bson:"referenceIdentifierUse,omitempty" json:"referenceIdentifierUse,omitempty"` // "official", "usual", "secondary", "temp" or "old"
ReferenceIdentifierValue string `bson:"referenceIdentifierValue,omitempty" json:"referenceIdentifierValue,omitempty"` // The value that is unique, e.g. the identifier value of the National Identity Document
}
type ReferencePlain ¶ added in v1.1.78
type ReferencePlain struct {
ReferenceBasicPlain `bson:",inline"`
ReferenceIdentifierPlain `bson:",inline"`
}
Rule: Reference.identifier SHALL be used only when the URI ('referenceURI') is unknown (e.g.: 'Manufacturer/<uuid>') Reference.Identifier.Type is a FHIR CodeableConcept and it is named 'referenceIdentifierConcept' in CredentialsUHC Reference.Identifier.Type.Text is named 'referenceIdentifierConceptCustomText' in CredentialsUHC
type SharedKeyCreationRequest ¶
type SharedKeyCreationRequest struct {
}
type SharedKeyResponse ¶
type SharedKeyResponse struct {
}
type SpecialtyConceptPlain ¶ added in v1.1.78
type SpecialtyConceptPlain struct {
SpecialtyConceptCustomText string `bson:"specialtyConceptCustomText,omitempty" json:"specialtyConceptCustomText,omitempty"` // Text in the original language
SpecialtyConceptCode string `bson:"specialtyConceptCode,omitempty" json:"specialtyConceptCode,omitempty"` // Symbol in syntax defined by the system
SpecialtyConceptDisplay string `bson:"specialtyConceptDisplay,omitempty" json:"specialtyConceptDisplay,omitempty"` // Internationally standarized descriptive text of the code in english
SpecialtyConceptSystem string `bson:"specialtyConceptSystem,omitempty" json:"specialtyConceptSystem,omitempty"` // Namespace for the code
SpecialtyConceptVersion string `bson:"specialtyConceptVersion,omitempty" json:"specialtyConceptVersion,omitempty"` // Version of the system - if relevant
SpecialtyConceptUserSelected bool `bson:"specialtyConceptUserSelected,omitempty" json:"specialtyConceptUserSelected,omitempty"` // If this coding was chosen directly by the user
}
type TelecomBusinessContactsPlain ¶ added in v1.1.78
type TelecomBusinessContactsPlain struct {
ContactWorkEmails []string `bson:"contactWorkEmails,omitempty" json:"contactWorkEmails,omitempty"`
ContactWorkPhones []string `bson:"contactWorkPhones,omitempty" json:"contactWorkPhones,omitempty"`
ContactWorkURLs []string `bson:"contactWorkURLs,omitempty" json:"contactWorkURLs,omitempty"`
}
type TelecomContactBasicPlain ¶ added in v1.1.78
type TelecomContactBasicPlain struct {
Use fhir4.ContactPointUse `bson:"use,omitempty" json:"use,omitempty"` // home | work | temp | old | mobile
ValidFrom string `bson:"validFrom,omitempty" json:"validFrom,omitempty"` // Starting period when the contact point was/is in use
ValidUntil string `bson:"validUntil,omitempty" json:"validUntil,omitempty"` // Ending period when the contact point was/is in use
Value string `bson:"value,omitempty" json:"value,omitempty"` // The actual contact point details (email, phone number, url etc.)
}
to be used as a defined contact phone, contact email, etc. (so 'system' is not needed)
type TelecomContactFullPlain ¶ added in v1.1.78
type TelecomContactFullPlain struct {
TelecomContactBasicPlain `bson:",inline"`
Rank int `bson:"rank,omitempty" json:"rank,omitempty"` // positiveInt Specify preferred order of use (1 = highest)
System fhir4.ContactPointSystem `bson:"system,omitempty" json:"system,omitempty"` // phone | fax | email | pager | url | sms | other
}
used in LocationTreeUHC
type TelecomContactPointClaim ¶ added in v1.1.28
type TelecomContactPointClaim struct {
Context []string `bson:"@context,omitempty" json:"@context,omitempty"`
Digest Digest `bson:"digest,omitempty" json:"digest,omitempty"`
Data TelecomPlain `bson:"data,omitempty" json:"data,omitempty"`
Holder Holder `bson:"holder,omitempty" json:"holder,omitempty"`
Id string `bson:"id,omitempty" json:"id,omitempty"` // version of the blockchain certified Data
Proofs []Proof `bson:"proof,omitempty" json:"proof,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type TelecomFullPlain ¶ added in v1.1.33
type TelecomFullPlain struct {
Rank int `bson:"rank,omitempty" json:"rank,omitempty"` // positiveInt Specify preferred order of use (1 = highest)
System string `bson:"system,omitempty" json:"system,omitempty"` // phone | fax | email | pager | url | sms | other
UniversalId string `bson:"universalId,omitempty" json:"universalId,omitempty"` // internal storage ID of the data resource
Use string `bson:"use,omitempty" json:"use,omitempty"` // home | work | temp | old | mobile
ValidFrom string `bson:"validFrom,omitempty" json:"validFrom,omitempty"` // Starting period when the contact point was/is in use
ValidUntil string `bson:"validUntil,omitempty" json:"validUntil,omitempty"` // Ending period when the contact point was/is in use
Value string `bson:"value,omitempty" json:"value,omitempty"` // The actual contact point details (email, phone number, url etc.)
}
used in LocationTreeUHC
type TelecomPersonalContactsPlain ¶ added in v1.1.78
type TelecomPersonalContactsPlain struct {
ContactHomeEmails []string `bson:"contactHomeEmails,omitempty" json:"contactHomeEmails,omitempty"`
ContactHomePhones []string `bson:"contactHomePhones,omitempty" json:"contactHomePhones,omitempty"`
MobilePhones []string `bson:"mobilePhones,omitempty" json:"mobilePhones,omitempty"`
// ContactWorkPhones []string `bson:"contactWorkPhones,omitempty" json:"contactWorkPhones,omitempty"`
ContactTempPhones []string `bson:"contactTempPhones,omitempty" json:"contactTempPhones,omitempty"`
}
type TelecomPlain ¶ added in v1.1.28
type TelecomPlain struct {
Rank int `bson:"rank,omitempty" json:"rank,omitempty"` // positiveInt Specify preferred order of use (1 = highest)
System string `bson:"system,omitempty" json:"system,omitempty"` // phone | fax | email | pager | url | sms | other
UniversalId string `bson:"universalId,omitempty" json:"universalId,omitempty"` // internal storage ID of the data resource
Use string `bson:"use,omitempty" json:"use,omitempty"` // home | work | temp | old | mobile
ValidFrom string `bson:"validFrom,omitempty" json:"validFrom,omitempty"` // Starting period when the contact point was/is in use
ValidUntil string `bson:"validUntil,omitempty" json:"validUntil,omitempty"` // Ending period when the contact point was/is in use
Value string `bson:"value,omitempty" json:"value,omitempty"` // The actual contact point details (email, phone number, url etc.)
}
for email and phone claims
type TermsAndConditions ¶
type TermsAndConditions struct {
Text string `bson:"text,omitempty" json:"text,omitempty"`
CreationDate time.Time `bson:"creationDate,omitempty" json:"creationDate,omitempty"`
Version string `bson:"version,omitempty" json:"version,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
ActiveVersion bool `bson:"activeVersion,omitempty" json:"activeVersion,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
}
type TermsAndConditionsResponse ¶
type TermsAndConditionsResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []TermsAndConditions `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
type TermsDocumentData ¶ added in v1.1.43
type TermsDocumentData struct {
// ControlNumber int `json:"controlNumber,omitempty" bson:"controlNumber,omitempty"` // a counter, distinct for every certified and published version of the documents
Url string `json:"url,omitempty" bson:"url,omitempty"` // The URL includes the name of the document and it is also recommended to include the version for clarity
UrnId string `json:"urnId,omitempty" bson:"urnId,omitempty"` // Document's UUID included in the PDF document as urn:unid:uhc:uuid:<uuid>
UrnVcId string `json:"urnVcId,omitempty" bson:"urnVcId,omitempty"` // Certified version ID of the document being accepted as urn:unid:uhc:vcid:<vcId>
}
type ThreadSearchRequest ¶ added in v1.1.67
type ThreadSearchRequest struct {
ConnectionId string `bson:"connectionId,omitempty" json:"connectionId,omitempty"`
Limit string `bson:"limit,omitempty" json:"limit,omitempty"`
Skip string `bson:"skip,omitempty" json:"skip,omitempty"`
DateFrom string `bson:"dateFrom,omitempty" json:"dateFrom,omitempty"` //layout := "2006-01-02T15:04:05.000Z"
DateTo string `bson:"dateTo,omitempty" json:"dateTo,omitempty"`
}
type ThreadUHC ¶ added in v1.1.30
type ThreadUHC struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
PID *string `bson:"pid,omitempty" json:"pid,omitempty"`
ConnectionId string `bson:"connectionID,omitempty" json:"connectionID,omitempty"` // ConnectionUhcId
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
GoalCode string `bson:"goalCode,omitempty" json:"goalCode,omitempty"`
}
PID is the parent thread Id (not the invitation Id because of can be several invitation to participants in a same connection in UHC)
type ThreadUHCResponse ¶ added in v1.1.64
type Token ¶
type Token struct {
jwt.StandardClaims
Username string `json:"username,omitempty"` // deprecate
UserId string `json:"userId,omitempty"`
OrganizationPermission []OrganizationPermission `json:"organizationPermission,omitempty"`
Role []string `json:"role,omitempty"`
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
}
TODO: deprecate
type UHCPayload ¶
type User ¶
type User struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
Email string `bson:"email,omitempty" json:"email,omitempty"`
Password string `bson:"password,omitempty" json:"password,omitempty"`
Token string `bson:"token,omitempty" json:"token,omitempty"`
RefreshToken string `bson:"refreshToken,omitempty" json:"refreshToken,omitempty"`
InvitedUser bool `bson:"invitedUser,omitempty" json:"invitedUser,omitempty"`
FirstName string `bson:"firstName,omitempty" json:"firstName,omitempty"`
LastName string `bson:"lastName,omitempty" json:"lastName,omitempty"`
PreferredLanguage string `bson:"preferredLanguage,omitempty" json:"preferredLanguage,omitempty"`
ConfirmationAccountToken *string `bson:"confirmationAccountToken" json:"confirmationAccountToken"`
ConfirmationAccountAttempts int `bson:"confirmationAccountAttempts" json:"confirmationAccountAttempts"`
ConfirmedAccount bool `bson:"confirmedAccount,omitempty" json:"confirmedAccount,omitempty"`
RecoverAccountToken *string `bson:"recoverAccountToken" json:"recoverAccountToken"`
RecoverAccountAttempts int `bson:"recoverAccountAttempts" json:"recoverAccountAttempts"`
ImplicitInvitationToken *string `bson:"implicitInvitationToken" json:"implicitInvitationToken"`
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
OrganizationId string `bson:"organizationId,omitempty" json:"organizationId,omitempty"`
OrgServiceIds []string `bson:"orgServiceIds,omitempty" json:"orgServiceIds,omitempty"`
RoleUHC string `bson:"roleUHC,omitempty" json:"roleUHC,omitempty"`
RolesSNOMED []string `bson:"rolesSNOMED,omitempty" json:"rolesSNOMED,omitempty"`
MothersFamilyName string `bson:"mothersFamilyName" json:"mothersFamilyName"`
Mobile string `bson:"mobile,omitempty" json:"mobile,omitempty"` // it SHALL be equal to a verified mobile when login
UserType string `bson:"userType" json:"userType"`
// deprecate
LogoUrl string `bson:"logoUrl,omitempty" json:"logoUrl,omitempty"`
Username string `bson:"username,omitempty" json:"username,omitempty"`
Role []string `bson:"role,omitempty" json:"role,omitempty"` // deprecate
OrganizationPermission []OrganizationPermission `bson:"organizationPermission,omitempty" json:"organizationPermission,omitempty"` // deprecate
OrgServicePermission []OrgServicePermission `bson:"orgServicePermission,omitempty" json:"orgServicePermission,omitempty"` // deprecate
OrganizationRole string `bson:"organizationRole,omitempty" json:"organizationRole,omitempty"` // deprecate
}
TODO: deprecate
type UserConfigUHC ¶
type UserConfigUHC struct {
Type string `json:"type,omitempty" bson:"type,omitempty"`
UhcID string `json:"uhcId,omitempty" bson:"uhcId,omitempty"`
BlockchainID string `json:"blockchainUserId,omitempty" bson:"blockchainUserId,omitempty"`
ExternalIDs []UserExternalID `json:"externalIds,omitempty" bson:"externalIds,omitempty"`
FavoriteLocationUHCIDs []string `json:"favoriteLocationUhcIds,omitempty" bson:"favoriteLocationUhcIds,omitempty"`
AcceptedTermsAndConditions []AcceptedTermsAndCondition `json:"acceptedTermsAndConditions,omitempty" bson:"acceptedTermsAndConditions,omitempty"`
Ratings []Rate `json:"ratings,omitempty" bson:"ratings,omitempty"`
UserContacts []UserContact `json:"userContacts,omitempty" bson:"userContacts,omitempty"`
}
type UserConfigUHCResponse ¶
type UserConfigUHCResponse struct {
Code int `json:"code,omitempty" bson:"code,omitempty"`
Message string `json:"message,omitempty" bson:"message,omitempty"`
DataResponse []UserConfigUHC `json:"data,omitempty" bson:"data,omitempty"`
Count int64 `json:"count,omitempty" bson:"count,omitempty"`
}
type UserContact ¶
type UserContactComplete ¶
type UserContactsResponse ¶
type UserContactsResponse struct {
Code int `json:"code,omitempty" bson:"code,omitempty"`
Message string `json:"message,omitempty" bson:"message,omitempty"`
DataResponse []UserContactComplete `json:"data,omitempty" bson:"data,omitempty"`
Count int64 `json:"count,omitempty" bson:"count,omitempty"`
}
type UserDeletionRequest ¶
type UserDeletionRequest struct {
ID string `bson:"id,omitempty" json:"id,omitempty"`
DeletionToken string `bson:"deletionToken,omitempty" json:"deletionToken,omitempty"`
Password string `bson:"password,omitempty" json:"password,omitempty"`
Email string `bson:"email,omitempty" json:"email,omitempty"`
// TODO: remove Username
Username string `bson:"username,omitempty" json:"username,omitempty"`
UserType string `bson:"userType,omitempty" json:"userType,omitempty"`
}
TODO: change Username to UserType
type UserExternalCreationRequest ¶
type UserExternalCreationRequest struct {
Email string `bson:"email,omitempty" json:"email,omitempty"`
PhoneNumber string `bson:"phoneNumber,omitempty" json:"phoneNumber,omitempty"`
IdentificationDocumentCode string `bson:"identificationDocumentCode,omitempty" json:"identificationDocumentCode,omitempty"`
IdentificationDocumentType string `bson:"identificationDocumentType,omitempty" json:"identificationDocumentType,omitempty"`
}
type UserExternalID ¶
type UserRegisterRequest ¶ added in v1.0.73
type UserRegisterRequest struct {
Username string `bson:"username,omitempty" json:"username,omitempty"`
FirstName string `bson:"firstName,omitempty" json:"firstName,omitempty"`
LastName string `bson:"lastName,omitempty" json:"lastName,omitempty"`
Email string `bson:"email,omitempty" json:"email,omitempty"`
AppId string `bson:"appId,omitempty" json:"appId,omitempty"`
LoginPassword string `bson:"loginPassword,omitempty" json:"loginPassword,omitempty"`
}
TODO: deprecate and remove
type UserRegisterV3ByUserRequest ¶ added in v1.0.95
type UserRegisterV3ByUserRequest struct {
Username string `json:"username,omitempty"`
FirstName string `json:"firstName,omitempty"`
LastName string `json:"lastName,omitempty"`
Email string `json:"email,omitempty"`
LoginPassword string `json:"loginPassword,omitempty"`
AppId string `json:"appId,omitempty"`
OrganizationId string `json:"organizationId,omitempty"`
OrganizationRole string `json:"organizationRole,omitempty"`
// added in version 1.1.50
RoleUHC string `json:"roleUHC,omitempty"`
RolesSNOMED string `json:"rolesSNOMED,omitempty"`
OrgServiceIds string `json:"orgServiceIds,omitempty"`
MothersFamilyName string `json:"mothersFamilyName,omitempty"`
Mobile string `json:"mobile,omitempty"`
Mfa string `json:"mfa,omitempty"` // MultiFactor Authentication: email or mobile
}
TODO: remove Username, use RoleUHC and RolesSNOMED
type UserResponse ¶
type UserResponse struct {
Code int `bson:"code,omitempty" json:"code,omitempty"`
Count int64 `bson:"count,omitempty" json:"count,omitempty"`
Message string `bson:"message,omitempty" json:"message,omitempty"`
Data []User `bson:"data,omitempty" json:"data,omitempty"`
Token Token `bson:"token,omitempty" json:"token,omitempty"`
}
func (*UserResponse) ReturnCustomResponse ¶
func (userResponse *UserResponse) ReturnCustomResponse(w http.ResponseWriter, code int, customCode int, customMessage string, data *[]User)
type UserTokensUHC ¶
type W3CPublicKeyExport ¶
type W3CPublicKeyExport struct {
IdWithDid string `bson:"id,omitempty" json:"id,omitempty"` // Identifier of this public key in the owner's blockchain DID document
Controller string `bson:"controller,omitempty" json:"controller,omitempty"` // didID already included in 'id'
Type string `bson:"type,omitempty" json:"type,omitempty"` // e.g.: "Ed25519VerificationKey2018"
Expires *time.Time `bson:"expires,omitempty" json:"expires,omitempty"`
Revoked *time.Time `bson:"revoked,omitempty" json:"revoked,omitempty"`
PublicKeyBase64 string `bson:"publicKeyBase64,omitempty" json:"publicKeyBase64,omitempty"`
Context []string `bson:"@context,omitempty" json:"@context,omitempty"` // "@context": ["https://w3id.org/security/v2"]
PublicKeyBase58 string `bson:"publicKeyBase58,omitempty" json:"publicKeyBase58,omitempty"` // standard
}
Standard expected properties: id (did#id), type, controller, publicKeyBase58 (https://w3c-ccg.github.io/security-vocab/)
type WalletKey ¶
type WalletKey struct {
AccessPassword string `bson:"accessPassword,omitempty" json:"accessPassword,omitempty"`
ID string `bson:"id,omitempty" json:"id,omitempty"`
ControllerDID string `bson:"did,omitempty" json:"did,omitempty"`
RecoverCode string `bson:"recoverCode,omitempty" json:"recoverCode,omitempty"`
OwnerId string `bson:"ownerId,omitempty" json:"ownerId,omitempty"`
OwnerType string `bson:"ownerType,omitempty" json:"ownerType,omitempty"`
Type string `bson:"type,omitempty" json:"type,omitempty"`
CreatedAt *time.Time `bson:"createdAt,omitempty" json:"createdAt,omitempty"`
UpdatedAt *time.Time `bson:"updatedAt,omitempty" json:"updatedAt,omitempty"`
ActiveEncryptionKeyId *string `bson:"activeEncryptionKey,omitempty" json:"activeEncryptionKey,omitempty"`
ActiveSigningKeyId *string `bson:"activeSingingKey,omitempty" json:"activeSingingKey,omitempty"`
MultifactorAuthCode *string `bson:"multifactorAuthCode,omitempty" json:"multifactorAuthCode,omitempty"`
MultifactorAuthCodeGenerationDate *time.Time `bson:"multifactorAuthCodeGenerationDate,omitempty" json:"multifactorAuthCodeGenerationDate,omitempty"`
}
OLD V1 BETA 1
type WalletKeyResponse ¶
Source Files
¶
- InvitationUhc.go
- apiDocumentReference.go
- apiImmunization.go
- apiParams.go
- authPersonalUser.go
- authToken.go
- baseDocumentReference.go
- biographyUHC.go
- commonModel.go
- connectionExternalCreationRequest.go
- connectionThreads.go
- connectionUhc.go
- credAddress.go
- credAttachment.go
- credBirth.go
- credConcept.go
- credContactPerson.go
- credContactPoint.go
- credIdentifier.go
- credMarital.go
- credNaming.go
- credOrganizationService.go
- credPatient.go
- credPractitionerRole.go
- credProof.go
- credReference.go
- device.go
- deviceUHC.go
- didDocument.go
- digestAndSignature.go
- document.go
- encryptedEhr.go
- encryptionRequest.go
- externalBase64MessageCreationRequest.go
- externalFhirMessageCreationRequest.go
- externalMessageCreationResult.go
- key.go
- messageUhc.go
- notificationUhc.go
- orgServiceUHC.go
- orgServiceUHCAccess.go
- orgServiceVerifiableCredential.go
- organizationUHC.go
- organizationUHCAccess.go
- organizationVerifiableCredential.go
- pushTokenUHC.go
- qualification.go
- response.go
- service.go
- sharedKey.go
- termsAndConditions.go
- userConfigUHC.go
- userCreationRequest.go
- users.go
- wallet.go