dto

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Allergy added in v1.0.0

type Allergy struct {
	ID                string               `json:"ID"`
	PatientID         string               `json:"patientID"`
	Code              string               `json:"code"`
	Name              string               `json:"name"`
	System            string               `json:"system"`
	TerminologySource TerminologySource    `json:"terminologySource"`
	OnsetDateTime     scalarutils.DateTime `json:"onsetDateTime,omitempty"`
	EncounterID       string               `json:"encounterID"`
	Reaction          Reaction             `json:"reaction"`
}

Allergy represents an allergy containing minimal FHIR resources

type AllergyConnection added in v1.0.0

type AllergyConnection struct {
	TotalCount int
	Edges      []AllergyEdge
	PageInfo   PageInfo
}

AllergyConnection is an Allergy Connection Type

func CreateAllergyConnection added in v1.0.0

func CreateAllergyConnection(allergies []*Allergy, pageInfo PageInfo, total int) AllergyConnection

CreateAllergyConnection creates a connection that follows the GraphQl Cursor Connection Specification

type AllergyEdge added in v1.0.0

type AllergyEdge struct {
	Node   Allergy
	Cursor string
}

AllergyEdge is an allergy edge

type AllergyInput added in v1.0.0

type AllergyInput struct {
	PatientID         string            `json:"patientID"`
	Code              string            `json:"code" validate:"required"`
	TerminologySource TerminologySource `json:"terminologySource" validate:"required"`
	EncounterID       string            `json:"encounterID" validate:"required,uuid4"`
	Reaction          *ReactionInput    `json:"reaction"`
}

AllergyInput models the allergy input

func (AllergyInput) Validate added in v1.0.0

func (o AllergyInput) Validate() error

Validate ensures the input is valid

type AllergyIntoleranceReactionSeverityEnum added in v1.0.0

type AllergyIntoleranceReactionSeverityEnum string
const (
	AllergyIntoleranceReactionSeverityEnumMild     AllergyIntoleranceReactionSeverityEnum = "MILD"
	AllergyIntoleranceReactionSeverityEnumModerate AllergyIntoleranceReactionSeverityEnum = "MODERATE"
	AllergyIntoleranceReactionSeverityEnumSevere   AllergyIntoleranceReactionSeverityEnum = "SEVERE"
)

type AllergyReaction added in v1.0.0

type AllergyReaction struct {
	Name      string  `json:"name"`
	ConceptID *string `json:"conceptID"`
}

AllergyReaction ...

type AllergySeverity added in v1.0.0

type AllergySeverity struct {
	Name      string  `json:"name"`
	ConceptID *string `json:"conceptID"`
}

AllergySeverity ...

type Composition added in v1.0.0

type Composition struct {
	ID          string                `json:"id,omitempty"`
	Text        string                `json:"text,omitempty"`
	Type        CompositionType       `json:"type,omitempty"`
	Category    CompositionCategory   `json:"category,omitempty"`
	Status      CompositionStatusEnum `json:"status,omitempty"`
	PatientID   string                `json:"patientID,omitempty"`
	EncounterID string                `json:"encounterID,omitempty"`
	Date        *scalarutils.Date     `json:"date"`
	Author      string                `json:"author,omitempty"`
	Section     []*Section            `json:"section"`
}

Composition is a minimal representation of a fhir Composition

type CompositionCategory added in v1.0.0

type CompositionCategory string

CompositionCategory enum represents category composition attribute

const (
	AssessmentAndPlan          CompositionCategory = "ASSESSMENT_PLAN"
	HistoryOfPresentingIllness CompositionCategory = "HISTORY_OF_PRESENTING_ILLNESS"
	SocialHistory              CompositionCategory = "SOCIAL_HISTORY"
	FamilyHistory              CompositionCategory = "FAMILY_HISTORY"
	Examination                CompositionCategory = "EXAMINATION"
	PlanOfCare                 CompositionCategory = "PLAN_OF_CARE"
)

type CompositionConnection added in v1.0.0

type CompositionConnection struct {
	TotalCount int
	Edges      []CompositionEdge
	PageInfo   PageInfo
}

CompositionConnection is a Composition Connection Type

func CreateCompositionConnection added in v1.0.0

