@digitalmedika/satusehat 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,8 @@ SDK ini dirancang untuk:
15
15
  Helper builder yang saat ini tersedia:
16
16
 
17
17
  - `createEncounterBuilder`
18
+ - `createEncounterConditionBuilder`
19
+ - `createEncounterProcedureBuilder`
18
20
  - `createEmergencyEncounterHistory`
19
21
  - `createChestXRayStudyBuilder`
20
22
  - `createCompleteBloodCountPanelBuilder`
@@ -200,6 +202,8 @@ Untuk environment `sandbox`, smoke test akan memakai dummy patient resmi SATUSEH
200
202
  - [DiagnosticReport](./docs/resources/diagnostic-report.md)
201
203
  - [ImagingStudy](./docs/resources/imaging-study.md)
202
204
  - [Encounter Builder](./docs/helpers/encounter-builder.md)
205
+ - [Encounter -> Condition Builder](./docs/helpers/encounter-condition-builder.md)
206
+ - [Encounter -> Procedure Builder](./docs/helpers/encounter-procedure-builder.md)
203
207
  - [Patient](./docs/resources/patient.md)
204
208
  - [Encounter](./docs/resources/encounter.md)
205
209
  - [Procedure](./docs/resources/procedure.md)
@@ -0,0 +1,28 @@
1
+ import type { Reference } from "../schemas/common";
2
+ import type { ConditionCreateInput, ConditionNote } from "../schemas/condition";
3
+ import type { EncounterDiagnosis } from "../schemas/encounter";
4
+ type ConditionMutableInput = Partial<Omit<ConditionCreateInput, "resourceType" | "subject" | "encounter">>;
5
+ export interface EncounterConditionBuilderInput {
6
+ subject: Reference;
7
+ encounter: Reference;
8
+ condition: Pick<ConditionCreateInput, "code"> & ConditionMutableInput;
9
+ }
10
+ export interface EncounterDiagnosisBuildLinks {
11
+ conditionId?: string;
12
+ conditionReference?: Reference;
13
+ use?: EncounterDiagnosis["use"];
14
+ rank?: number;
15
+ }
16
+ export declare class EncounterConditionBuilder {
17
+ private conditionDraft;
18
+ constructor(input: EncounterConditionBuilderInput);
19
+ setSubject(subject: Reference): this;
20
+ setEncounter(encounter: Reference): this;
21
+ mergeCondition(input: ConditionMutableInput): this;
22
+ addCategory(category: NonNullable<ConditionCreateInput["category"]>[number]): this;
23
+ addNote(note: ConditionNote): this;
24
+ buildCondition(): ConditionCreateInput;
25
+ buildEncounterDiagnosis(links?: EncounterDiagnosisBuildLinks): EncounterDiagnosis;
26
+ }
27
+ export declare function createEncounterConditionBuilder(input: EncounterConditionBuilderInput): EncounterConditionBuilder;
28
+ export {};
@@ -0,0 +1,43 @@
1
+ import type { Reference } from "../schemas/common";
2
+ import type { ProcedureCreateInput, ProcedureFocalDevice, ProcedureIdentifier, ProcedureNote, ProcedurePerformer } from "../schemas/procedure";
3
+ type ProcedureMutableInput = Partial<Omit<ProcedureCreateInput, "resourceType" | "subject" | "encounter">>;
4
+ export interface EncounterProcedureBuilderInput {
5
+ subject: Reference;
6
+ encounter: Reference;
7
+ procedure: Pick<ProcedureCreateInput, "status" | "code"> & ProcedureMutableInput;
8
+ }
9
+ export declare class EncounterProcedureBuilder {
10
+ private procedureDraft;
11
+ constructor(input: EncounterProcedureBuilderInput);
12
+ setSubject(subject: Reference): this;
13
+ setEncounter(encounter: Reference): this;
14
+ mergeProcedure(input: ProcedureMutableInput): this;
15
+ addIdentifier(identifier: ProcedureIdentifier): this;
16
+ addBasedOn(reference: Reference): this;
17
+ addPartOf(reference: Reference): this;
18
+ addPerformer(performer: ProcedurePerformer): this;
19
+ addReasonCode(reasonCode: NonNullable<ProcedureCreateInput["reasonCode"]>[number]): this;
20
+ addReasonReference(reference: Reference): this;
21
+ addBodySite(bodySite: NonNullable<ProcedureCreateInput["bodySite"]>[number]): this;
22
+ addReport(reference: Reference): this;
23
+ addComplication(complication: NonNullable<ProcedureCreateInput["complication"]>[number]): this;
24
+ addComplicationDetail(reference: Reference): this;
25
+ addFollowUp(followUp: NonNullable<ProcedureCreateInput["followUp"]>[number]): this;
26
+ addNote(note: ProcedureNote): this;
27
+ addFocalDevice(focalDevice: ProcedureFocalDevice): this;
28
+ addUsedReference(reference: Reference): this;
29
+ addUsedCode(usedCode: NonNullable<ProcedureCreateInput["usedCode"]>[number]): this;
30
+ setStatus(value: ProcedureCreateInput["status"]): this;
31
+ setStatusReason(value: NonNullable<ProcedureCreateInput["statusReason"]>): this;
32
+ setCategory(value: NonNullable<ProcedureCreateInput["category"]>): this;
33
+ setLocation(value: NonNullable<ProcedureCreateInput["location"]>): this;
34
+ setOutcome(value: NonNullable<ProcedureCreateInput["outcome"]>): this;
35
+ setRecorder(value: NonNullable<ProcedureCreateInput["recorder"]>): this;
36
+ setAsserter(value: NonNullable<ProcedureCreateInput["asserter"]>): this;
37
+ setPerformedDateTime(value: NonNullable<ProcedureCreateInput["performedDateTime"]>): this;
38
+ setPerformedPeriod(value: NonNullable<ProcedureCreateInput["performedPeriod"]>): this;
39
+ clearPerformed(): this;
40
+ buildProcedure(): ProcedureCreateInput;
41
+ }
42
+ export declare function createEncounterProcedureBuilder(input: EncounterProcedureBuilderInput): EncounterProcedureBuilder;
43
+ export {};
package/dist/index.d.ts CHANGED
@@ -3,6 +3,8 @@ export { createClientCredentialsTokenProvider } from "./client/auth";
3
3
  export { createFileTokenStore, createMemoryTokenStore, isAccessTokenExpired, } from "./client/token-store";
