gcp-nrces-fhir
Version:
Google cloud healthcare api NRCES FHIR implimenataion
149 lines • 4.51 kB
TypeScript
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