func CreateCompositionConnection(compositions []Composition, pageInfo PageInfo, total int) CompositionConnection

CreateCompositionConnection creates a connection that follows the GraphQl Cursor Connection Specification

type CompositionEdge added in v1.0.0

type CompositionEdge struct {
	Node   Composition
	Cursor string
}

CompositionEdge is a composition edge

type CompositionInput added in v1.0.0

type CompositionInput struct {
	EncounterID string                `json:"encounterID"`
	Type        CompositionType       `json:"type"`
	Category    CompositionCategory   `json:"category"`
	Status      CompositionStatusEnum `json:"status"`
	Note        string                `json:"note"`
}

CompositionInput models the composition input

type CompositionStatusEnum added in v1.0.0

type CompositionStatusEnum string

CompositionStatus enum represents status composition attribute

const (
	CompositionStatuEnumPreliminary               CompositionStatusEnum = "PRELIMINARY"
	CompositionStatuEnumFinal                     CompositionStatusEnum = "FINAL"
	CompositionStatuEnumAmended                   CompositionStatusEnum = "AMENDED"
	CompositionStatuEnumEnteredInErrorPreliminary CompositionStatusEnum = "ENTERED_IN_ERROR"
)

type CompositionType added in v1.0.0

type CompositionType string

Type enum represents type composition attribute

const (
	ProgressNote CompositionType = "PROGRESS_NOTE"
)

type Condition added in v1.0.0

type Condition struct {
	ID     string          `json:"id"`
	Status ConditionStatus `json:"status"`
	Name   string          `json:"condition"`
	Code   string          `json:"code"`
	System string          `json:"system"`

	Category ConditionCategory `json:"category"`

	OnsetDate    *scalarutils.Date `json:"onsetDate"`
	RecordedDate *scalarutils.Date `json:"recordedDate"`

	Note string `json:"note"`

	PatientID   string `json:"patientID"`
	EncounterID string `json:"encounterID"`
}

Condition represents a FHIR condition

type ConditionCategory added in v1.0.0

type ConditionCategory string

ConditionCategory represents status of a FHIR condition

const (
	ConditionCategoryProblemList ConditionCategory = "PROBLEM_LIST_ITEM"
	ConditionCategoryDiagnosis   ConditionCategory = "ENCOUNTER_DIAGNOSIS"
)

type ConditionConnection added in v1.0.0

type ConditionConnection struct {
	TotalCount int
	Edges      []ConditionEdge
	PageInfo   PageInfo
}

ConditionConnection is a Condition Connection Type

func CreateConditionConnection added in v1.0.0

func CreateConditionConnection(conditions []Condition, pageInfo PageInfo, total int) ConditionConnection

CreateConditionConnection creates a connection that follows the GraphQl Cursor Connection Specification

type ConditionEdge added in v1.0.0

type ConditionEdge struct {
	Node   Condition
	Cursor string
}

ConditionEdge is a condition edge

type ConditionInput added in v1.0.0

type ConditionInput struct {
	Code        string            `json:"condition"`
	System      TerminologySource `json:"system"`
	Status      ConditionStatus   `json:"status"`
	Category    ConditionCategory `json:"category"`
	EncounterID string            `json:"encounterID"`
	Note        string            `json:"note"`
	OnsetDate   *scalarutils.Date `json:"onsetDate"`
}

ConditionInput represents input for creating a FHIR condition

type ConditionStatus added in v1.0.0

type ConditionStatus string

ConditionStatus represents status of a FHIR condition

const (
	ConditionStatusActive   ConditionStatus = "ACTIVE"
	ConditionStatusInactive ConditionStatus = "INACTIVE"
	ConditionStatusResolved ConditionStatus = "RESOLVED"
	ConditionStatusUnknown  ConditionStatus = "UNKNOWN"
)

type ContactInput added in v1.0.0

type ContactInput struct {
	Type  ContactType `json:"type"`
	Value string      `json:"value"`
}

type ContactType added in v1.0.0

type ContactType string
const (
	ContactTypePhoneNumber ContactType = "PHONE_NUMBER"
)

type Encounter added in v1.0.0

