Artifact2

Report artifacts from PI Web

Artifact Definition

FOTO defines an artifact as the metadata associated with an episode

SOAP method

SOAP Discovery

SOAP 1.1
    http://devs.patient-inquiry.com/artifact2/soap?wsdl
SOAP 1.2
    http://devs.patient-inquiry.com/artifact2/soap12?wsdl

APIEpisodeArtifact2[] GetCollection()

Gets a summary of the available reports in the last 30 days

APIEpisodeArtifact2[] GetCollectionSinceDate(string changesSinceDate)

Gets a summary of the available reports since the specified date

APIEpisodeArtifact2[] GetCollectionByEpisode(string externalId)

Gets a summary of available documents for the provided external episode Id

REST Method

Resource URLs

REST XML
    http://devs.patient-inquiry.com/artifact2/ 
REST json
    http://devs.patient-inquiry.com/artifact2/json/ 

GET

Gets a summary of available documents in the last 30 days or an optionally specified date

Parameter: Optional - changesSinceDate[]
Response: APIEpisodeArtifact2[]

Example Request: GET http://devs.patient-inquiry.com/artifact2/?Api-Key=a8e09fcb-76d4-4912-be4c-6ed3bcd1e93a
Example Request with Date: GET http://devs.patient-inquiry.com/artifact2/2013-01-31?Api-Key=a8e09fcb-76d4-4912-be4c-6ed3bcd1e93a

Resource URLs

REST XML
    http://devs.patient-inquiry.com/artifact2/episode 
REST json
    http://devs.patient-inquiry.com/artifact2/json/episode 

GET

Gets a summary of available documents for the provided external episode Id

Parameter: externalId
Response: APIEpisodeArtifact2[]

Example Request: GET http://devs.patient-inquiry.com/artifact2/episode/TestAPI?Api-Key=a8e09fcb-76d4-4912-be4c-6ed3bcd1e93a

Supporting Objects and Structures (order matters when using XML)

  public class APIEpisodeArtifact2
  {
    public int EpisodeId;
    public string ExternalEpisodeId;
    public List<FunctionalAssessment2> FunctionalAssessments;
    public PatientReported[] PatientReportedItems;
    public List<PQRSClaimsReportingCode2> PQRSClaimsReportingCodes;
    public int ReportId;
    public PatientReportType ReportType;
    public List<RiskAdjustedCriteria> RiskAdjustedItems;
    public DateTime SurveyDateTimeCompleted;
    public DateTime SurveyDateTimeStarted;
    public int Visit;
  }
  public class FunctionalAssessment2
  {
    public List<CMSFunctionalLimitation> CMSFunctionalLimitations;
    public string Descriptor;
    public List<FunctionalScoreSummary> FunctionalScoreSummaries;
    public ChangeSummary PredictedChangeSummary;
    public int MCII;
    public int MDC;
    public PatientResponse[] PatientResponses;
    public AssessmentAttribute[] AssessmentAttributes;
    public int RiskAdjustedStatisticalFOTO;
    public Staging StagingInfo;
  }
  public class FunctionalScoreSummary
  {
    public int FunctionalLimitation;
    public int FunctionalScore;
    public string Label;
    public CMSModifier Modifier;
    public PatientReportType ScoreType;
  }
  public class CMSModifier
  {
    public string Descriptior;
    public int Id;
    public int LowerBound;
    public string Modifier;
    public int UpperBound;
  }
  public class CMSFunctionalLimitation
  {
    public int AskedCurrent;
    public int AskedDischarge;
    public string Descriptor;
    public string GcodeCurrent;
    public string GcodeDischarge;
    public string GcodeGoal;
    public int Id;
    public string ShortDescriptor;
    public char Type;
  }
  public class ChangeSummary
  {
    public int PredictedChange;
    public int FunctionalLimitationGoal;
    public int FunctionalScoreGoal;
    public CMSModifier Modifier;
  }
  public class AssessmentAttribute
  {
    public string Attribute;
    public string Value;
    public string Type;
  }
  public class PQRSClaimsReportingCode2
  {
    public string Code;
    public string LongDescription;
    public string Modifier;
    public PQRSItem PQRSIttems;
    public string ShortDescription;
  }
  public class PQRSItem
  {
    public string Code;
    public string Description;
  }
  public class PatientReported
  {
    public string Attribute;
    public string Survey;
    public string Type;
    public string Value;
  }
  public enum PatientReportType
  {
    Intake,
    Status,
    Discharge,
    NonParticipation,
    ADLIntake,
    ADLStatus,
    MDT,
    MSIntake,
    MSStatus
  }
  public class RiskAdjustedCriteria
  {
    public string Attribute;
    public string Type;
    public string Value;
  }
  public class Staging
  {
    public FunctionalStage CurrentStage;
    public List<StagingFunctionalityPrediction> FunctionalityPredictions;
    public FunctionalStage IntakeStage;
    public FunctionalStage PredictedStage;
    public FunctionalStage RiskAdjustedStage;
    public List<StagingLevel> StagingLevels;
  }
  public class FunctionalStage
  {
    public string Description;
    public int Measure;
    public string PatientFunctionText;
    public int Stage;
    public string Title;
  }
      public class StagingLevel
  {
    public int Stage;
    public string Title;
  }
  public class StagingFunctionalityPrediction
  {
    public string Answer;
    public string Question;
  }

Objects Modeled with Relationships

APIEpisodeArtifact Diagram

Structures Explained

The image below is a piece of a patient report. The colored text is markup that indicates how and where the APIEpisodeArtifact data elements are used.

Labeled report section

In order to see this report segment in context please download the full report.

Download Sample Report