UNPKG

gcp-nrces-fhir

Version:

Google cloud healthcare api NRCES FHIR implimenataion

149 lines 4.51 kB
import { ATTACHMENT, CODEABLE_CONCEPT, EXTENSION, MULTI_RESOURCE, PERIOD, REFERENCE } from "../config"; import { ResourceMaster } from "../Interfaces"; import ResourceMain from "./ResourceMai"; interface BasedOn extends MULTI_RESOURCE { resource: "CarePlan" | "DeviceRequest" | "ImmunizationRecommendation" | "NutritionOrder" | "ServiceRequest" | "MedicationRequest"; } interface PartOf extends MULTI_RESOURCE { resource: "MedicationAdministration" | "MedicationDispense" | "MedicationStatement" | "Procedure" | "Immunization" | "ImagingStudy"; } declare const statusArray: readonly ["registered", "preliminary", "final", "amended"]; declare type status = typeof statusArray[number]; export interface Performer extends MULTI_RESOURCE { resource: "CareTeam" | "RelatedPerson" | "Practitioner" | "Organization" | "PractitionerRole" | "Patient"; } export interface HasMember extends MULTI_RESOURCE { resource: "Observation" | "QuestionnaireResponse" | "MolecularSequence"; } export interface SAMPLE_QUANTITY { value: number; unit?: string; system?: "http://unitsofmeasure.org"; code?: string; } export interface QUANTITY extends Partial<SAMPLE_QUANTITY> { comparator?: "<" | "<=" | ">=" | ">"; } export interface RANGE { low: SAMPLE_QUANTITY; high: SAMPLE_QUANTITY; } export interface RATIO { numerator: QUANTITY; denominator: QUANTITY; } export interface SAMPLE_DATA { origin: SAMPLE_QUANTITY; period: number; factor: number; lowerLimit: number; upperLimit: number; dimensions: number; data?: string; } export interface VALUE { valueQuantity?: QUANTITY; valueCodeableConcept?: CODEABLE_CONCEPT; valueString?: string; valueBoolean?: boolean; valueInteger?: number; valueRange?: RANGE; valueRatio?: RATIO; valueSampledData?: SAMPLE_DATA; valueTime?: string; valueDateTime?: string; valuePeriod?: PERIOD; valueReference?: REFERENCE; } declare type SingleValue = { valueQuantity: QUANTITY; } | { valueCodeableConcept: CODEABLE_CONCEPT; } | { valueString: string; } | { valueBoolean: boolean; } | { valueInteger: number; } | { valueRange: RANGE; } | { valueRatio: RATIO; } | { valueSampledData: SAMPLE_DATA; } | { valueTime: string; } | { valueDateTime: string; } | { valuePeriod: PERIOD; }; export interface REFERENCE_RANGE { low?: SAMPLE_QUANTITY; high?: SAMPLE_QUANTITY; appliesTo?: CODEABLE_CONCEPT[]; age?: RANGE; text?: string; } export interface SUPPORTING_INFO { sequence: number; category: CODEABLE_CONCEPT; code: CODEABLE_CONCEPT; "valueAttachment"?: ATTACHMENT; "valueReference"?: { "reference": `DocumentReference/${string}`; }; } interface COMPONENT { id?: string; extension?: EXTENSION[]; modifierExtension?: EXTENSION[]; code: CODEABLE_CONCEPT; interpretation?: CODEABLE_CONCEPT[]; valueQuantity?: QUANTITY; valueCodeableConcept?: CODEABLE_CONCEPT; valueString?: string; valueBoolean?: boolean; valueInteger?: number; valueRange?: RANGE; valueRatio?: RATIO; valueSampledData?: SAMPLE_DATA; valueTime?: string; valueDateTime?: string; valuePeriod?: PERIOD; } export interface OBSERVATION { id?: string; basedOn?: BasedOn[]; partOf?: PartOf[]; status: status; code: CODEABLE_CONCEPT; patientId: string; performer?: Performer[]; /** This is used when creating the resource (input) */ value?: VALUE; /** This is used when converting the resource to an object (output) */ valueWithType?: SingleValue; dataAbsentReason?: CODEABLE_CONCEPT; encounterId?: string; referenceRange?: REFERENCE_RANGE[]; hasMember?: HasMember[]; specimenId?: string; text: string; orgPanel?: any; effectiveDateTime?: string; effectivePeriod?: PERIOD; interpretation?: CODEABLE_CONCEPT[]; bodySite?: CODEABLE_CONCEPT; component?: COMPONENT[]; category?: CODEABLE_CONCEPT[]; } export declare class Observation extends ResourceMain implements ResourceMaster { toHtml(): Promise<string>; getFHIR(options: OBSERVATION): any; convertFhirToObject(options: any): OBSERVATION; statusArray(): status[]; bundlify(resource: any): any; } export {}; //# sourceMappingURL=Observation.d.ts.map