type Encounter struct {
	ID              string              `json:"id,omitempty"`
	Status          EncounterStatusEnum `json:"status,omitempty"`
	Class           EncounterClass      `json:"class,omitempty"`
	PatientID       string              `json:"patientID,omitempty"`
	EpisodeOfCareID string              `json:"episodeOfCareID,omitempty"`
}

Encounter definition: an interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.

type EncounterClass added in v1.0.0

type EncounterClass string
const (
	// Also referred to as outpatient - For now we'll start with outpatient only
	EncounterClassAmbulatory EncounterClass = "AMBULATORY"
)

type EncounterConnection added in v1.0.0

type EncounterConnection struct {
	TotalCount int
	Edges      []EncounterEdge
	PageInfo   PageInfo
}

EncounterConnection is the encounter connection type

func CreateEncounterConnection added in v1.0.0

func CreateEncounterConnection(encounters []*Encounter, pageInfo PageInfo, total int) EncounterConnection

CreateEncounterConnection creates a connection that follows the GraphQl Cursor Connection Specification

type EncounterEdge added in v1.0.0

type EncounterEdge struct {
	Node   Encounter
	Cursor string
}

EncounterEdge is an patient encounter edge

type EncounterInput added in v1.0.0

type EncounterInput struct {
	Status EncounterStatusEnum `json:"status"`
}

type EncounterStatusEnum added in v1.0.0

type EncounterStatusEnum string

EncounterStatusEnum is a FHIR enum

const (
	// EncounterStatusEnumPlanned ...
	EncounterStatusEnumPlanned EncounterStatusEnum = "PLANNED"
	// EncounterStatusEnumArrived ...
	EncounterStatusEnumArrived EncounterStatusEnum = "ARRIVED"
	// EncounterStatusEnumTriaged ...
	EncounterStatusEnumTriaged EncounterStatusEnum = "TRIAGED"
	// EncounterStatusEnumInProgress ...
	EncounterStatusEnumInProgress EncounterStatusEnum = "IN_PROGRESS"
	// EncounterStatusEnumFinished ...
	EncounterStatusEnumFinished EncounterStatusEnum = "FINISHED"
	// EncounterStatusEnumCancelled ...
	EncounterStatusEnumCancelled EncounterStatusEnum = "CANCELLED"
)

type EpisodeOfCare added in v1.0.0

type EpisodeOfCare struct {
	ID        string                  `json:"id"`
	Status    EpisodeOfCareStatusEnum `json:"status"`
	PatientID string                  `json:"patientID"`
}

type EpisodeOfCareInput added in v1.0.0

type EpisodeOfCareInput struct {
	Status    EpisodeOfCareStatusEnum `json:"status"`
	PatientID string                  `json:"patientID"`
}

type EpisodeOfCareStatusEnum added in v1.0.0

type EpisodeOfCareStatusEnum string
const (
	EpisodeOfCareStatusEnumPlanned        EpisodeOfCareStatusEnum = "PLANNED"
	EpisodeOfCareStatusEnumActive         EpisodeOfCareStatusEnum = "ACTIVE"
	EpisodeOfCareStatusEnumFinished       EpisodeOfCareStatusEnum = "FINISHED"
	EpisodeOfCareStatusEnumCancelled      EpisodeOfCareStatusEnum = "CANCELLED"
	EpisodeOfCareStatusEnumEnteredInError EpisodeOfCareStatusEnum = "ENTERED_IN_ERROR"
)

type ErrorDetails added in v1.0.0

type ErrorDetails struct {
	Text string `json:"text"`
}

ErrorDetails contains more details about the error that occurred while making a REST API call to FHIR servers

type ErrorIssue added in v1.0.0

type ErrorIssue struct {
	Details     ErrorDetails `json:"details"`
	Diagnostics string       `json:"diagnostics"`
}

ErrorIssue models the error issue returned from FHIR

type ErrorResponse added in v1.0.0

type ErrorResponse struct {
	Issue []ErrorIssue `json:"issue"`
}

ErrorResponse models the json object returned when an error occurs while calling the FHIR server REST APIs

type FacilityPubSubMessage added in v1.0.0

type FacilityPubSubMessage struct {
	ID          *string `json:"id"`
	Name        string  `json:"name"`
	Code        int     `json:"code"`
	Phone       string  `json:"phone"`
	Active      bool    `json:"active"`
	County      string  `json:"county"`
	Description string  `json:"description"`
}

FacilityPubSubMessage models the details of healthcare facilities that are on myCareHub platform. This will be used to create a FHIR organization

type Gender added in v1.0.0

type Gender string

Gender is a FHIR enum

const (
	// GenderMale ...
	GenderMale Gender = "male"
	// GenderFemale ...
	GenderFemale Gender = "female"
	// GenderOther ...
	GenderOther Gender = "other"
)

type HealthTimeline added in v1.0.0

type HealthTimeline struct {
	Timeline   []TimelineResource `json:"timeline"`
	TotalCount int                `json:"totalCount"`
}

HealthTimeline represents a health timeline containing various FHIR resources

type HealthTimelineInput added in v1.0.0

type HealthTimelineInput struct {
	PatientID string `json:"patientID"`
	Offset    int    `json:"offset"`
	Limit     int    `json:"limit"`
}

HealthTimelineInput is the input for fetching a patient's health timeline

type IdentifierInput added in v1.0.0

type IdentifierInput struct {
	Type  IdentifierType `json:"type"`
	Value string         `json:"value"`
}

type IdentifierType added in v1.0.0

type IdentifierType string
const (
	IdentifierTypeNationalID IdentifierType = "NATIONAL_ID"
	IdentifierTypePassport   IdentifierType = "PASSPORT"
	IdentifierTypeAlienID    IdentifierType = "ALIEN_ID"
	IdentifierTypeCCCNumber  IdentifierType = "CCC_NUMBER"
)

type LOINCCodes added in v1.0.0

type LOINCCodes string

LOINCCodes represents LOINC assessment codes

const (
	LOINCPlanOfCareCode     LOINCCodes = "18776-5"
	LOINCAssessmentPlanCode LOINCCodes = "51847-2"
)

type Media added in v1.0.0

type Media struct {
	ID          string `json:"id,omitempty"`
	PatientID   string `json:"patientID,omitempty"`
	PatientName string `json:"patientName,omitempty"`
	URL         string `json:"url,omitempty"`
	Name        string `json:"name,omitempty"`
	ContentType string `json:"contentType,omitempty"`
}

Media is the output to show the results of the created media resource item

type MediaConnection added in v1.0.0

type MediaConnection struct {
	TotalCount int         `json:"totalCount,omitempty"`
	Edges      []MediaEdge `json:"edges,omitempty"`
	PageInfo   PageInfo    `json:"pageInfo,omitempty"`
}

MediaConnection is a media connection

func CreateMediaConnection added in v1.0.0

func CreateMediaConnection(mediaList []*Media, pageInfo PageInfo, total int) MediaConnection

CreateMediaConnection creates a connection that follows the GraphQl Cursor Connection Specification

type MediaEdge added in v1.0.0

type MediaEdge struct {
	Node   Media  `json:"node,omitempty"`
	Cursor string `json:"cursor,omitempty"`
}

MediaEdge is an media connection edge

type MediaInput added in v1.0.0

type MediaInput struct {
	EncounterID string                             `json:"encounterID"`
	File        map[string][]*multipart.FileHeader `form:"file" json:"file"`
}

MediaInput models the dataclass to upload media to FHIR

type MedicalData added in v1.0.0

type MedicalData struct {
	Regimen   []*MedicationStatement
	Allergies []*Allergy
	Weight    []*Observation
	BMI       []*Observation
	ViralLoad []*Observation
	CD4Count  []*Observation
}

MedicalData is a minimal representation of a fhir MedicalData

type Medication added in v1.0.0

type Medication struct {
	Name string `json:"name"`
	Code string `json:"code"`
}

Medication is a minimal representation of a fhir Medication

type MedicationDrug added in v1.0.0

type MedicationDrug struct {
	ConceptID *string `json:"conceptId"`
}

MedicationDrug ...

type MedicationPubSubMessage added in v1.0.0

type MedicationPubSubMessage struct {
	Name      string          `json:"medication"`
	ConceptID *string         `json:"conceptId"`
	Date      time.Time       `json:"date"`
	Value     string          `json:"value"`
	Drug      *MedicationDrug `json:"drug"`

	PatientID string `json:"patientID"`

	OrganizationID string `json:"organizationID"`
	FacilityID     string `json:"facilityID"`
}