4
4
  export { OrganizationBuilder, createOrganizationBuilder } from "./builders/organization-builder";
5
5
  export { EncounterBuilder, createEmergencyEncounterHistory, createEncounterHospitalization, createEncounterBuilder, createEncounterLocationServiceClassExtension, withEncounterLocationServiceClass, } from "./builders/encounter-builder";
6
+ export { EncounterConditionBuilder, createEncounterConditionBuilder, } from "./builders/encounter-condition-builder";
7
+ export { EncounterProcedureBuilder, createEncounterProcedureBuilder, } from "./builders/encounter-procedure-builder";
6
8
  export { RiskAssessmentBuilder, createRiskAssessmentBuilder, } from "./builders/risk-assessment-builder";
7
9
  export { createChestXRayStudyBuilder, } from "./builders/chest-xray-study-builder";
8
10
  export { createCompleteBloodCountPanelBuilder, } from "./builders/cbc-panel-builder";
@@ -17,6 +19,8 @@ export type { Composition, CompositionAttester, CompositionAttesterMode, Composi
17
19
  export type { QuestionnaireResponse, QuestionnaireResponseAnswer, QuestionnaireResponseAnswerValue, QuestionnaireResponseCreateInput, QuestionnaireResponseItem, QuestionnaireResponsePatchInput, QuestionnaireResponsePatchOperation, QuestionnaireResponseSearchParams, QuestionnaireResponseSearchResponse, } from "./schemas/questionnaire-response";
18
20
  export type { RiskAssessment, RiskAssessmentCoding, RiskAssessmentCreateInput, RiskAssessmentNote, RiskAssessmentPatchInput, RiskAssessmentPatchOperation, RiskAssessmentPrediction, RiskAssessmentQuantity, RiskAssessmentRange, RiskAssessmentSearchParams, RiskAssessmentSearchResponse, RiskAssessmentStatus, } from "./schemas/risk-assessment";
19
21
  export type { EncounterBuilderInput, EncounterHospitalizationHelperInput, EncounterBuilderPreset, EmergencyEncounterClassStageInput, EmergencyEncounterHistoryInput, EmergencyEncounterHistoryResult, EmergencyEncounterStatusStageInput, } from "./builders/encounter-builder";
22
+ export type { EncounterConditionBuilderInput, EncounterDiagnosisBuildLinks, } from "./builders/encounter-condition-builder";
23
+ export type { EncounterProcedureBuilderInput, } from "./builders/encounter-procedure-builder";
20
24
  export type { RiskAssessmentBuilderInput, } from "./builders/risk-assessment-builder";
21
25
  export type { ChestXRayStudyBuilderInput, } from "./builders/chest-xray-study-builder";
22
26
  export type { DiagnosticReportBuildLinks, ObservationBuildLinks, ServiceRequestBuildLinks, ServiceRequestSpecimenObservationBuilderInput, } from "./builders/service-request-specimen-observation-builder";
package/dist/index.js CHANGED
@@ -13,8 +13,10 @@ export {
13
13
  createMemoryTokenStore,
14
14
  createLaboratoryPanelBuilder,
15
15
  createFileTokenStore,
16
+ createEncounterProcedureBuilder,
16
17
  createEncounterLocationServiceClassExtension,
17
18
  createEncounterHospitalization,
19
+ createEncounterConditionBuilder,
18
20
  createEncounterBuilder,
19
21
  createEmergencyEncounterHistory,
20
22
  createCompleteBloodCountPanelBuilder,
@@ -29,5 +31,7 @@ export {
29
31
  RiskAssessmentBuilder,
30
32
  OrganizationBuilder,
31
33
  LaboratoryPanelBuilder,
34
+ EncounterProcedureBuilder,
35
+ EncounterConditionBuilder,
32
36
  EncounterBuilder
33
37
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitalmedika/satusehat",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Type-safe TypeScript wrapper for SATUSEHAT API.",
5
5
  "author": "Digital Medika",
6
6
  "type": "module",