Documentation
¶
Index ¶
- Variables
- type BeneficiaryRelationship
- type Branch
- type BusinessPartner
- type CRMContact
- type ChangePINRequest
- type EmploymentType
- type FivePointRating
- type Identification
- type IndividualCoach
- type IndividualNutrition
- type IndividualPharmaceutical
- type IndividualPractitioner
- type IndividualRider
- type KYCProcessStatus
- type KYCRequest
- type Microservice
- type MicroserviceStatus
- type NHIFDetails
- type OrganizationCoach
- type OrganizationNutrition
- type OrganizationPharmaceutical
- type OrganizationPractitioner
- type OrganizationProvider
- type OrganizationRider
- type OrganizationType
- type PIN
- type PostVisitSurvey
- type PractitionerCadre
- type PractitionerService
- type SetPINRequest
- type SupportingDocument
- type ThinAddress
- type USSDLeadDetails
- type UserAddresses
Constants ¶
This section is empty.
Variables ¶
var (
// TimeLocation ...
TimeLocation, _ = time.LoadLocation("Africa/Nairobi")
// TimeFormatStr date time string format
TimeFormatStr = "2006-01-02T15:04:05+03:00"
// Repo the env to identify which repo to use
Repo = "REPOSITORY"
//FirebaseRepository is the value of the env when using firebase
FirebaseRepository = "firebase"
//PostgresRepository is the value of the env when using postgres
PostgresRepository = "postgres"
)
var AllBeneficiaryRelationship = []BeneficiaryRelationship{ BeneficiaryRelationshipSpouse, BeneficiaryRelationshipChild, }
AllBeneficiaryRelationship is a list of all known beneficiary relationships
var AllEmploymentType = []EmploymentType{ EmploymentTypeEmployed, EmploymentTypeSelfEmployed, }
AllEmploymentType ..
var AllFivePointRating = []FivePointRating{ FivePointRatingPoor, FivePointRatingUnsatisfactory, FivePointRatingAverage, FivePointRatingSatisfactory, FivePointRatingExcellent, }
AllFivePointRating is a list of all known ratings
var AllKYCProcessStatus = []KYCProcessStatus{ KYCProcessStatusApproved, KYCProcessStatusRejected, KYCProcessStatusPending, }
AllKYCProcessStatus ...
var AllOrganizationType = []OrganizationType{ OrganizationTypeLimitedCompany, OrganizationTypeTrust, OrganizationTypeUniversity, }
AllOrganizationType contains a slice of all OrganizationType
var AllPractitionerCadre = []PractitionerCadre{ PractitionerCadreDoctor, PractitionerCadreClinicalOfficer, PractitionerCadreNurse, }
AllPractitionerCadre is the set of known valid practitioner cadres
var AllPractitionerService = []PractitionerService{ PractitionerServiceOutpatientServices, PractitionerServiceInpatientServices, PractitionerServicePharmacy, PractitionerServiceMaternity, PractitionerServiceLabServices, PractitionerServiceOther, }
AllPractitionerService is a list of all known practitioner service
Functions ¶
This section is empty.
Types ¶
type BeneficiaryRelationship ¶
type BeneficiaryRelationship string
BeneficiaryRelationship defines the various relationships with beneficiaries
const ( BeneficiaryRelationshipSpouse BeneficiaryRelationship = "SPOUSE" BeneficiaryRelationshipChild BeneficiaryRelationship = "CHILD" )
BeneficiaryRelationshipSpouse is a constant of beneficiary spouse relationship
func (BeneficiaryRelationship) IsValid ¶
func (e BeneficiaryRelationship) IsValid() bool
IsValid returns true for valid beneficiary relationship
func (BeneficiaryRelationship) MarshalGQL ¶
func (e BeneficiaryRelationship) MarshalGQL(w io.Writer)
MarshalGQL converts the beneficiary relationship into a valid JSON string
func (BeneficiaryRelationship) String ¶
func (e BeneficiaryRelationship) String() string
func (*BeneficiaryRelationship) UnmarshalGQL ¶
func (e *BeneficiaryRelationship) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the input, if valid, into a beneficiary relationship value
type Branch ¶
type Branch struct { ID string `json:"id" firestore:"id"` Name string `json:"name" firestore:"name"` OrganizationSladeCode string `json:"organizationSladeCode" firestore:"organizationSladeCode"` BranchSladeCode string `json:"branchSladeCode" firestore:"branchSladeCode"` // this won' be saved in the repository. it will be computed when fetching the supplier's allowed locations Default bool `json:"default"` }
Branch represents a Slade 360 Charge Master branch
type BusinessPartner ¶
type BusinessPartner struct { ID string `json:"id" firestore:"id"` Name string `json:"name" firestore:"name"` SladeCode string `json:"slade_code" firestore:"sladeCode"` Parent *string `json:"parent" firestore:"parent"` }
BusinessPartner represents a Slade 360 Charge Master business partner
type CRMContact ¶
type CRMContact struct { FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` DOB string `json:"dob,omitempty"` PhoneNumber string `json:"phone_number,omitempty"` OptOut string `json:"opt_out,omitempty"` TimeStamp string `json:"time_stamp,omitempty"` IsSynced string `json:"is_synced,omitempty"` }
CRMContact represents a stored CRM contact
type ChangePINRequest ¶
type ChangePINRequest struct { PhoneNumber string `json:"phoneNumber"` PIN string `json:"pin"` OTP string `json:"otp"` }
ChangePINRequest payload to set or change PIN information
type EmploymentType ¶
type EmploymentType string
EmploymentType ...
const ( EmploymentTypeEmployed EmploymentType = "EMPLOYED" EmploymentTypeSelfEmployed EmploymentType = "SELF_EMPLOYED" )
EmploymentTypeEmployed ..
func (EmploymentType) String ¶
func (e EmploymentType) String() string
func (*EmploymentType) UnmarshalGQL ¶
func (e *EmploymentType) UnmarshalGQL(v interface{}) error
UnmarshalGQL ..
type FivePointRating ¶
type FivePointRating string
FivePointRating is used to implement
const ( FivePointRatingPoor FivePointRating = "POOR" FivePointRatingUnsatisfactory FivePointRating = "UNSATISFACTORY" FivePointRatingAverage FivePointRating = "AVERAGE" FivePointRatingSatisfactory FivePointRating = "SATISFACTORY" FivePointRatingExcellent FivePointRating = "EXCELLENT" )
known ratings
func (FivePointRating) IsValid ¶
func (e FivePointRating) IsValid() bool
IsValid returns true for valid ratings
func (FivePointRating) MarshalGQL ¶
func (e FivePointRating) MarshalGQL(w io.Writer)
MarshalGQL converts the rating into a valid JSON string
func (FivePointRating) String ¶
func (e FivePointRating) String() string
func (*FivePointRating) UnmarshalGQL ¶
func (e *FivePointRating) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the input, if valid, into a rating value
type Identification ¶
type Identification struct { IdentificationDocType enumutils.IdentificationDocType `json:"identificationDocType" mapstructure:"identificationDocType"` IdentificationDocNumber string `json:"identificationDocNumber" mapstructure:"identificationDocNumber"` IdentificationDocNumberUploadID string `json:"identificationDocNumberUploadID" mapstructure:"identificationDocNumberUploadID"` }
Identification identify model
type IndividualCoach ¶
type IndividualCoach struct { IdentificationDoc Identification `json:"identificationDoc" mapstructure:"identificationDoc"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` AccreditationID string `json:"accreditationID" mapstructure:"accreditationID"` AccreditationUploadID string `json:"accreditationUploadID" mapstructure:"accreditationUploadID"` }
IndividualCoach represents the KYC information required for an Individual Coach
type IndividualNutrition ¶
type IndividualNutrition struct { IdentificationDoc Identification `json:"identificationDoc" mapstructure:"identificationDoc"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` }
IndividualNutrition represents the KYC information required for an Individual Nutrition
type IndividualPharmaceutical ¶
type IndividualPharmaceutical struct { IdentificationDoc Identification `json:"identificationDoc" mapstructure:"identificationDoc"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` }
IndividualPharmaceutical represents the KYC information required for an Individual Pharmaceutical
type IndividualPractitioner ¶
type IndividualPractitioner struct { IdentificationDoc Identification `json:"identificationDoc" mapstructure:"identificationDoc"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` PracticeServices []PractitionerService `json:"practiceServices" mapstructure:"practiceServices"` Cadre PractitionerCadre `json:"cadre" mapstructure:"cadre"` }
IndividualPractitioner represents the KYC information required for an Individual Rider
type IndividualRider ¶
type IndividualRider struct { IdentificationDoc Identification `json:"identificationDoc" mapstructure:"identificationDoc"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` DrivingLicenseID string `json:"drivingLicenseID" mapstructure:"drivingLicenseID"` DrivingLicenseUploadID string `json:"drivingLicenseUploadID" mapstructure:"drivingLicenseUploadID"` CertificateGoodConductUploadID string `json:"certificateGoodConductUploadID" mapstructure:"certificateGoodConductUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` }
IndividualRider represents the KYC information required for an Individual Rider
type KYCProcessStatus ¶
type KYCProcessStatus string
KYCProcessStatus status for processing KYC for suppliers
const ( KYCProcessStatusApproved KYCProcessStatus = "APPROVED" KYCProcessStatusRejected KYCProcessStatus = "REJECTED" KYCProcessStatusPending KYCProcessStatus = "PENDING" )
Valid KYCProcessStatus
func (KYCProcessStatus) IsValid ¶
func (e KYCProcessStatus) IsValid() bool
IsValid checks if the KYCProcessStatus is valid
func (KYCProcessStatus) MarshalGQL ¶
func (e KYCProcessStatus) MarshalGQL(w io.Writer)
MarshalGQL converts KYCProcessStatus into a valid JSON string
func (KYCProcessStatus) String ¶
func (e KYCProcessStatus) String() string
func (*KYCProcessStatus) UnmarshalGQL ¶
func (e *KYCProcessStatus) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the input, if valid, into an KYCProcessStatus value
type KYCRequest ¶
type KYCRequest struct { ID string `json:"id" firestore:"id"` ReqPartnerType profileutils.PartnerType `json:"reqPartnerType" firestore:"reqPartnerType"` ReqOrganizationType OrganizationType `json:"reqOrganizationType" firestore:"reqOrganizationType"` ReqRaw map[string]interface{} `json:"reqRaw" firestore:"reqRaw"` Processed bool `json:"processed" firestore:"processed"` SupplierRecord *profileutils.Supplier `json:"supplierRecord" firestore:"supplierRecord"` Status KYCProcessStatus `json:"status" firestore:"status"` RejectionReason *string `json:"rejectionRejection" firestore:"rejectionRejection"` FiledTimestamp time.Time `json:"filedTimeStamp" firestore:"filedTimeStamp"` ProcessedTimestamp time.Time `json:"processedTimeStamp" firestore:"processedTimeStamp"` // points to the userProfile id of the addmin that has processed the KYC ProcessedBy string `json:"processedBy" firestore:"processedBy"` }
KYCRequest represent payload required to stage kyc processing request
type Microservice ¶
type Microservice struct { ID string `json:"id" firestore:"id"` Name string `json:"name" firestore:"name"` URL string `json:"url" firestore:"url"` Description string `json:"description" firestore:"description"` }
Microservice identifies a micro-service that conforms to the Apollo Graphqql federation specification. These microservices are composed by an Apollo Gateway into a single data graph.
func (*Microservice) GetID ¶
func (m *Microservice) GetID() firebasetools.ID
GetID returns the micro-service's ID
func (*Microservice) IsEntity ¶
func (m *Microservice) IsEntity()
IsEntity marks the struct as an Apollo Federation entity
func (*Microservice) IsNode ¶
func (m *Microservice) IsNode()
IsNode marks this model as a GraphQL Relay Node
func (*Microservice) SetID ¶
func (m *Microservice) SetID(id string)
SetID sets the microservice's ID
type MicroserviceStatus ¶
type MicroserviceStatus struct { Service *Microservice `json:"service"` Active bool `json:"active"` }
MicroserviceStatus denotes the status of a deployed microservice shows if the revision is serving HTTP request
type NHIFDetails ¶
type NHIFDetails struct { ID string `json:"id" firestore:"id"` ProfileID string `json:"profileID" firestore:"profileID"` MembershipNumber string `json:"membershipNumber" firestore:"membershipNumber"` Employment EmploymentType `json:"employmentType"` IDDocType enumutils.IdentificationDocType `json:"IDDocType"` IDNumber string `json:"IDNumber" firestore:"IDNumber"` IdentificationCardPhotoID string `json:"identificationCardPhotoID" firestore:"identificationCardPhotoID"` NHIFCardPhotoID string `json:"nhifCardPhotoID" firestore:"nhifCardPhotoID"` }
NHIFDetails represents a user's thin NHIF details
type OrganizationCoach ¶
type OrganizationCoach struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` }
OrganizationCoach represents the KYC information required for an Organization Coach
type OrganizationNutrition ¶
type OrganizationNutrition struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` }
OrganizationNutrition represents the KYC information required for an Organization Nutrition
type OrganizationPharmaceutical ¶
type OrganizationPharmaceutical struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` }
OrganizationPharmaceutical represents the KYC information required for an Organization Pharmaceutical
type OrganizationPractitioner ¶
type OrganizationPractitioner struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` PracticeServices []PractitionerService `json:"practiceServices" mapstructure:"practiceServices"` Cadre PractitionerCadre `json:"cadre" mapstructure:"cadre"` }
OrganizationPractitioner represents the KYC information required for an Organization Practitioner
type OrganizationProvider ¶
type OrganizationProvider struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` RegistrationNumber string `json:"registrationNumber" mapstructure:"registrationNumber"` PracticeLicenseID string `json:"practiceLicenseID" mapstructure:"practiceLicenseID"` PracticeLicenseUploadID string `json:"practiceLicenseUploadID" mapstructure:"practiceLicenseUploadID"` PracticeServices []PractitionerService `json:"practiceServices" mapstructure:"practiceServices"` }
OrganizationProvider represents the KYC information required for an Organization Provider
type OrganizationRider ¶
type OrganizationRider struct { OrganizationTypeName OrganizationType `json:"organizationTypeName" mapstructure:"organizationTypeName"` CertificateOfIncorporation string `json:"certificateOfIncorporation" mapstructure:"certificateOfIncorporation"` CertificateOfInCorporationUploadID string `json:"certificateOfInCorporationUploadID" mapstructure:"certificateOfInCorporationUploadID"` DirectorIdentifications []Identification `json:"directorIdentifications" mapstructure:"directorIdentifications"` OrganizationCertificate string `json:"organizationCertificate" mapstructure:"organizationCertificate"` KRAPIN string `json:"KRAPIN" mapstructure:"KRAPIN"` KRAPINUploadID string `json:"KRAPINUploadID" mapstructure:"KRAPINUploadID"` SupportingDocuments []SupportingDocument `json:"supportingDocuments" mapstructure:"supportingDocuments"` }
OrganizationRider represents the KYC information required for an Organization Rider
type OrganizationType ¶
type OrganizationType string
OrganizationType defines the various OrganizationTypes
const ( OrganizationTypeLimitedCompany OrganizationType = "LIMITED_COMPANY" OrganizationTypeTrust OrganizationType = "TRUST" OrganizationTypeUniversity OrganizationType = "UNIVERSITY" )
OrganizationTypeLimitedCompany is an example of a OrganizationType
func (OrganizationType) IsValid ¶
func (e OrganizationType) IsValid() bool
IsValid checks if the OrganizationType is valid
func (OrganizationType) MarshalGQL ¶
func (e OrganizationType) MarshalGQL(w io.Writer)
MarshalGQL converts OrganizationType into a valid JSON string
func (OrganizationType) String ¶
func (e OrganizationType) String() string
func (*OrganizationType) UnmarshalGQL ¶
func (e *OrganizationType) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the input, if valid, into an OrganizationType value
type PIN ¶
type PIN struct { ID string `json:"id" firestore:"id"` ProfileID string `json:"profileID" firestore:"profileID"` PINNumber string `json:"pinNumber" firestore:"pinNumber"` Salt string `json:"salt" firestore:"salt"` // Flags the PIN as temporary and should be changed by user IsOTP bool `json:"isOTP" firestore:"isOTP"` }
PIN represents a user's PIN information
type PostVisitSurvey ¶
type PostVisitSurvey struct { LikelyToRecommend int `json:"likelyToRecommend" firestore:"likelyToRecommend"` Criticism string `json:"criticism" firestore:"criticism"` Suggestions string `json:"suggestions" firestore:"suggestions"` UID string `json:"uid" firestore:"uid"` Timestamp time.Time `json:"timestamp" firestore:"timestamp"` }
PostVisitSurvey is used to record and retrieve post visit surveys from Firebase
type PractitionerCadre ¶
type PractitionerCadre string
PractitionerCadre is a list of health worker cadres.
const ( PractitionerCadreDoctor PractitionerCadre = "DOCTOR" PractitionerCadreClinicalOfficer PractitionerCadre = "CLINICAL_OFFICER" PractitionerCadreNurse PractitionerCadre = "NURSE" )
practitioner cadre constants
func (PractitionerCadre) IsValid ¶
func (e PractitionerCadre) IsValid() bool
IsValid returns true if a practitioner cadre is valid
func (PractitionerCadre) MarshalGQL ¶
func (e PractitionerCadre) MarshalGQL(w io.Writer)
MarshalGQL writes the practitioner cadre to the supplied writer
func (PractitionerCadre) String ¶
func (e PractitionerCadre) String() string
func (*PractitionerCadre) UnmarshalGQL ¶
func (e *PractitionerCadre) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the supplied value to a practitioner cadre
type PractitionerService ¶
type PractitionerService string
PractitionerService defines the various services practitioners offer
const ( PractitionerServiceOutpatientServices PractitionerService = "OUTPATIENT_SERVICES" PractitionerServiceInpatientServices PractitionerService = "INPATIENT_SERVICES" PractitionerServicePharmacy PractitionerService = "PHARMACY" PractitionerServiceMaternity PractitionerService = "MATERNITY" PractitionerServiceLabServices PractitionerService = "LAB_SERVICES" PractitionerServiceOther PractitionerService = "OTHER" )
PractitionerServiceOutpatientServices is a constant of all known practitioner service
func (PractitionerService) IsValid ¶
func (e PractitionerService) IsValid() bool
IsValid returns true for valid practitioner service
func (PractitionerService) MarshalGQL ¶
func (e PractitionerService) MarshalGQL(w io.Writer)
MarshalGQL converts the practitioner service into a valid JSON string
func (PractitionerService) String ¶
func (e PractitionerService) String() string
func (*PractitionerService) UnmarshalGQL ¶
func (e *PractitionerService) UnmarshalGQL(v interface{}) error
UnmarshalGQL converts the input, if valid, into a practitioner service value
type SetPINRequest ¶
SetPINRequest payload to set PIN information
type SupportingDocument ¶
type SupportingDocument struct { SupportingDocumentTitle string `json:"supportingDocumentTitle" mapstructure:"supportingDocumentTitle"` SupportingDocumentDescription string `json:"supportingDocumentDescription" mapstructure:"supportingDocumentDescription"` SupportingDocumentUpload string `json:"supportingDocumentUpload" mapstructure:"supportingDocumentUpload"` }
SupportingDocument used to add more documents when
type ThinAddress ¶
ThinAddress represents an addresses lat-long
type USSDLeadDetails ¶
type USSDLeadDetails struct { ID string `json:"id" firestore:"id"` Level int `json:"level" firestore:"level"` PhoneNumber string `json:"phoneNumber" firestore:"phoneNumber"` SessionID string `json:"sessionID" firestore:"sessionID"` FirstName string `json:"firstName" firestore:"firstName"` LastName string `json:"lastName" firestore:"lastName"` DateOfBirth scalarutils.Date `json:"dob" firestore:"dob"` IsRegistered bool `json:"isRegistered" firestore:"isRegistered"` ContactChannel string `json:"contactChannel" firestore:"contactChannel"` WantCover bool `json:"wantCover" firestore:"wantCover"` PIN string `json:"pin" firestore:"pin"` }
USSDLeadDetails represents ussd user session details
type UserAddresses ¶
type UserAddresses struct { HomeAddress ThinAddress `json:"homeAddress"` WorkAddress ThinAddress `json:"workAddress"` }
UserAddresses represents a user's home and work addresses