MedicationPubSubMessage contains details for medication that a patient/client is prescribed or using

type MedicationStatement added in v1.0.0

type MedicationStatement struct {
	ID         string                        `json:"id"`
	Status     MedicationStatementStatusEnum `json:"status"`
	Medication Medication                    `json:"medication"`
	PatientID  string                        `json:"patientID"`
}

MedicationStatement is a minimal representation of a fhir MedicationStatement

type MedicationStatementStatusEnum added in v1.0.0

type MedicationStatementStatusEnum string
const (
	MedicationStatementStatusEnumActive     MedicationStatementStatusEnum = "ACTIVE"
	MedicationStatementStatusEnumInActive   MedicationStatementStatusEnum = "INACTIVE"
	MedicationStatementStatusEnumUnknown    MedicationStatementStatusEnum = "UNKNOWN"
	MedicationStatementStatusEnumRecurrence MedicationStatementStatusEnum = "RECURRENCE"
	MedicationStatementStatusEnumRelapse    MedicationStatementStatusEnum = "RELAPSE"
	MedicationStatementStatusEnumRemission  MedicationStatementStatusEnum = "REMISSSION"
)

type Observation added in v1.0.0

type Observation struct {
	ID           string            `json:"id,omitempty"`
	Name         string            `json:"name,omitempty"`
	Value        string            `json:"value,omitempty"`
	Status       ObservationStatus `json:"status,omitempty"`
	PatientID    string            `json:"patientID,omitempty"`
	EncounterID  string            `json:"encounterID,omitempty"`
	TimeRecorded string            `json:"timeRecorded,omitempty"`
}

Observation is a minimal representation of a fhir Observation

type ObservationConnection added in v1.0.0

type ObservationConnection struct {
	TotalCount int
	Edges      []ObservationEdge
	PageInfo   PageInfo
}

ObservationConnection is an Observation Connection Type

func CreateObservationConnection added in v1.0.0

func CreateObservationConnection(observations []*Observation, pageInfo PageInfo, total int) ObservationConnection

CreateObservationConnection creates a connection that follows the GraphQl Cursor Connection Specification

type ObservationEdge added in v1.0.0

type ObservationEdge struct {
	Node   Observation
	Cursor string
}

ObservationEdge is an observation edge

type ObservationInput added in v1.0.0

type ObservationInput struct {
	Status      ObservationStatus `json:"status,omitempty" validate:"required"`
	EncounterID string            `json:"encounterID,omitempty" validate:"required"`
	Value       string            `json:"value,omitempty" validate:"required"`
}

ObservationInput models the observation input

func (ObservationInput) Validate added in v1.0.0

func (o ObservationInput) Validate() error

type ObservationStatus added in v1.0.0

type ObservationStatus string
const (
	ObservationStatusFinal     ObservationStatus = "FINAL"
	ObservationStatusCancelled ObservationStatus = "CANCELLED"
)

type Organization added in v1.0.0

type Organization struct {
	ID           string                   `json:"id"`
	Active       bool                     `json:"active"`
	Name         string                   `json:"name"`
	Identifiers  []OrganizationIdentifier `json:"identifiers"`
	PhoneNumbers []string                 `json:"phoneNumbers"`
}

type OrganizationIdentifier added in v1.0.0

type OrganizationIdentifier struct {
	Type  OrganizationIdentifierType `json:"type,omitempty"`
	Value string                     `json:"value,omitempty"`
}

type OrganizationIdentifierType added in v1.0.0

type OrganizationIdentifierType string
const (
	SladeCode OrganizationIdentifierType = "SladeCode"
	MFLCode   OrganizationIdentifierType = "MFLCode"
	ProgramID OrganizationIdentifierType = "MCHProgram"
	Other     OrganizationIdentifierType = "Other"
)

type OrganizationInput added in v1.0.0

type OrganizationInput struct {
	Name        string                   `json:"name,omitempty"`
	PhoneNumber string                   `json:"phoneNumber,omitempty"`
	Identifiers []OrganizationIdentifier `json:"identifiers,omitempty"`
}

type PageInfo added in v1.0.0

type PageInfo struct {
	// Forward pagination
	HasNextPage bool
	EndCursor   *string

	// Backward pagination
	HasPreviousPage bool
	StartCursor     *string
}

PageInfo is used to add pagination information to Relay edges.

type Pagination added in v1.0.0

type Pagination struct {
	// Forward pagination arguments
	First *int   `json:"first"`
	After string `json:"after"`

	// Backward pagination arguments
	Last   *int   `json:"last"`
	Before string `json:"before"`

	// A flag to indicate whether to ignore the pagination parameters
	// i.e the implementer will not perform/do pagination if this flag is true
	Skip bool `json:"skip"`
}

Pagination represents paging parameters

func (*Pagination) Validate added in v1.0.0

func (p *Pagination) Validate() error

type PatchCompositionInput added in v1.0.0

type PatchCompositionInput struct {
	Type     CompositionType       `json:"type"`
	Category CompositionCategory   `json:"category"`
	Status   CompositionStatusEnum `json:"status"`
	Note     string                `json:"note"`
	Section  []*SectionInput       `json:"section"`
}

PatchCompositionInput models the patch composition input

type Patient added in v1.0.0

type Patient struct {
	ID          string           `json:"id"`
	Active      bool             `json:"active"`
	Name        string           `json:"name"`
	PhoneNumber []string         `json:"phoneNumber"`
	Gender      Gender           `json:"gender"`
	BirthDate   scalarutils.Date `json:"birthDate"`
}

type PatientAllergyPubSubMessage added in v1.0.0

type PatientAllergyPubSubMessage struct {
	Name      string          `json:"name"`
	ConceptID *string         `json:"conceptID"`
	Date      time.Time       `json:"date"`
	Reaction  AllergyReaction `json:"reaction"`
	Severity  AllergySeverity `json:"severity"`

	PatientID string `json:"patientID"`

	OrganizationID string `json:"organizationID"`
	FacilityID     string `json:"facilityID"`
}

PatientAllergyPubSubMessage contains allergy details for a patient

type PatientInput added in v1.0.0

type PatientInput struct {
	FirstName   string            `json:"firstName"`
	LastName    string            `json:"lastName"`
	OtherNames  *string           `json:"otherNames"`
	BirthDate   *scalarutils.Date `json:"birthDate,omitempty"`
	Gender      Gender            `json:"gender"`
	Identifiers []IdentifierInput `json:"identifiers"`
	Contacts    []ContactInput    `json:"contacts"`
}

type PatientPubSubMessage added in v1.0.0

type PatientPubSubMessage struct {
	UserID      string           `json:"userID"`
	ClientID    string           `json:"clientID"`
	Name        string           `json:"name"`
	DateOfBirth time.Time        `json:"dateOfBirth"`
	Gender      enumutils.Gender `json:"gender"`
	Active      bool             `json:"active"`
	PhoneNumber string           `json:"phoneNumber"`

	OrganizationID string `json:"organizationID"`
	FacilityID     string `json:"facilityID"`
}

PatientPubSubMessage models the payload that is published to the `patient.create` topic

type PatientTestResultPubSubMessage added in v1.0.0

type PatientTestResultPubSubMessage struct {
	Name      string     `json:"name"`
	ConceptID *string    `json:"conceptId"`
	Date      time.Time  `json:"date"`
	Result    TestResult `json:"result"`

	PatientID string `json:"patientID"`

	OrganizationID string `json:"organizationID"`
	FacilityID     string `json:"facilityID"`
}

PatientTestResultPubSubMessage models details that are published to the test results topic

type Reaction added in v1.0.0

type Reaction struct {
	Code     string                                 `json:"code"`
	Name     string                                 `json:"name"`
	System   string                                 `json:"system"`
	Severity AllergyIntoleranceReactionSeverityEnum `json:"severity"`
}

Reaction represents a reaction containing minimal FHIR resources

type ReactionInput added in v1.0.0

type ReactionInput struct {
	Code     string                                 `json:"code"`
	System   string                                 `json:"system"`
	Severity AllergyIntoleranceReactionSeverityEnum `json:"severity"`
}

ReactionInput models the reaction input

type ResourceType added in v1.0.0

type ResourceType string
const (
	ResourceTypeAllergyIntolerance  ResourceType = "AllergyIntolerance"
	ResourceTypeObservation         ResourceType = "Observation"
	ResourceTypeCondition           ResourceType = "Condition"
	ResourceTypeMedicationStatement ResourceType = "MedicationStatement"
)

type Section added in v1.0.0

type Section struct {
	ID      *string    `json:"id,omitempty"`
	Title   *string    `json:"title,omitempty"`
	Code    *string    `json:"code,omitempty"`
	Author  *string    `json:"author,omitempty"`
	Text    string     `json:"text,omitempty"`
	Section []*Section `json:"section,omitempty"`
}

Section defines a composition section output model

type SectionInput added in v1.0.0

type SectionInput struct {
	ID      string          `json:"id,omitempty"`
	Title   string          `json:"title"`
	Code    string          `json:"code"`
	Author  string          `json:"author"`
	Text    string          `json:"text"`
	Section []*SectionInput `json:"section"`
}

SectionInput models the composition section input

type TenantIdentifiers added in v1.0.0

type TenantIdentifiers struct {
	OrganizationID string `json:"organizationID,omitempty"`
	FacilityID     string `json:"facilityID,omitempty"`
}

TenantIdentifiers models the json object used to store some of the tenant identifiers

type Terminology added in v1.0.0

type Terminology struct {
	Code   string            `json:"code"`
	System TerminologySource `json:"system"`
	Name   string            `json:"name"`
}

Terminology models the OCL terminology output

type TerminologyConnection added in v1.0.0

type TerminologyConnection struct {
	TotalCount int               `json:"totalCount,omitempty"`
	Edges      []TerminologyEdge `json:"edges,omitempty"`
	PageInfo   PageInfo          `json:"pageInfo,omitempty"`
}

TerminologyConnection is the terminology connection

type TerminologyEdge added in v1.0.0

type TerminologyEdge struct {
	Node   Terminology
	Cursor string
}

TerminologyEdge is a terminology edge

type TerminologySource added in v1.0.0

type TerminologySource string

TerminologySource represents various concept sources

const (
	TerminologySourceICD10    TerminologySource = "ICD10"
	TerminologySourceCIEL     TerminologySource = "CIEL"
	TerminologySourceSNOMEDCT TerminologySource = "SNOMED_CT"
	TerminologySourceLOINC    TerminologySource = "LOINC"
)

type TestResult added in v1.0.0

type TestResult struct {
	Name      string  `json:"name"`
	ConceptID *string `json:"conceptId"`
}

TestResult ...

type TimelineResource added in v1.0.0

type TimelineResource struct {
	ID           string           `json:"id"`
	ResourceType ResourceType     `json:"resourceType"`
	Name         string           `json:"name"`
	Value        string           `json:"value"`
	Status       string           `json:"status"`
	Date         scalarutils.Date `json:"date"`
	TimeRecorded time.Time        `json:"timeRecorded"`
}

TimelineResource represents a FHIR timeline resources

type UpdateFacilityFHIRID added in v1.0.0

type UpdateFacilityFHIRID struct {
	FacilityID string `json:"facilityID"`
	FhirID     string `json:"fhirOrganisationID"`
}

UpdateFacilityFHIRID represents the data structure used for updating the fhir id field in a facility

type UpdatePatientFHIRID added in v1.0.0

type UpdatePatientFHIRID struct {
	FhirID   string `json:"fhirID"`
	ClientID string `json:"clientID"`
}

UpdatePatientFHIRID represents the data structure used for updating the FHIR ID in a user's profile.

type UpdateProgramFHIRID added in v1.0.0

type UpdateProgramFHIRID struct {
	ProgramID    string `json:"programID"`
	FHIRTenantID string `json:"fhirTenantID"`
}

UpdateProgramFHIRID represents the data structure used for updating the fhir id field in a program

type VitalSignPubSubMessage added in v1.0.0

type VitalSignPubSubMessage struct {
	Name      string    `json:"name"`
	ConceptID *string   `json:"conceptId"`
	Value     string    `json:"value"`
	Date      time.Time `json:"date"`

	PatientID string `json:"patientID"`

	OrganizationID string `json:"organizationID"`
	FacilityID     string `json:"facilityID"`
}

VitalSignPubSubMessage models the details that will be posted to the vitals pub/sub topic

Jump to

Keyboard shortcuts

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