domain

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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"
)

AllBeneficiaryRelationship is a list of all known beneficiary relationships

AllEmploymentType ..

AllFivePointRating is a list of all known ratings

AllKYCProcessStatus ...

AllOrganizationType contains a slice of all OrganizationType

AllPractitionerCadre is the set of known valid practitioner cadres

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) IsValid

func (e EmploymentType) IsValid() bool

IsValid ..

func (EmploymentType) MarshalGQL

func (e EmploymentType) MarshalGQL(w io.Writer)

MarshalGQL ..

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

type SetPINRequest struct {
	PhoneNumber string `json:"phoneNumber"`
	PIN         string `json:"pin"`
}

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

type ThinAddress struct {
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`
}

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL